sziasztok!
találkozott már valaki az alábbi problémával? létrehozok egy page nézetet és szeretném útvonalként megadni neki a megfelelő aloldalamat, amit már régen kialakítottam álnevekkel, ugyanis mindig node/[int] formában hozza az oldalakat, ami persze picit csúnya, picit nem olyan szép :) ezért jó ötlet volt, gondoltam én, ha álneveket használok, de a views-ok nem tudnak arra hivatkozni, vagy valami baj van velük!
valakinek esetleg ötlet a dologra?
üdv, tatarbj
Drupal verzió:
Fórum:
Global Redirect
Szerintem erre korrekt megoldás a Global Redirect modul.
Röviden: ha van egy node-od, aminek az id-ja mondjuk a 7-es, az útvonal álneve pedig tatarbj, akkor ha egy olyan linkre kattint a felhasználó, hogy node/7, akkor is arra az url-re fog jutni, hogy tatarbj.
ez szerintem
nem a global redirect, hanem maga a path és esetleg az autopath modul eredménye...
nekem valami olyan megoldás kellene, amivel a views-ban tudom kezelni az álneveket! amit te írsz, az nem a views-ban kezeli, hanem egyáltalán, hogy legyenek álnevek és azokat ne lehessen duplikálni.
esetleg valami ötlet az én problémámra?
üdv, tatarbj
---
Tatár Balázs János
Nem
Nem, ez nem annak az eredménye. Próbáld ki, hogy a Global Redirect nélkül a node/7 url-re kerülsz. Emellett persze létezni fog az álnévvel létrehozott is. De ha feltetted volna a modult, és kipróbáltad volna, akkor láttad volna.
Csinálhatod azt, hogy hozzáadsz egy mezőt a view-hoz, ami a nid-et listázza, ehhez készítesz egy saját template fájlt, amiben megváltoztatod a kimenetet a drupal_get_path_alias() függvényt használva, kb. így:
De továbbra is fenntartom hogy ennek szerintem semmi értelme, ill. nincs szükség rá, mert a már sokszor említett modul megoldja a problémát. A link továbbra is az eredeti node/nid url-re fog mutatni a view mezőjében, de már az alias url-re fog dobni.
akkor nem volt világos a kérdésem :)
ezt a dolgot már régen megoldottam, a global redirect be van kapcsolva, szintén már régen :)
viszont! nekem az kellene, hogy két különböző típusba tartozó tartalmat meg tudjak jeleníteni máshogyan! és minthogy mindkettőnél így néz ki az url: node/x, ezért próbálkozom views-ban azzal, hogy álnévre akarok hivatkozni - de ez nagyon nem megy neki, mert csak az eredeti névre tud hivatkozni, arra, hogy node/35 és nem arra, hogy tatarbj (az általad használt terminológiával élve :))
ahogy gondolkodok egyre inkább az derül ki számomra, hogy valahogy argumentumot kellene adnom a dolognak, de ott meg még nem jöttem rá hogyan kell...
abban esetleg tipp? vagy az eredeti problémán tudunk segíteni bárhogy?
üdv, tatarbj
---
Tatár Balázs János
Két különböző tartalomtípusra
Két különböző tartalomtípusra gondolsz? Mert ahhoz elég egy szűrő.
Nem írnád le a konkrét megoldandó feladatot, mert én speciel kicsi elvesztettem a fonalat, és ahogy látom, a többiek sem teljesen értették meg..
----
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.
a konkrét feladatom
adott több tartalomtípus!
van olyan, amelyikben van listázó oldal, van olyan ahol nincs, de végülis mindegyik egy-egy tartalmat ér el, pl:
vezetőink menüpont listázza ki a vezetőket (ezt már views-ban sikerült megcsinálni), viszont itt egy-egy vezető nevére kattintok, akkor be kéne, hogy jöjjön egy alábbi álnéven szereplő oldal: vezetoink/[vezetoneve] szóval erre akarok csinálni egy nézetet! de ugyebár ennek a valódi címe: node/[int] és ha csak így a node-okra állítom rá magát a views-t, akkor minden tartalmamat úgy fogja kezelni, ahogy a vezetőinket, pedig én azt szeretném, ha csak a vezetőinket kezelné így, pl a hálózat menüpontot már nem, oda más adatokat is kell megjeleníteni és más is az álnév (halozat/[telepulesnev])
tehát a valódi feladat:
adott több tartalomtípus.
mindegyikhez létre szeretnék hozni nézetet, ami egy-egy tartalmát jeleníti meg az adott tartalomtípusnak.
így már érthetőbb lettem? :)
üdv, tatarbj
---
Tatár Balázs János
Kezdem érteni: Tehát a
Kezdem érteni:
Tehát a különböző tartalomtípusok nodejainak megjelenésére szeretnél különböző nézeteket húzni.
Két megoldás, a másodikat próbáltam, de az első egyszerűbbnek tűnik.
1. Felveszel egy cck-viewfield-et a tartalmaidhoz. Ott beállíthatod tartalomtípusonként, hogy melyik nézetet jelenítse meg. A mezők megjelenítésénél egyszerűen kikapcsolod a viewfield kivételével az összes mezőt. Ha szükséges, a node-tartalomtipus.tpl.php-ben kiveszed még a neked nem szükséges dolgokat (meta, title, links, stb.) Ha még ez sem elég (mert mondjuk még törzs ott figyel) akkor nyitsz egy újabb témát. :)
2. Panels modul és a hozzávaló sallangok (amúgy jók, csak sokan vannak..) segítségével felül tudod írni a node/* útvonalat nézetekkel, akár tartalomtípusonként más-mással. Ez nem túl egyszerű, és elég erőforrás-igényes, ha másra nem kell a panels modul.
----
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.
úgy néz ki az első dolog működik
nagyon köszönöm :)
már csak egy nagy kérdésem van, amin régóta gondolkodom egyébként is! hogy kéne kikapcsolni a mezők megjelenítését, css-megoldást tudok rá: display: none, na de ez azért elég csúnyácska. mikor tartalomtípusok beállításainál vagyok, ott nem lehet pl a címmel meg a törzzsel megcsinálni, hogy ne jelenjenek meg a publikált tartalomnál - legalábbis nálam nincs mód semmilyen szintű szerkesztésükre! ez valami külön modul segítségével elérhető?
(tudom új téma kellett volna neki, de már annyira felcsigázott ez a dolog :))
üdv, tatarbj
---
Tatár Balázs János
a sablonfájlban vannak kiírva, ott kell kivenned őket
cím nélküli node nincs. a node.tpl.php -ban van egy print $title rész, az írja ki a node címét, de csak teaser nézetben. full node nézetben maga a node egyben az oldal is, tehát ekkor nem írja ki a node.tpl.php a címet, hanem a page.tpl.php írja ki (szintén print $title) azt, mert ekkor az az "oldal" címe.
a törzset el lehet hagyni. a tartalom típus szerkesztésekor, a törzs mező 'címkéje' szövegmezőt, ha üresen hagyod, akkor nem lesz törzse a nodenak. legegyszerűbben úgy tudod megoldani, hogy ezt is úgy szabályozhasd megjelenítésileg, mint bármelyik cck mezőt, hogy nem raksz 'core' törzs mezőt a tartalom típusodba, hanem helyette felveszel 'gyalog' egy saját cck szövegmezőt, amit aztán már ugyan úgy állíthatsz mint bármilyen másik cck mezőt.
persze használhatod a core törzs mezőt is és bűvészkedhetsz a template_preprocess_node és a template_preprocess_page előfeldolgozókkal, hogy if node->type == 'vezeto' { és akkor itt újraépíted az egész $content, de ez jóval macerásabb, mint bevezetni a törzs helyett egy saját cck mezőt.
ha pontosan leírnád, hogy mi az elvárt működés, akkor pontosan meg tudnánk mondani milyen módon a legcélszerűbb megvalósítani azt.
-
clear: both;
Jobbat mondok, és nem kell
Jobbat mondok, és nem kell viewfield:
http://drupal.hu/forum/views-argumentum-nincs-meg
Pont itt írtam a view_embed_view-ről.
A tartalomtipus.tpl.php-ben a print $content helyett írasd ki a nézetedet az alapján. vagyis
A display_id-hez a megfelelő alnézetet kell írni, ha pl az első page típusú alnézet, akkor page_1, ha a második blokk típusú akkor block_2.
----
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.
sajnos nem érthetőbb.. :(
van két tartolom típusod: vezető, hálózat
pathautoban mindegyikre külön megadhatsz álnév-mintát.
vezetőre megadod, hogy: vezetoink/[vezetoneve]
hálózatra megadod, hogy: halozat/[telepulesnev]
ezután a hálózat típusú nodeok a halozat/[telepulesnev] aliason lesznek elérhetők, a vezető típusú nodeok meg a vezetoink/[vezetoneve] aliason lesznek elérhetők.
hogy kerül ide a views? ahhoz, hogy két különböző tartalom típusba tartozó nodejaidnak különböző álnevei legyenek nem kell semmilyen nézetet létrehoznod, ez a pathauto alapszolgáltatása.
ha a két tartalom típus megjelenítését akarod különbözőre szabi, akkor használd a panels modult vagy haladóbb sminkelési technikákkal tudsz még operálni, úgy mint saját tpl.php fileok vagy előfeldolgozók.
pl:
node.tpl.php - minden node megjelenítésének sablonja
node-halozat.tpl.php - 'halozat' típusú nodeok megjelenítésének sablonja
node-vezeto.tpl.php - 'vezeto' típusú nodeok megjelenítésének sablonja
-
clear: both;