jak provazat dve view ?

Ahoj muj problem je tento :
na prvni strance mam view s clanky, kdyz kliknu na nejaky clanek tak na detailu clanku se objevi dalsi view ktere zobrazuje seznam podpolozek souvisejici se clankem. Clanek ma kod , kterych bych chtel omezit vypis podpolozek , napr clanek ma kod = 3 , tak na detailu clanku chci zobrazit vsechny podpolozku ktere maji kod == 3. View podpolozek by asi mel resit pomoci Contextual filters , ale nevim jak dostat ten kod do URL . Prosim poradte nebo napiste jine reseni , moc dekuji

Profile picture for user Jan Polzer

Dobrý den, odpovím teoreticky, nemám teď bohužel čas to přesně vyzkoušet.

1. Contextual filters jsou to pravé.
2. Přidejte nový kontextový filtr pro dané políčko, ale řekněte, že mu poskytnete Default value tvořenou pomocí PHP kódu.
3. Ten kód by měl vypadat nějak takto: if (arg(0) == 'node' && is_numeric(arg(1))){ $node = node_load(arg(1)); $hodnotakodu = $node->field_kod[0]['und']['value']; return $hodnotakodu;}

Tedy pro jistotu ověříme, zda je zobrazen nějaký uzel, načteme jej na základě čísla z URL (node/číslo, funguje i v případě zobrazení na adrese s aliasem), vezmeme si z objektu uzlu potřebnou hodnotu a vrátíme ji kontextovému filtru.

Ještě by tam mělo být ověření, zda je políčko s kódem naplněno, ale to už zvládnete sám.

návštěvník

Diky moc po mensi uprave jsem to pouzil , ale ted mam problem ze pokud view ma prazdny vysledek pak to vyhodi chybu . Co s tim ? Musis se jeste priznat ze v Drupalu jsem zacatecnik

návštěvník

stranka se zobrazi bez stylu s hlaskou: Fatal error: Unsupported operand types in /volume1/web/dobrejistoty.cz/modules/block/block.module on line 352

návštěvník

jo a jeste na hlavni strance se objevi :

  • Notice: Undefined index: views_stopovatelnost_view-block ve funkci eval() (řádek: 11 v souboru /volume1/web/dobrejistoty.cz/modules/php/php.module(80) : eval()'d code).
  • Notice: Trying to get property of non-object ve funkci _block_get_renderable_array() (řádek: 337 v souboru /volume1/web/dobrejistoty.cz/modules/block/block.module).
návštěvník

uz jsem to vyresil , slo o tom ze pokud se v tom view nic nenajde tak se ani nevyrenderuje

Profile picture for user Jan Polzer

Aha, o znamená, že chyba byla jinde, než v tom filtru. Možná by stálo za to, naplnit View při nulovém výsledku nějakou info hláškou.

Odpovědět

Obsah tohoto pole je soukromý a nebude veřejně zobrazen.

Odesláním komentáře souhlasíte s podmínkami Ochrany osobních údajů

reklama
Moje kniha o CMS Drupal

 

Kniha 333 tipů a triků pro Drupal 9


Více na KnihyPolzer.cz

Sledujte Maxiorla na Facebooku

Maxiorel na Facebooku

Poslední komentáře
Hosting pro Drupal a WordPress

Hledáte český webhosting vhodný nejenom pro redakční systém Drupal? Tak vyzkoušejte Webhosting C4 za 1200 Kč na rok s doménou v ceně, 20 GB prostoru a automatické navyšováním o 2 GB každý rok. Podrobnosti zde.

@maxiorel na Twitteru

Maxiorel na Twitteru