Views Arguments: szűrés taxonomy alapján

spiderman képe

Sziasztok!

Kapcsolódó tartalmak kijelzéséhez a Node Reference modult használom. Szeretném a választható tartalmakat kategóriák alapján szűrni, azaz arra lenne szükségem, hogy csak azokat a nodeokat listázza ki a Node Reference, amelyeknél legalább az egyik kategória egyezik a node valamelyik kategóriájával.
Félig sikerült megcsinálnom a dolgot, de sajnos a jelenlegi kód csak a node utolsó kategóriát veszi figyelembe.

Ez van most beállítva a Views-nál:

Típus: Taxonomy: Term ID/Display All Values/-/-/-/-

A kód:

$nid = arg(1); 
$node=node_load($nid);
$node=node_prepare($node);
foreach ($node->taxonomy as $item)
{
$args[0] = $item->tid;
}
return $args[0];

Próbáltam sokféleképpen átmaszírozni ezt úgy, hogy a kód listát passzoljon át a Viewsnak, de sehogyan sem sikerült. A kérdés tehát az lenne, hogy a fenti sorok helyett mit kellene beillesztenem.

Köszi!

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

Szerintem elég reménytelen vállalkozás a Views modult használni ilyen célra. Related Nodes, Similar by Terms, és még egy pár hasonló speciális modul van erre. (Egyébként nem értem a kérdést, a Node Reference nem listáz semmit, kategória alapján szűrt listákat meg végképp nem készít ;) Itt valami nincs rendben a fogalmakkal.)

0
0
spiderman képe

Pontosítok :)

Nem automatikus megoldásban gondolkodok, hanem olyanban, amelyiket a node feltöltésekor kézzel kell beállítani, ezért a Similar by Terms és hasonlók sajnos kiesnek.

Drupal 5.10, CCK 5.x-1.9 van fent, a CCK saját Node Reference mezőjét használom. A tartalomtípusoknál ez a konfig felület: klikk, node felöltésekor pedig ez alapján lehet választani: klikk.

A konfig felületen meg lehet adni egy View-t, amelynek a találati eredménye jelenik meg a node feltöltésénél a kiválasztó listában. Ehhez kellene tehát nekem egy olyan Viewt generálni, amely csak azokat a nodeokat gyűjti össze, amelyek a taxonomy alapján rokonok.

Ha ez így nem működhet, akkor más megoldás is érdekel, ha a kapcsolódó anyagokat a szerkesztésnél taxonomy alapján szűrve, cím alapján statikusan tudom kiválasztani. De saját modult ehhez nem tudok készíteni, más lehetőséget meg eddig még nem találtam.

Remélem így érthető(bb).

0
0
aboros képe

ha végiggondolod: most töltöm ki az űrlapot, ami már összeállításra került nekem.. a node amit éppen készítek még nem létezik, nincsenek kapcsolódó tid -k, nincs mi alapján szűrni... (biztos lehetne valami nagyon vagány ajaxos megoldást csinálni azért..)

második lépcsős megoldás az lehetséges, tehát, hogy előbb létre kell hozza a node-ot és utána újra szerkeszti és akkor már van miből kinyerni az argument, amit pedig php formában meg lehet írni a nézetben az 'argument handling code' részben. arg(1) lesz a $node->nid, az alapján taxonomy_get_terms($node->nid) megadja a tid -eket, azokat kell egy tömbben visszadni. kész. nem tudom mennyire lesz gyors vagy mikor esik össze ez a megoldás, meg nem is olyan elegáns, hogy új beküldés, mentés, szerkesztés, mentés.. :)

még azt tudod csinálni, form_alter -el módosítod azt az egy űrlapot és te szeded össze egy sql lekérdezéssel a megfelelő dolgokat és feltöltöd velük a node reference mezőt.

0
0

-
clear: both;

spiderman képe

1 beküldésre valóban szükség van, ezt tudom. Megpróbálom ezt, meglátjuk, megy-e.
Köszi!

0
0