it-swarm-eu.dev

Jak přepíšu taxonomii / termín /% seznam pohledem?

K typu obsahu mám připojenou slovní zásobu. Pro kategorizaci uzlu vytvořeného s tímto typem obsahu lze vybrat pouze jeden termín. Slovní zásoba se nazývá Vozidla a má výrazy 'auta, nákladní auta, lodě'. Typ obsahu se také nazývá Vozidla.

Používám cestu auto tak, aby to ukazovalo [vocabulary: name]/[term: name], takže při vykreslení se zobrazí například site.com/vehicles/trucks, které zobrazí všechny nákladní automobily ... typické Drupal věci .. Ok ...

Nyní mám zobrazení, které je stránkou s cestou „vozidla“. Je nastaveno, aby zobrazovalo všechny položky typu obsahu „vozidla“. Toto zobrazení stránky je také připraveno k argumentu 'id taxonomy id'.

Upozorňujeme, že pokud je k dispozici taxonomický termín, alias URL vygenerovaný pro cestu taxonomie je přesně stejný jako na stránce Pohledy s dodaným argumentem:

URL Aliased taxonomy cesta = vozidla/kamiony. Stránka zobrazení s argumentem = vozidla/nákladní automobily.

To je záměrné. Mým cílem bylo ukázat všechny výsledky tohoto typu obsahu, když argument nebyl přítomen, a když byl přítomen, nejdůležitěji filtroval výsledky na základě tohoto taxonomického výrazu A udržoval stejná pole a strukturu jako bez argumentu (stejný jako site.com/vehicles).

Problém je, že to nefunguje podle očekávání. site.com/vehicles správně zobrazuje můj pohled a související filtry. site.com/vehicles/trucks zobrazuje pouze pravidelný, neformátovaný seznam taxonomie dodávaný společností Drupal.

Je to proto, že argument ID taxonomického termínu není správně nakonfigurován?

Jedná se o problém s váhou, kde háčky taxonomie střílejí po zhlédnutí? Pokud ano, jak mohu změnit uspořádání závaží tak, aby správně vystřelila a poskytla výsledky, které potřebuji?

Vím, co hodláte navrhnout - že zobrazení přichází s taxonomií/termínem /% pohledem, který přepíše drupal výchozí zobrazení).

V mém případě to však nebude fungovat. Mám více typů obsahu, každý s vlastní slovní zásobou a každý s jeho zobrazením a odlišnou sadou polí (domy a auta mají například velmi odlišné sady polí). Taxonomie/termín /% by fungovala, kdyby všechny typy obsahu měly stejná pole, pak bych mohl napodobit ty, které mají toto přepsání, ale protože tomu tak není, jak mohu správně dostat svou cestu s argumentem, abych ukázal výsledky na základě tento slovníkový termín a zachovat strukturu mého pole?

Promiň, jestli to bylo matoucí. Odkaz na web pro odkaz http://www.buyagainbaby.com . Web v současné době používá taxonomii/termín /% jako přepis, ale znovu se to musí změnit tak, aby každý pohled odpovídal za to, jak vykresluje svůj výsledek na základě taxonomie.

28
blue928

Všechny tyto odpovědi jsou skvělá řešení a děkujeme, že jste si našli čas a poskytli takové infomativní odpovědi. Ashlar, vaše odpověď mě hodně naučila o tom, jak funguje taxonomie, a také o vztahu mezi názory a taxonomií.

Našel jsem řešení, které funguje skvěle pro moji situaci, a budu se s námi podělit o to, že by vám to také pomohlo.

Jak jsem vysvětlil výše, mým problémem bylo, že můj názor, bez argumentu, poskytl výsledky, které jsem chtěl, ale výchozí taxonomický pohled s argumentem, který nebyl tím, co jsem chtěl.

Pro vyřešení tohoto problému jsem nainstaloval modul Taxonomy Display http://drupal.org/project/taxonomy_display . Poté jsem překonfiguroval každý pohled tak, aby měl jako argument termín ID taxonomie.

Displej taxonomie umožňuje přiřadit slovní zásobu ke konkrétnímu pohledu. Nyní, když kliknu na vozidla/nákladní automobily, což je alias pro taxonomii/termín/3, pohled přebírá a toto je ve skutečnosti vykresleno správně a udržuje integritu struktury pole.

Pokud se někdo chce dozvědět více podrobností o konfiguraci, dejte mi vědět.

20
blue928

Věřím, že ve vašem nastavení je třeba zvážit několik faktorů:

  • Každá cesta musí být jedinečná pro přístup ke stránce, výrazu, pohledu nebo panelu stránky Pokud máte dva kusy obsahu se stejnou adresou, ztratíte kontrolu nad displejem. Drupal dává přednost termínu taxonomie před pohledy, takže jej nebude volat. Definice pohledu používající taxonomii/termín/# zachytí termín taxonomie, ale jak jste uvedli, nezobrazí smysluplnou adresu URL.

  • Zobrazení neodpovídají na aliasy. Je to proto, že první věcí Drupal dělá s jakoukoli žádostí) je převést alias na standardní formát uzlu/nid pro všechny Drupal obsah. Takže ve vašem případě vozidla/kamiony jsou převedeny na uzel/# přiřazený pohledu. Pohled nemůže vzít kontext přímo z aliasu.

Chcete-li získat to, co chcete, udělejte jednu z několika věcí.

  • Vytvořte nabídku s zpětnými voláními nastavenými na cestu podle vašeho pohledu. Tím vygenerujete správnou adresu URL a umožníte zobrazení reagovat.

  • Používejte panely se povoleným správcem stránek (v sadě Ctools Suite). Pokud definujete panel stránek definovaný pro příslušnou adresu URL, můžete umístit svůj pohled do panelu panelu nebo předat kontext ze stránky panelu přímo do podokna obsahu Pohledy. Podokno obsahu nemá cestu. Místo toho trvá vytvoření obsahu pomocí kontextů, jako je cesta, nastavená přímo panelem stránky. Tato video série na nodeone.se dělá vynikající práci při demonstraci toho, jak efektivně používat panely a správce stránek.

  • Dalším způsobem, jak získat obsah zobrazení na obrazovce, je použití modulu quicktabs . Nemyslím si, že by to vyhovovalo vaší konkrétní situaci, ale také se může přímo dotknout pohledů výběrem karet, které pro stránku definujete.

7
Ashlar

Pohledy mají integrovaný pohled, který emuluje a potlačuje taxonomické termíny. Jednoduše povolte, aby přepsal seznamy taxonomie pohledy. Taxonomy view

3
Jeremy John

Vlastně jsem udělal něco podobného před několika dny. Moje řešení není elegantní, ale funguje. To, co jsem udělal, bylo přepsat zobrazení taxonomie pomocí panelů, nikoli pohledů. Poté jsem do oblasti obsahu Panels přidal všechny své různé názory pro každý termín. Protože v mém případě má každé zobrazení filtr, který jej omezuje na výsledky konkrétní slovní zásoby, při návštěvě stránky s taxonomickým pojmem se zobrazuje pouze pohled na konkrétní slovní zásobu.

Dejte nám vědět, pokud potřebujete více informací o tom, jak jsem to implementoval.

2
Patrick Kenny

Skvělé řešení bylo navrženo WebbyKat , nastavit cestu vaší stránky na /taxonomy/term/% namísto /categories/%

Funguje to, ale přepíše všechny vaše podmínky do jednoho pohledu.

1
timofey.com