empty text
a nézet beállításainál a basic settings részben van ilyen, hogy "empty text". oda írjad az alapértelmezett info boxot és az argumentum validálásnál mondjad meg, hogy ha nem valid az argumentum, akkor display empty text.
így átalakítva már igen kacifántosnak tűnik, persze hogy mást javasoljak ahhoz a követelményt kéne tudnom. lehetőleg úgy megfogalmazva, hogy a 'node' meg 'view' meg 'cck' meg ilyen szavak egyszer sem szerepelnek benne. :)
csinálhatnád például azt is, hogy a [node-type]_prew nézeteid gondolom egy-egy page megjelenítőt adnak valamilyen útvonalon. na, ezeket én _egy_ nézettel oldanám meg, valahogy úgy, hogy a node:type lenne az argumentum és az útvonal pedig a teasers/% ... tehát pl a story teaserek a 'teasers/story' útvonalon lennének. ha kell, kézzel adok ezeknek álnevet. (az álnév az arg() fgv működését nem befolyásolja ugye)
ezáltal az info_box view argumentum kezelő kódja:
if (arg(0) == 'node' && is_numeric(arg(1))) { $node = node_load(arg(1)); return $node->type; } else if (arg(0) == 'teasers') { return arg(1); } else { return FALSE; }
és nem kell minden oldalbetöltéskor betölteni _minden_ nézetet és az _összesen_ végigiterálni és sztinget vagdosni meg miegymás.. :) (a foreachen beluli iffel meg problemad volt, de minden page loadnal egy views_get_all_views() az nem gond.. raadasul teljesen feleslegesen csinalod, gondold mar el, minden oldalletolteskor betoltesz minden nezetet es mindig vegigiteralsz mindegyik nezet mindegyik displayen, amig meg nem leled a magaded.. inkabb szaz if akkor a foreachembe:)
-
clear: both;
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
a megoldás amit kitaláltál valójában okés
használni kényelmetlen lesz az igaz.
próbáld ki a flexifield modult azzal tudsz elvileg több mezőből "egy mezőt" csinálni klikk-klikk módszerrel. (tulajdonképpen ugyan azt fogja csinálni, mint amin már gondolkodtál, csak használni könnyebb lesz, mintha kézzel építenéd meg és node_referencel hivatkozgatnád egyesével az eseményeket)
http://drupal.org/project/flexifield
-
clear: both;
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Jó helyen keresed.
A mező típusa: szöveg, a felületi elem típusa: szövegdoboz (többsoros)
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Sok böngészőben be lehet
Sok böngészőben be lehet állítani a legkisebb betűméretet, ami alá nem tudsz menni CSS-ben. Nem ez a gondod?
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
Jól látod a CCK modul
Jól látod a CCK modul lényegét, pont erre való. El tudod tünteti a body-t, mégpedig a tartalomtípus beállításánál ott van egy "Beküldési űrlap beállítások" és ott lehet megadni a title és body mező tulajdonságait. Ha a body címét üresen hagyod - ahogy a magyarázatban le is van írva - akkor nem jelenik meg a body field.
Ha csak egy tartalomtípus esetén szeretnéd a modulos módosítást akkor ne a $body_id-t nézd hanem a $form_id paramétert.
if ($form_id == 'tipusneve_node_form') { ...
- A hozzászóláshoz regisztráció és bejelentkezés szükséges
köszönöm
nagyon köszönöm a tutoriált ezen elindulva sikerült amit szerettem volna :)
sajnos nem fogalmaztam 1értelműen szóval 1-2 dolgot még bele kellet raknom, ezeket leírom hátha még kelleni fog valakinek:
az info_box-ba kicsit átírtam a php-t ez csak ilyen egyéni dolog:
nekem így átláthatóbb, és hozzáfűztem 1 mindenhol megjelenést is, illetve nem vizsgál minden ciklusban egy feltételt a kód...
na de jön a view paraméter kódja :)
nekem még voltak view-aim is amiknek a [node-type]_prew volt a neve és ott is meg kellet jelenítenem nem tudom hogy szép-e a megoldás amit csináltam de az egyszerű megoldások sehogy se akartak működni :(
szóval a lényeggel meg is vagyok köszön a segítséget.
Már csak 1 dolog van hátra ha a paraméter alapján nincs találat akkor 1 alapértelmezett info box-ot jelenítsen meg (ez lenne az everywhere), ennek a kérdésemnek nyissak új fórum témát vagy felesleges? remélem rájövök a megoldásra de ha valaki gyorsabb nálam ne habozzon írja meg nyugodtan :)
köszi még egyszer
Péter