node path kiírása egy viewben

d.pryke képe

Nodeokat listázok viewssel táblázatban. Az egyik oszlop a node path-ja lenne, de ilyen mezőt nem találok a viewsben. Tudtok segíteni, hogyan tehetném mégis oda a path-t a táblázatba?
köszi előre is

Melyik modulhoz, modulokhoz kapcsolódik a téma?: 
Drupal verzió: 
Fórum: 
Bálint képe

Találsz viszont olyan mezőt, hogy Tartalom: Nid. Add hozzá ezt, ez már majdnem jó neked, hiszen minden node-nak az elérési útvonata a node/[nid].

Szóval kicsit módosítani kell a template-ben, mondjuk így:
Hozz létre egy fájlt a sminked mappájában views-view-field--nid.tpl.php néven, majd írd bele ezt:

<?php print 'node/' . $output; ?>

Ha linket szeretnél belőle, akkor így csináld:

<?php print l('node/' . $output, 'node/' . $output); ?>

Ezt a template-fájlt egyébként többféleképpen is elnevezheted. A view-nál a Basic Settings-ben legalul lévő Theme Information rész ad neked erről bővebb infót. Jelen esetben egy field-et szerettünk volna sminkelni, és ezzel a névadással az összes view összes ilyen nevű mezőjére ki fog hatni ez a template. Ezt természetesen tetszőlegesen tudod szűkíteni.

Ha létrehoztad a fájlt, akkor ürítened kell a smink regisztrációs tárat. Ezt megteheted úgy, hogy a Webhely építés >> Sminkek oldalon mentesz egyet, vagy ha Admin menu-t használsz, akkor a bal oldalt lévő favikon mögött rejtőzik egy ilyen lehetőség.

0
0
Bálint képe

[off]
Miután ezt így leírtam, elmentem zuhanyozni, és mindig ilyenkor jönnek a legjobb gondolatok! :D
[/off]

Rájöttem, hogy butaság, mert ez így felesleges. Így is működik, de van ettől egy picivel egyszerűbb megoldás. :)
Szóval, ha hozzáadod a Tartalom: Nid mezőt, akkor annak a beállításai között találsz egy olyat, hogy Rewrite the output of this field. Pipáld ezt be, és írd be értéknek ezt:
node/[nid]

Ennyi, és szégyellem magam. :)

0
0
d.pryke képe

Köszi a részletes leírást, de nekem a path modul által kezelt path kellene. Azaz az url alias, szép url. Elnézést, ha félreérthető volt a kérdésem. Erre esetleg van ötleted?
köszi előre is.

0
0
Bálint képe

Ebben az esetben visszatérünk az első ötletemhez. :)
Ezt tedd a template-fájlba:

<?php
  $path = drupal_get_path_alias('node/'.$output);
  print l($path, $path);
?>

Viszont ezzel kapcsolatban én is tennék fel egy kérdést. Ez így működőképes, és nem is igazán látok rá más megoldást. De sajnos n db kilistázott node esetén n darab adatbázis lekérdezés fog történni. Mennyire csúnya ez, ill. mennyire kerülendő? Vagy ebben az esetben elfogadható?

0
0