Sziasztok!
Van egy "Kategória" szótáram, ami a cikkek besorolására szolgál.
Létrehoztam Views-el egy Page típusú nézetet, az adott kategóriához tartozó cikkeket listázza.
A listázás sikerül is, de az url-be igényli a szótár nevében szereplő írásjeleket.
Pl: kategória000/alma,-körte,-szilva
Ez azért zavar be, mert ez az oldal felül kéne hogy írja a szótár oldalait, ha majd kiszedem a "000"-t az url-ből.
A pathautónál az van beállítva, hogy az url-ből törölje az írásjeleket, így ő a szótár url-jének ezt adja meg:
kategória/alma-körte-szilva
Szóval nem fogja fedni egymást a két url készlet, így a views csak azoknak az oldalaknak a kinézetét fogja felülírni, amikben nincsenek írásjelek.
Remélem érthetően fogalmaztam...
Views beállításai:
Útvonal: kategória000/%
Relationships: Identifier = Identifier
Contextual filters:
When the filter... = Provide default value
Típus = Taxonomy term ID from URL
When the filter... = Specify validation criteria
Validator = Taxonómia kifejezés
Szótárak = Cikkek
Filter value type = Term name converted to Term ID
Transform dashes in URL to spaces in term name... = bejelölve
Mit állítsak be, hogy a views se igényelje az url-be az írásjeleket?
Köszönöm előre is a segítséget!
nem biztos hogy teljesen értem
felejcsd el a pathautot egy pillanatra. neked nem "Term name converted to Term ID" típusú kéne, hanem sima Term ID.
így aztán lesznek teljesen hagyományos taxonomy/term/42 útvonalaid a saját nézeteddel. ha ez megy, generálsz ezeknek álnevet a pathauto segítségével (ez lesz pl a kategória/korte-alma-barack). ezek továbbra is csak álnevek, valójában az útvonal továbbra is a taxonomy/term/42. a listázásod ekkor mindkét urlre bejön, beírhatod kézzel ugyan az álnevet, de a drupal tudja hogy az valójában egy taxonomy/term/42 oldal és a nézetedet hívja meg rá.
hogy mégis mindig az álnév szerepeljen a böngésző címsorában az egy külön probléma. telepíted a globalredirect modult, ami pedig azt csinálja, hogy ha egy útvonalnak létezik álneve, akkor automatikusan átírányít arra.
-
clear: both;
Logikus amit írsz, nekem
Logikus amit írsz, nekem mégis adódtak vele nehézségeim.
Ha a "Term name converted to Term ID" helyett a "Term ID"-t választom, nem lesz egyből "taxonomy/term/42" url, hanem csak "kategória000/42".
Az útvonalat írjam át "taxonomy/term/%"-ra?
Ha ezt így állítom be, nem lehet simán beállítani, hogy views-es "taxonomy..." url fedje a szótár által létrehozottat?
Ha nem lehet, hanem tényleg a pathauto-val kéne a views-hez hozzárendelni álnevet, azt nem igazán tudom hogy kell. Pathautoban nálam a patternek közt csak "Content -", "Taxonomi Term -", és "User Path" van, "Views Path" nincs. Ehhez is kell valami bővítmény?
Meg az is van, hogy ha a szótár "taxonomy/term/42" url-jéből csinálok egy ugyanolyan url-ű view-et, hogy különbözteti majd meg őket a pathauto?
Köszönöm a segítséget
Sikerült megoldani, de nem kellett hozzá más bővítményt telepíteni, sem beállítgatni.
A viewsben csak ezeket kellett módosítani:
Útvonal: taxonomy/term/%
Filter value type = Kifejezésazonosító
Transform dashes in URL to spaces in term name... = nem kell bejelölni
Ezzel automatikusan elfedi a "taxonomy/term/42" url-t, így a pathauto hozzá rendeli a szótárhoz rendelt álnevet.
Azért aboros hozzászólása segített a megértésben, amit köszönök!
ezzel azért vigyázz
mert most így minden kategória mindig eszerint a nézet szerint jelenik meg. ha ez így jó neked, akkor pont oké, de gyakran van, hogy mondjuk ha a borvidékre kattintok akkor egy tök másik lista kell mintha arra a kategóriára, hogy "fehérbor" vagy hogy xy pince, stb. (borvidékek szótár, borfajták szótár, pincészetek szótár:)
-
clear: both;
Jó hogy szólsz...
Hát még jó hogy szólsz, hogy ez így minden szótárat formáz.
Azt hittem, hogy a "Szótárak = Cikkek", és a "Filter criteria = Tartalom:Kategória" beállításokkal azt érem el, hogy csak rá legyen figyelembe véve.
Ehhez képest csak azt értem el, hogy most csak a Kategória szótár linkjei működnek, a többinél "Az oldal nem található" üzenet fogad.
Szóval mégse sikerült teljesen a dolog...
Úgyhogy tudnál még pár percet rám szánni, hogy hogyan is kell ezt a pathautos hozzárendelős dolgot csinálni?
nagyon nehéz így segíteni
mert nem látom, hogy eddig pontosan milyen beállításai vannak a nézetednek és az se teljesen világos, hogy mit akarsz elérni. a pathautot ne keverd bele, semmi köze ehhez a nézetes dologhoz. mikor majd működik amit akarsz, rákevered a pathautot és meglesznek az útvonalálnevek.
szóval azt szeretnéd, hogy:
- minden szótár minden kifejezése ugyan azt a listázást használja
vagy
- szótáranként különböző listázást szeretnél
vagy
- esetleg kifejezésenként különbözőt
vagy
- esetleg tartalomtípusonként szeretnél különbözőt? tehát hogy teszem azt cikkek/xy-kategória csak a cikk tartalomtípusokat listázza amik xy-kategóriába tartoznak?
jó lenne még pontosan látni hogy épül fel most a nézet.
ezt úgy tudod legpraktikusabban megmutatni, hogy exportálod a nézetet és
<code></code>
tegek közé másolva beküldöd ide hozzászólásként.-
clear: both;
Azt szeretném, hogy:
Azt szeretném, hogy:
- Szótáranként különböző legyen a listázás. Pl. A kategóriánként listázásnál más adatokat listázzon, mint ha a településenként listázna.(mindkettő egy-egy különálló szótár)
- A nézetben csak a Cikk típusú tartalmak jelenjenek meg.
- A kifejezésenként különböző eddig nem jutott eszembe, de most hogy felvettetted, felcsigáztad az érdeklődésemet :D
Az exportált View: (volt már jó-pár változata, megpróbáltam a fórumban elhangzottakhoz igazítani)
Ez most a kategóriánként listázásnál jól működik, viszont a településenkénti listázásokat elrontja, "Az oldal nem található" üzenetet ír náluk.
Ha a "Contextual filters >> When the filter val... >> Specify validat..."-nél nincs bejelölve, hogy "Kategória", akkor minden szótárra működik ez a nézet, de jó volna a többi szótárhoz más nézetet létrehozni.
értem
a filterek közé nem kell a 'field_kategoria' és a contextual filternél a validatorhoz nem kell a szótárra szűkítés sem. ekkor minden szótárban minden kategória listázás ezt a nézetet fogja használni.
arra, hogy szótáranként különböző legyen a listázás több megoldás is létezik, az egyszerűség kedvéért most ezt a modult javasolnám: https://www.drupal.org/project/taxonomy_display
sose használtam, de ezzel minden szótárnak be tudsz állítani egy nézetet, amit listázáshoz használni szeretnél. nem próbáltam ki, de gondolom mivel a mostani nézeted 'page' megjelenítőt használ és egy útvonalon csak egy 'page' lehet (az útvonalad most a taxonomy/term/%) ezért valószínűleg kicsit máshogy kell csinálni, blokk megjelenítő kell minden nézetbe, mert annak nincs útvonala.
szóval elkészíted az egyes listázásokat pont úgy mint a mostani nézeted (mínusz kategória _filter_, mínusz szótárra validálás), de nem page, hanem blokk megjelenítőkkel (akár ugyan abba a nézetbe is lehet több blokk megjelenítő, ahogy neked kényelmes). aztán használod a taxonomy_display modult és minden szótárban beállítod, hogy melyik nézet melyik megjelenítőjét akarod ott használni.
egy másik megoldás lenne, hogy page manager + panels modulokkal alakítod ki mindezt, de az jóval bonyolultabb lesz, ha még sose használtál panelst vagy amúgy nincs rá szükség. a kifejezésenként különbözőt csak költői túlzásnak szántam, persze megoldható és el tudom képzelni, hogy szükség lehet rá, de ha most nem az a feladat, akkor egyelőre hagynám és a feladatra koncentrálnék :)
-
clear: both;
Köszönöm a segítséget
Köszönöm a segítséget, sikerült megoldani.