Így sem lesz olyan egyszerű,
Így sem lesz olyan egyszerű, bár ötlet még van, azért ezt nézd már még meg légyszi:
2. Add condition: "Content has type = azamit akarsz" ÉS "Content is published = TRUE"
2,5 Add an action Load Content by ID: [node:nid]
Ez vajon meg is jeleníti, vagy csak simán betölti?
3. Add an action: "Tartalom elrejtése".
Másik lehetőség: Használjuk a node többi alapértelmezett tulajdonságát, talán még ez a legésszerűbb + az emlegetett Rules Set
Állítsd a node-ot a node alapértelmezetten Kiemelt és Publikusra!
Létrehozol egy rules setet argumentumként Data type tartalom.
Két rules kell (ezt a létrehozott rules setre kattintva jobb oldali tabon tudod hozzáadni, ezt csak azért írtam, mert sokszor még én is kapodom a fejem), az első:
1. Add condition: "Content has type = azamit akarsz" ÉS "Content is sticky = False"
2. Add an action: "Tartalom elrejtése".
Súlyát állítsd -1-re.
Ezzel a mentés után, mielőtt először jelenik meg a node, akkor ugye nem fog lefutni, mert alapértelmezetten kiemeltként mentettük.
A második:
1. Add condition: "Content has type = azamit akarsz" ÉS "Content is sticky = TRUE"
2. Add an action: "Tartalom nem kiemelté tétele".
Ezzel beállítjuk, hogy az első megjelenés után a Sticky False lesz, tehát a második megjelenés előtt már lefut a Rules set első része, és a tartalom elrejtődik.
A Rules set létrehozása után hozod létre egy szabályt függetlenül a content to be viewedre, és minden feltétel nélkül az add an actionhöz beállítod a rules setet.
Annyira nem bonyolult, mint látszik, de ha így sem működik, tökönszúrom magam! :)
----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
nanáhogy nem
az az id a nézeted nevéből, idjéből, a megjelenítő idjéből és még ki tudja miből áll össze. a gyári cssekben nyilván nincs benne olyan kiválasztó, amit előre nem lehet tudni.
a sminked css -ébe nyugodtan vegyed fel azt a kiválasztót.
mutatok egy példát.
van egy "upcoming events" blokkom, views állítja elő. ezeket az osztályokat pakolja a divbe, amibe a nézet van:
view view-events view-id-events view-display-id-block_2 view-dom-id-3 views-processed
a sminkemben valamelyik cssbe (hogy melyikbe az tőlem függ, én hogyan rendszerezem a saját csseimet) simán felveszem ezt:
.view-id-events.views-display-id-block_2 { background: red none; }
és ettől piros lesz annak megjelenítőnek a háttere.
-
clear: both;
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Drupal modulok használatával.
Ha külön szertnéd beállítani, ki melyik node/menü tartalmát láthatja.
Elöször tehát létrehozol egy felhasználót vagy egy felhasználó csoportot.
Aztán letiltasz minden admin jogot hozzá;) (Ha esetleg nem így lenne)
Ha megvan letöltöd a Privat access modult innen:
http://drupal.org/project/access_private#downloads
Szükséges hozzá a :
Privat modul
http://drupal.org/project/private
és a Universally Unique IDentifier
http://drupal.org/project/uuid
Ha letöltötted, kitömörítés után másold be mindhármat a modulok közé.
./htdocs/modules/private
./htdocs/modules/uuid
./htdocs/modules/access_private
Ha megvan adminiszráció részben a moduloknál a lista alján engedélyezed őket és már meg is lesznek eztán a funkciók.
Ekkor kiválasztod mondjuk a kívánt node-ot. (tartalomnál legördít a szerkesztést)
A beviteli forma után lesz egy jelölő négyzet ezzel a szöveggel:
When checked, only users with proper access permissions will be able to see this post.
(Mikor jelölöd, csak az engedélyezett felhasználók...) (Vagy valami hasonló, ez most nem nyelvtanóra;))
Szóval ha csekkolod a négyzetet egy kis pipával, akkor már csak a belépett felhasználók látják ezután ezt a tartalmat. Például az Admin és a VIP.
Mivel az elején minden admin jogot letiltottál a VIP csak nézegetheti az oldalt, de megjelenek neki olyan tartalmak is, amit itt engedélyeztél.
Na ennél alapabb megoldást nem tudok. Ehhez csak modulok kellenek és azok beállításai.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Nem bizony. Volt, hogy
Nem bizony. Volt, hogy kiadtam a fordítást jogot másnak, a "flag" stringből így lett "Egy embertelen hosszú a flaghez semmi köze" fordítás, meg csupa olyan varázslat, hogy az adminisztrációs menüben sem tudtam, mi micsoda.
1. Devel modul fel.
2. Php kód blokkot dobd ki valahová az oldal aljára.
3. Elmész a szerkesztés oldalra, beleírod a php blokkba: dsm(menu_get_item()) ezzel megkapod az összes olyan adatot, amire szükséged van, lesz legfelül a path, ami ha jól sejtem a user/%/edit, meg nem árt ismerkedni a drupal menüelem felépítésével.
4. Saját háromsoros modulba hook_menu_alter implementálása
MODULKÁM_menu_alter(&$items) { $items['user/%/edit']['title'] = 'Uj angol neve a menunek'; }
5. Menu gyorstár ürítése.
Ha netán referenciaként nem kajálná meg az &$items-t, akkor lehet $items, és a végére return $items, de a dorgon millió kód van, a kulcsszó, hook_menu_alter.
----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Először is:
Én ezek után megnézném, hogy megvan-e az opcióm, amit pityu73 említett, mert az tényleg felasználóbarát megoldás lenne neked (más kérdés, hogy a html felülbírálás (amit írtam) később számtalanszor jelenthet majd hatékony ezközt). Nem ez a lényeg, te választasz.
- Érdekes hogy a tárhelyszolgáltatód nem engedi látni a mappádat a szerveren (biztos ez? (noreply))
- Elméletileg, ha a megfelelő verzió comment.tpl.php-ját szeded le d.orgról és a megfelelő helyre sikerül tenni (ha nem tudod kivenni, hogy fogod tudni betenni???(noreply)), akkor simán működhet. Ahhoz, hogy tuti a megfelelő fájlhoz jussál - és mivel itt core modulról van szó - azt a teljes D6.alverzió telepítőt kell letöltened, amit használsz (mármint a full telepítőt, és abból a neked tutira megfelelő verziójú fájlt fogod tudni kibányászni (ez a verziózás csak ilyen fokozott óvatosság, de jobb a biztonság, hátha pont érintette egy minor upgrade, nem? De.))
- Melyik sorok az érintettek:
- nohát, tessék elmenni a w3schools.com-ra és megnézni, hogy mi az hogy php, meg ugyanott a HTML-t is (írod hogy tanulni akarsz, hát ezzel csak nyerhetsz)
- Csak mert látom, hogy D6-ban a kérdéses rész egyetlen (egyébként elég beszédesnek számító) sor:
<h3><?php print $title ?></h3>
Sok sikert!
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Egy lépéssel előrebb - sokkal hátra
Arra rájöttem menet közben:
hiába adom meg, hogy a tábla collation utf8_hungarian_ci, néhány mező (type, lang) utf8_general_ci lett. Ez csak a squirrel sql client-el tudtam kideríteni. A db-dump-ban mindenütt hungarian_ci van. Rejtély.
Átolvastam a fél mysql docs oldat (utálat vacak a doksi), és rájöttem. Ez az idióta mysql megint nem azt csinálja, mint amit kell. Ha a query-t egy részét átírom, akkor lefut:
A lényeg itt van cast(alias.src as char), vagyis az scr-t ami amugy is CHAR convertálom char típussá (van értelme, úgyamúgy?), akkor ez az idióta mysql, valamiféle kényszerből uft8_general_ci-t fog ráhúzni a konvertált típusra ebben a query-ben. Én nem tettem mást, csak a CAST(n.nid AS CHAR) formájára - ami utf8_general_ci szintén - hoztam az egyenlet második felét, így már össze tudja vetni a két értéket.
Gratulálok.
--
Szabó Dénes - Internode.hu - Munkára fogott weblapok