Views mező tid - taxonomy term név nézet

signatum képe

Egy meghatározott évszám mező tidjéből szeretném a hozzá tartozó nevet kiíratni.Pl.: beküldöm az évszám mező tidjét (field_data_field_ev.field_ev_tid = 1) és alekérem a nevet(taxonomy_term_data.name) Ez hivatalosan két join, azonban az istennek sem tudom a views nézetbe összehozni.

Drupal verzió: 
aruna képe

szeretnél. Ha nem is erre gondoltál :) talán érdekes lehet.

Ha pl.:

- Van egy szótárad amiben a kifejezések az évszámok (nyilván minden évszámnak van tid-je).

- Van egy tartalomtípusod, ami ezt szótárat használja, és a tartalom beküldésekor a user választhat kifejezést (évszámot) a szótárból.

Ha most csinálsz egy nézetet erre a tartalomtípusra, de csak azokat a tartalmakat akarod megjeleníteni, amik az adott évszám kifejezéshez hozzá vannak rendelve, akkor átadhatod a nézetnek url-ben a kifejezés 'tid'-jét:
http://example.com/nezeted/22 (itt pl. tid értéke 22)

Felveszel a nézetben egy Contextual filter-t: http://i.imgur.com/BMpSA.png

-----

A nézetedet kódból is hívogathatod, ha csak az eredménye kell és be akarod ágyazni valahova:

$view = views_get_view('nezeted'); // machine name
$view->init();
//$view->set_display('default');
$view->set_arguments(array(arg(1), $tid));
$rendered = $view->render();
0
0
signatum képe

Pl. egy tartalomtipus feltöltésénél megadhatom, hogy mikori gyártású. Amikor rákeresek a tartalomtipusra, akkor ki szeretnék rakni egy olyan fejlécet, ahol mindösszesen azok az adatok (mezők) vannak megjelenítve amit keresek. Tehát többek között magát a beküldött évszámot,(és nem pedig a tartalomhoz kapcsolódó mindegyiket)

0
0
signatum képe

Köszönöm a segítséget. Kipróbáltam, és tökéletes. Az elvet ugyan nem értem: ha én csupa taxonomy term táblás argumentumra keresek, akkor miért is kell először node táblát lekérni, és miért nem lehet csak a taxonomy_term táblát??
No de ez legyen a legfájóbb kérdésem..............

0
0
signatum képe

Tartalomra keresek, azonban a keresési feltételeket a views fejlécébe szeretném megjeleníteni. A nézetnek url-ben átadott argumentumok között többek között megtalálható az évjárat mező tid-je is. Moindösszesen az a vágyam, hogy az átadott argumentumhoz tartozó egyetlen term nevét visszakapjam.jelen esetben a feltöltött tartalomhoz tartozó minden évjáratot listáz, nem pedig a keresési feltétel egyetlen tid-jéhez tartozót.

0
0
aruna képe

így megkaphatod a term nevét:

// Kifejezés nevének kiíratása
$term_object = taxonomy_term_load($tid);
$term_name = $term_object->name;
echo $term_name;
 
// A nézet kiíratása
$view = views_get_view('nezeted'); // machine name
$view->init();
//$view->set_display('default');
$view->set_arguments(array(arg(1), $tid));
$rendered = $view->render();
echo $rendered;

-----------

> Az elvet ugyan nem értem: ha én csupa taxonomy term
> táblás argumentumra keresek, akkor miért is kell
>először node táblát lekérni, és miért nem lehet csak
> a taxonomy_term táblát??

Ha nem kell semmi egyéb (pl. nézetben a keresés találatai), csak a term id alapján meg akarod kapni a term nevét, akkor elég az első két sor a fenti kódból (ezek nem használják a node táblát).

1
0
signatum képe

Ha pl. term-hez kép, vagy fájl is hozzá van rendelve, azok nevét, vagy pl. az uri-t hasonló módon le lehet kérdezni?

Amúgy még egyszer köszönöm a segítséget.( Az Api-n kivül milyen tutorialt javasolsz a hasonló kérdések megoldásához?)

0
0
aruna képe

szinte mindenhez lehet field-eket kapcsolni így a term-ekhez is, ha belenézel a betöltött term objektumba (http://i.imgur.com/PbukT.png):

$term = taxonomy_term_load($tid);
dpm($term); // dpm() függvény a devel modulban

és egy mező értékét így írhatod ki:

echo $term->mezod_neve['und']['0']['value'];

Kb. így hozzáférsz a kapcsolt mezők értékeihez. De itt több esetet is le kellene kezelni, pl.: ha egy mezőnek több értéke van vagy ha egy sincs.

----------

> Az Api-n kivül milyen tutorialt javasolsz a
> hasonló kérdések megoldásához?

Alapvetően a google-el jutok el az api-hoz és tutoriálokhoz is.
Ha sikerül jól eltalálni a kulcsszavakat, akkor jó. :)

Itt a taxonomiához tartozó függvénysereg:
http://api.drupal.org/api/drupal/modules!taxonomy!taxonomy.module/7

0
0
signatum képe

Meg ráadásul logikus is (no meg rém megkönnyíti a munkát). Kár hogy ezekről nincs egy összefoglaló írás.

Köszönöm, rengeteget segítettél!

0
0
szantog képe

// A nézet kiíratása
$view = views_get_view('nezeted'); // machine name
$view->init();
//$view->set_display('default');
$view->set_arguments(array(arg(1), $tid));
$rendered = $view->render();
echo $rendered;

helyett

print views_embed_view('nezeted', 'display_id', $arguments);

mintha ugyanazt csinálná egy sorban, mint a másik sok sorban. Vagy nem? Régen használtam már ezt. Illetve annyi különbséggel, hogy a preview formát adja, tehát pl a viewban állított cím nem lesz benne.

0
0

----
Rájöttem, miért kérdezek olyan ritkán a drupal.hu-n. Amíg szedem össze az infokat a kérdéshez, mindig rájövök a megoldásra.