%nid megszerzése taxonomy/term/%tid oldalon
Hogyan szerezhetem meg a node id-t a saját filter modulomban?
(Ha a node/* oldalon vagyok, akkor az arg(1) remekül kiadja, de ha pl. a taxonomy/term/%tid oldalon akkor nem.)
A kis mese, hogy miért is kell ez az egész:
Cél: a tartalom törzsébe beszúrni egy-egy kiemelt/kapcsolódó gondolatot/verset/idézetet. (Mint a van. -> Igen, kb. sikerült.)
A tartalomhoz létrehoztam egy field_box többszörös több soros szövegmezőt. (Ezekbe lehet beírni a kiemelendő bármiket.)
A törzsbe beírtam, hogy [doboz:id=1] és [doboz:id=1,class=right,style=width:80%]. (Ide szeretném beilleszteni a doboz tartalmát.)
Fogtam a filter példa modult (valamint a linodef modult) és megcsináltam a magam kis modulját. Működik is szépen, de csak a /node/* oldalakon.
(Ennek a funkciónak a visszatérési értéke kerül a [doboz:id=3] helyére.)
if (arg(0) == 'node' && is_numeric(arg(1))) $nid = arg(1); $node = node_load($nid); if($node->field_box[($config['id']-1)]) { $field = module_invoke('content','format','field_box', $node->field_box[($config['id']-1)], 'default', $node); return $field; // ami a [doboz:id=1] helyébe lép } else return ''; // ha nem is sikerül kicserélni, nem hagyjuk a szövegben a [doboz:id=2]-t
Csatolmány | Méret |
---|---|
![]() | 313.35 KB |