Jak vytvořit blok s odkazy na související články v Drupalu 7 (video)

Zatímco pro Drupal 6 je k dispozici množství modulů generujících blok s odkazy na související články, v současné době žádný z nich není plně odladěný a funkční pro Drupal 7. Naštěstí to vůbec nevadí, protože podobnou funkcionalitu docílíte i s využitím oblíbeného modulu Views.

Způsobů, jak mezi sebou nějakým způsobem provázat obsah a vytvářet po články odkazy na související příspěvky, je celá řada. Pro Drupal 6 jsem používal modul Similar by Terms, který v první verzi vytvářel blok s odkazy s možností úpravy pomocí šablony, ve verzi druhé pracoval coby rozšíření Views a umožňoval tak definovat libovolný vzhled bloku se souvisejícími odkazy.

Zmíněný modul byl založen na provázanosti obsahu na základě stejných termínů kategorií. Jiným řešením by mohlo být CCK políčko typu Node Reference, ve kterém byste při editaci článku ručně vybírali názvy dalších souvisejících. S pomocí modulu CCK Blocks, byste pak z daného políčka vytvořili blok a umístili jej do některého z regionů na webu.

Řešení pro Drupal 7 pomocí Views

Mám raději provázanost pomocí kategorií, tagů. Zaručí vám to, že blok s odkazy na související obsah se vygeneruje automaticky podle nastavených pravidel. Vše, co pro to musíte udělat, je vytvořit si nový slovník kategorií (Struktura > Kategorie), kterému nastavíte vyplňování pomocí tagů. Tedy přidáte jej k vybranému typu obsahu jako pole typu Term reference a s widgetem Autocomplete field.

Následující návod vám názorně ukáže, jak pak můžete pomocí Views generovat odkazy na články, které mají alespoň jeden stejný termín, jako je článek právě zobrazený. Praktické využití tohoto návodu vidíte hned zde na Maxiorlovi - stačí kouknout pod článek.

K zopakování toho, co v návodu zmiňuji, potřebujete následující:

  • Standardní instalaci Drupalu 7
  • Moduly Views, Chaos tool suite
  • Články svyplněnými tagy (slovník se automaticky přiřadí a vytvoří při instalaci Drupalu 7, případně si vytvořte vlastní)

K návodu mě inspiroval Alan Pinkert v příspěvku na Drupal.org, za což mu patří velké díky.

Tagy

Buďme ve spojení, přihlaste se k newsletteru

Odesláním formuláře souhlasíte s podmínkami zpracováním osobních údajů. 
Více informací v Ochrana osobních údajů.

Autor článku: Jan Polzer

Tvůrce webů z Brna se specializací na Drupal, WordPress a Symfony. Acquia Certified Developer & Site Builder. Autor několika knih o Drupalu.
Marketing Director v Lesensky.cz. Ve volných chvílích podnikám výlety na souši i po vodě. Více se dozvíte na polzer.cz a mém LinkedIn profilu.

Komentáře k článku

návštěvník

Dobry den,

muzete prosim Vas poradit, jakym zpusobem by bylo nejlepsi provazat obsah typu Vylet nebo Vyukovy_kurz s obsahem typu Fotogalerie, s tim ze fotografie jsou vlozeny asi tyden az dva po probehnuti Vyletu? Aby clovek, ktery zadava galerii pro urcity vylet snadno zvladnul provazani a souvisejici Vylet byl provazan se souvisejici fotogalerii a naopak.

dekuji

Profile picture for user Jan Polzer

Dobrý den. Doinstalujte si do Drupalu 7 modul References, u Foogalerie vytvořte nové pole typu Node reference s tím, že oto pole bude odkazovat jen na obsah typu Výlet. Při editaci fotogalerie se zobrazí políčko - začnete do něj psát a nabídne odpovídající názvy Výletů.

Tím vznikne provázání a třeba pomocí Views můžete u fotogalerie zobrazit úvodník odpovídajícího článku, nebo zase fotogalerii u výletu.

návštěvník

Např. dle http://www.metachunk.com/blog/adding-related-content-view-drupal-7.

Na tomto odkazu je postup jednodušší a rychlejší (nepletou se tam vazební podmínky, atp.). 

V čem je lepší Váš postup ve videu - zda-li to lze říci?

 

Profile picture for user Jan Polzer

No, na první pohled se mi to zdá stejné, nebo podobné. Nechce se mi to podrobně zkoumat.

Ono, v Drupalu je kouzlo (a někdy i potíž) v tom, že k výsledku můžete dojít pomocí různých řešení. :-)

návštěvník

Dobrý den,

tento návod je podobný tomu co chci, ale nejspíš bych to nezvládl, protože bych potřeboval filtrovat na základě zvolení typu obsahu. Například "novinky", "akce" a to do vybraných bloků se stejným názvem. Můžete prosím zde napsat jak na to? Možná to bude jednodušší než toto video, ale modul wievs je pro mě stále příliš složitý. Nikde jsem nenašel článek, kde by byl tento modul důkladně probrán. Děkuji a přeji hezký den. JS

návštěvník

Dobrý deň, ďakujem Vám za skvelý návod, podarilo sa mi vytvoriť blok s podobnými článkami, avšak mám jednen problém. Ak má článok viacero tagov a ďalší má tak isto viac tých istých tagov stane sa mi to, že sa v bloku s podobnými článkami objaví rovnaký článok aj 3 krát. Vedeli by ste mi prosím poradiť ešte nejaký filter do Views, ktorý by dokázal zabrániť, aby sa zobrazoval rovnaký článok medzi podobnými článkami viackrát? Vopred veľká vďaka.

Profile picture for user Jan Polzer

To je věc, která mě také trápí. Mám pocit, že by to mělo jít vyřešit zapnutím agregace v nastavení daného View. Ale zatím jsem se nedostal k tomu, to vyzkoušet.

návštěvník

Vďaka za radu, aktivoval som Agregáciu MAX(Obsah: Nid) a zdá sa, že je to podstatne lepšie, i keď to ešte nerieši všetko.

návštěvník

Promiňte, ten návod jaksi nevidím, zobrazuje se mi jen prazdný prostor mezy odstavci.

návštěvník

Dobrý večer, a jak by se dalo vyfiltrovat aby se mi v bloku zobrazily související články z jiného typu obsahu než je samotný zobrazený článek?

Profile picture for user Jan Polzer

Nedával bych tam filtr podle typu obsahu. Nebo naopak přidal filtr pro zobrazení jen toho jiného typu, který potřebujete. Propojení je řízeno přes taxonomii, to není na typ obsahu v Drupalu vázané.

Přidat komentář

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