Már másodjára jön az igény: Szedjük ki rssből a szerző nevét, ezúttal drupal 7-ben. Először, amikor belenéztem az rss oldal generálás részébe, egyből lemondtam a dologról, gondoltam csak a lent linkelt írás alapján lehet views segítségével kihackelni azt a szerencsétlen authort.
Hát nem! Egy drupal.orgos thread vezetett rá, hogy nézzem meg jobban, és miután xdebuggal lekövettem, hogy mi merre, hogyan zajlik találtam egy hookot, amiben ezt meg lehet valósítani:
Valahogy érzem, hogy jól fog ez még jönni.. Ha node_displays által szeretnél content taxonomy mezőt listázni, akkor kb az alábbi gyári megoldásokból választhatsz: Linkkel, vagy anélkül. Ezeknek valami ilyesmi lesz a kimenete:
Label: term1
term2
term3
Én ilyet akartam:
Mindössze néhány sorral a smink template.php-jében eltüntethetjük az ennyi és ennyi ideje regisztrált (történet) szöveget:
Ahogy a képen is látszik, az ilyen szövegek formázása nem túl egyszerű. Bármikor jól jöhet, hogyha egy címnél például az első 3 karakternek más-más háttér kell, vagy egyéb hasonlóan cudar manővereket pakolt a grafikába a designer.
Ez a kis sminkfüggvény egy modulba, vagy a template.php-be megkönnyíti a munkát, feldarabolja, classolja a létrehozott spanokat, így már lehet célozni css-ben.
Használata, ha mondjuk egy block címét akarjuk felspanolni, akkor a block.tpl.php-ba cseréljük le:
Mai néhány órás kínszenvedésem jegyzete, avagy miként állítsunk be aktív menüpontot olyan page típusú nézethez, amit nem fűztünk fel aktív menüútvonalra. Normál esetben ugye, ha csinálunk egy nézetet nezet1 útvonalra, egy másikat nezet1/nezet2 útvonalra, az active-trail szépen végigszalad az útvonalakon.
De mi van akkor, ha argumentumot használunk, netán olyan menüelem kell aktívnak, aminek semmi köze az adott útvonalhoz?
Már rövid időn belül kétszer is volt hasonló kívánság, levésem gyorsan, hogyan is praktikus.
Szóval a feladat: Van egy hír, vagy egy esemény tartalomtípus. Van galériakezelés is az oldalon, az kvázi most mindegy milyen, a lényeg, hogy a galéria egy node, amire a hír vagy az esemény tartalomtípusban node_reference -szel lehet hivatkozni.
Van ám ezekben a tartalomtípusokban egy vezérkép nevű cck mező, ami a tartalom fő illusztrációja. Tehát a lényeg, hogy a tartalom teljes nézetében ez a kép mutasson a galériára.
A cím elég egyértelmű, lássuk a megoldást.. Kell egy saját modul, aminek a weight értékét nagyobbra kell állítani, hogy a te hookod fusson le utoljára. Elvileg mehet node_preprocessből is, de ha jól emlékszem, ott nem lehet már ezzel játszani.
A kód:
Ez a kis kód segít abban, hogy a blokkba helyezett calendar nézet miatt ne kelljen mindig újra újratölteni az oldalt, ha a naptárban lapoz valaki. A kód akkor fog működni ha nem az eredeti calendar modul által létrehozott nézetet használod (amúgy sem módosítunk bele modul által létrehozott nézetbe), hanem klónozod my_calendar néven, majd az eredetit letiltod.
sajat.js file-ba írandó, majd a sminkben hozzáadandó, lusták a page.tpl.php-be is beszúrhatják.
Egy kimondottan ronda, de működő preprocess, ha ki akarjuk irtani az rss feed ből a szerző nevét. Hála balint87-nek a #drupal.hu csatornán, némileg alippai és DenesSzabo kolléga is közreműködik, azért hogy ez ilyen randa lett, nekem jár a köszönet. :D
Ja, és nem utolsó sorban be kell hozzá kapcsolni a views default frontnézetét, illetve ha a taxonómia oldalon is akarjuk ugyanezt, akkor a taxonomy default nézetet is.
A felhasználókat meg tudja zavarni a beküldés idejéhez beírt 2010-07-08 11:49:42 +0200 dátumformátum. Így alakíthatjuk át hook_form_alterből, kösz Yorknak és a #drupal.hu csatornának a substr tippért, én magamtól először valamilyen regexpes megoldást kerestem. :)