Views és Token

Anonymous képe

Üdv!

A Views-ban, ha egy tokent akarunk használni egy mezőben, akkor muszáj, hogy az a mező, aminek a tokenjét bele akarjuk tenni, az adott mező előtt szerepeljen.
Erre még mindig nincs valami megoldás?
Mert emiatt ha olyan sorrendet akarok egy nézet táblázatban, ahol az adott mező után szerepelne a szükséges mező, ami a tokent adja, akkor kénytelen vagyok egy másolatot felvenni a token miatt a mezőből, amit persze kizárok a megjelenítésből, de pl. így lesz egy [nid] tokenem, és mellette egy [nid_1] token, és plusz fölösleges mező és sor a nézet kezelő részében.
De ami még rosszabb, hogy ha sok ilyen van és valamit változtatunk, akkor elromlanak a hivatkozások, azaz át kell nézni minden mezőt, hogy hol, milyen tokent használtunk.
Nem akarok csúnyát mondani a modul készítőire, mivel én még egy modult sem csináltam, de ez annyira...

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

A mezok erteket csak az utolso mezonel egybe irasd ki.

0
0
Drufan képe

Több mező értékét, amiket az előtte lévő használnának 1 db mezőbe tegyem bele? Hogyan is?

0
0
lazar képe

felveszed a mezőket amiket használni szeretnél és elrejted. Utoljára felveszel egy ürest text mezőt (valami hasonló a megnevezése) és használod benne az előzőket - ha ez volt a kérdés.
Vagy egyszerúen külön templatet jrsz a nézetnek.

0
0
Drufan képe

Nem, éppen azt akarom elkerülni, hogy fel kelljen vennem mezőket, majd elrejteni, csak azért, hogy a tokenjei használhatóak legyenek.

0
0
HF leon képe

Amikor az adatmezőket felveszed, akkor ezeket a views lekérdezi. Ezért nem lehet egy sorban később szereplő mező token-jét felhasználni.

Kétszer lekérdezni egy mezőt butaság. Erre találták ki a szövegmezőt. A szövegmezőben tetszőleges módon felhasználhatók az előtte lekért mezők. Bármely html kód használható. Így igen sokoldalú megjelenítés hozható létre.

Ez a views logikája. Addig nem férhetsz hozzá egy mező tartalmához, míg nem kérdezed le.

Ha van három ember egy hangszigetelt ajtó mögött, akkor csak annak a nevét tudom megkérdezni, akit, már behívtam. Ha egyet hívok be, akkor csak az ő nevét tudom.

Egy saját lekérdező modult írva is csak azokkal az adatokkal tudsz dolgozni, amiket a modul lekér a megjelenítés előtt.

Amikor megadsz egy mezőlistát a views-ban, akkor azt adod meg, hogy mely mezőket kérje le. Ha az első mezőt rögtön megjeleníted, mielőtt lekérnéd a másodikat, akkor a második tartalmát nem tudod felhasználni az első megjelenítésekor. Ha elrejted a mezőt, akkor a megjelenítését tiltod le. Ekkor az első mező tartalmát lekéri a views, majd annak megjelenítése helyett elkezdi a következőt lekérni, ha a következő nem rejtett, akkor megjeleníti, de nyilván, mivel, már lekérte az előzőt, így tud annak tartalmáról. A harmadik mezőről viszont nem. Ha például felveszel 4 adatmezőt, de ezeket elrejted, akkor olyan, mintha elindítanál egy adatbázis lekérést és az adatokat négy változóba tennéd. Egy szövegmezőt felvéve ezek után, már használhatod a lekért változókat. A szövegmező pedig olyan lesz, mint egy template, amely aztán beágyazásra kerül a views template-jébe, sminkjébe, amelyből több áll rendelkezésre, de egészen egyediek is készíthetők.

A views így lett kitalálva, ez a logikája.

Elsőre fárasztó felfedezni a views működését, logikáját, de fantasztikusan sokoldalú modul, rengeteg lehetőséggel és megannyi, már kész kiegészítő modullal, amelyek tovább növelik a modul képességeit.

Rengeteg munkát levesz az ember válláról. Viszont, ha nem tudsz kibékülni a modul logikájával, akkor sajnos saját lekérdezőt kell írnod, illetve körbe kell nézni, hogy léteznek-e más lekérdező modulok.

2
0
robipecs képe

Üdv.!

Nem szorosan a témához szólnék, de egy hasonló kérdésem lenne:
- van egy űrlapom ahol van egy csatolmány feltöltés mező. Ebből csináltam egy nézetet ahol a feltöltött csatolmányok szerepelnek is. Eddig rendben.
Viszont úgy kelle megcsinálni a nézetet, hogy ne a fájlnév legyen ott, hanem "eredmények átírásával" egy rövid egységes címet írjon ki ("Csatolmányok") a nézetben, és rákattintva új lapon nyissa meg a pdf-eket. Az új ablak és a szöveg átírás megy is, csak az a gond, hogy ha beteszem "hivatkozás útvonal"-ként a vezérjelet [value_2] az nem jó nekem, mert több azonos nevű fájl miatt magában a linkben átneveződött a fájlok egy része. tehát nem az van, hogy Fajl.pdf hanem fajl_0.pdf, fajl_1.pdf, stb.
Szóval ha a tokent teszem be akkor nem jó helyre mutat a linkem e miatt.
Most egy ilyesmit próbálok, de mivel nem értek hozzá, így nem is jön össze...

[submission:csatolmany_feltoltese:file:url]
- ez így nem jó azt tudom, de valaki tudná-e, hogy mi a helyes ahhoz, hogy _0, _1 végű linket kapjam meg eredményül.

köszi.

0
0
Drufan képe

Miért van több azonos nevű file?

De ha van, akkor a File Entity, vagy a File (Field) Paths modult használd a Transliteration modullal, így te tudod szabályozni, hogy milyen file nevekkel legyenek mentve a dolgok és tokeneket is kapsz ezekkel.

0
0
szantog képe

Nincs, nem is lesz, mivel ez így természetes.
A views az egy query builder, adatokat kérdezz le az adatbázisból backend szinten. Az már csak egy plusz, hogy te a frontenden is tudod használni a lekérdezés eredményét.

'Nem akarok csúnyát mondani a modul készítőire, mivel én még egy modult sem csináltam, de ez annyira...'

Nem akarok csúnyát mondani a view készítőjére, de sajnos ha ilyen problémáid vannak, amiket említesz, akkor először házon belül kellene szétnézni.

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.

HF leon képe

Ha változtatsz, akkor úgy is át kell nézni mindent, mivel a mező nélkül a token sem él.

Kétszer lekérni felesleges valamit (mondhatni bűn ;) :D). Egyszer kérd le rejtve, majd használj két helyen tokent.

0
0