terméken belül több termék azon kategóriában

leonidasz képe

Sziasztok!

Hogyan álljak neki ezen feladathoz? Egy termék részletes oldalán meg kellene jelenítenem 3 terméket random módon , amik abba a kategóriába tartoznak. Képpel, címmel és részletek gombbal.

Van erre modul?

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
Laza képe

leonidasz képe

Köszi Bálint!

Similar Terms modullal nagyon jó működik és könnyen módosítható viewsal.
Megjelenik egy blokkban és azt oda lehet rakni ahova akarjuk :)

0
0
leonidasz képe

Nos jó is így, de mindig van vmi ami nehezít.
Így szoktam beszúrni blokkot a page.tpl-be vagy a node.tplb

$block = module_invoke('blockneve', 'block', 'view', id);
print $block['content'];

Ebben az esetben:
admin/build/block/configure/views/similarterms-block_1

Tehát a név: similarterms-block_1
ID: nincs

$block = module_invoke('similarterms-block_1', 'block', 'view');
print $block['content'];

Nem jó :(

$block = module_invoke('similarterms-block_1', 'block', 'view', 0);
print $block['content'];

így sem jó

Nem jelenik meg a blokk :(
Csak akkor kell megjelennie, ha egy termék részletes oldalán vagyok. De nem akkor sem mutatja :(

Rossz a kód, a megközelítés, vagy más hiba lehet?

0
0
Balogh Zoltán képe

Nézd meg, hogy mit hívsz meg, és rögtön rájössz, hogy mi a baj. "similarterms-block_1" modulnak nincs "block" hookja, ellenben a similarterms modulnak van. :)

0
0
leonidasz képe

Ilyet még nem csináltam.
Ezt találtam:
http://drupal.org/node/361982

 $block = module_invoke('similar', 'block', 'view', 'similar-entries'); print $block['content'];

ezt írja, de eztel sem megy.
A similar-entries meg egy másik modul..., pedig ezt a similartermsre írta

0
0
Balogh Zoltán képe

Az látszik az api.d.o-n, hogy az első paraméter a modul neve, a második a hook neve, a többi paraméter pedig átadásra kerül az így kiválasztott függvénynek, ha az létezik.

$block = module_invoke('similarterms', 'block', 'view', 0);
print $block['content']; 

Ebből tehát a module_invoke olyan hívást csinál, hogy: similarterms_block('view', 0); No, hogyha belenézel a similarterms modul forrásába, akkor látod, hogy annak bizony van similarterms_block függvénye, figyeli azt, hogy ha az első paramétere 'view', akkor vissza kell adni a blokk tartalmát, és még a delta értéket is figyeli, mivel egy modul több blokkot is definiálhat.

0
0
leonidasz képe

Nem jelenik meg így sem. Lehet a modul hibája, de végül ezzel a cck-s megoldással sikerült.
modul_invoke-ot használtam már blokk beillesztésre többször is és működött is tökéletesen, de ebben az esetben sajnos nem :(
Köszönöm a segítséged és a tanácsaid!

0
0
leonidasz képe

Nos sikerült :)

viewfield modullal könnyedén megjelenítettem a nézetet, így még tpl-be sem kellett nyúlni.

0
0