Zdravím,
potřeboval bych poradit. Vytvářím view, ve kterém nastavuji dynamické URL (dříve argumenty). V nastavení filtru ‚Specify validation criteria‘ nastavím ‚Validator‘ na Content – tedy chci view měnit na základě konkrétního typu obsahu. Avšak v nastavení ‚Filter value format‘ je pouze Node ID, tedy že lze zadat do URL ID nodu. Kdežto v případě taxonomy lze zvolit Term name converted to Term ID. Jestliže tedy zapíšu textově term, vezme ho to a view pracuje s ID. Tohoto bych chtěl dosáhnout i u content možnosti, jelikož term pro mě není v tomto případě vhodný.
Děkuji za jakoukoli pomoc Martin
Bohužel nepřebere. Používám modul reference (dříve node_reference) a chci aby URL byla podle článku, který je v tomto poli. Pokud zadám ID, není problém, ale URL to nebere.
Martin
Já mám v contextual filters ID uzlu a funguje opravdu bez problémů. Nebo se bavíme o něčem jiném?
Nejsem velký znalec views, ale myslím, že tímto toho co chci nedosáhnu.
Potřebuju vytvořit node hru: pc/nazev-hry
Pak mám další typy obsahu jako novinka, recenze atd kde v každém typu obsahu je node_reference na hru, které se to týká.
A chci udělat view ke každé hře, kde se vypíší novinky, recenze atd: pc/nazev-hry/clanky pc/nazev-hry/recenze
Kde ten nazev-hry je ten node_reference. Používal jsem k tomu sekci Specifi validation criteria (viz obr. http://img835.imageshack.us/img835/8571/ukazkal.jpg )
Dělám to špatně? Pokud totiž zadám do url např. pc/5/clanky tak to vypíše všechny články ke hře s NID==5 ale pokud zadám do URL alias, pc/nazev-hry/clanky tak si s tím view neporadí :-(
Aha, už rozumím. To, co mám já, je blok na stránce, nikoli nová stránka s proměnnou adresou. To bohužel netuším, jak udělat. Každopádně bych řekl, že když to funguje s číslem uzlu, mělo by to fungovat i s aliasem. Možná to ve Views pro Drupal 7 zatím ladí, ještě to není finální verze.
mohu ještě otevřít tuto starou záležitost? potřebuji zobrazit blok s jedním fieldem vždy jen spolu s článkem, ke kterému patří, bohužel se mi přes contextual filter nedaří toto nastavit - napojil jsem jej na title článku, ale ten se samozřejmě v path nakonec neobjeví a proto nefunguje,,
nebo je možné aby contextual filter vypsal blok podle nadpisu článku (nebo jiného pole na stránce) a ne podle co je v path?
Myslím, že byste to měl napojit na NID článku. Bez ohledu na to, jaká je adresa URl článku díky aliasu, tak Drupal pochopí, že třeba článek na adrese /muj-skvely-clanek, je ve skutečnosti na adrese /node/27, pokud je NID článku 27.
teprve dnes jsem se dostal k tomu to vyzkouset a po delsim trapeni to rozchodil - moc diky a nejen za tuto odpoved
(dnes jsem mel asi lepsi den, protoze toto nastaveni uz jsem zkousel i drive bez uspechu - zrejme jsem mel neco nekde spatne zatrzene - tohle mne alespon donutilo to zkusit jeste jednou)
V případě, že na to nepřijdu, mám záložní plán. Místo node_reference použít taxonomy term (jelikož v D7 je to víceméně jedno ohledně fieldů), tím by se problém vyřešil, jelikož tam možnost "NID from URL" je. Avšak mám zase problém s vytvářením URL aliasů pro články ( [term:name] / [node:title] ). V D6 to šlo vpohodě, ale v D7 nejde kombinovat pattern pro content a term. Není alespoň nějaké řešení pro toto?
Lze to nadefinovat po zapnutí modulu Taxonomy entity index.
Díky za tip. To jsem přesně potřeboval.
Ještě 2 menší dotazy:
Bude pro Drupal velká zátěž pokud budu mít tisíce termů? Myslím, že ne, ale chci slyšet i další názor?
Pro redaktory bych chtěl u výběru termů (select list) zobrazovat select podle abecedy, lze to nějak vyřešit?
Děkuji
No, pokud pojede na dobrým železe, nemělo by to vadit. Samozřejmě, že pokud budete mít tisíce termů a teď je budete chtít zobrazit v nějaké rozbalovačce, tak už se to projeví. Musel byste použít autocomplete políčko.
SELECT by měl standardně být podle abecedy, ne? Případně můžete termíny seřadit dle abecedy kliknutím na odkaz ve správě kategorie.
Jestli chápu, potřebujete, aby to reagovalo jak na node/26, tak na textova-url-jako-alias. To by ale neměl být problém, jen tomu dejte jako výchozí poskytnutou hodnotu ID nodu a Views by si to mělo přebrat.