De module voor gerelateerde artikels die Joomla voorziet laat in haar eenvoudigheid niet veel souplesse toe. Vandaar dat extensies welkom zijn. We vergelijken hier enkele extensies, gratis en betalend.

De besproken extensies zijn:

Bij de demo van dit artikel in de JUG-bijeenkomst, werd een 4° extensie aangeprezen:

We zullen op het einde van dit artikel in het kort de voor- en nadelen vermelden.

In de site was het de bedoeling om naast een artikel de aanverwante artikels te tonen maar op 2 verschillende plaatsen met elk een verschillend selectiecriteria. De hiervoor vermelde extensies zijn hiervoor in verschillende fasen gebruikt (tot de beste gevonden werd).
Op het einde van het artikel is er een vergelijkende tabel waarin alle eigenschappen vergeleken worden.

Er is nog een 4° extensie die helemaal niet voldoet aan de oorspronkelijke bedoeling maar die we op einde toch zullen bespreken:

FJ-Related Articles Plus

Wordt er een onderscheid gemaakt tussen de 2 relaties door de ene te baseren op meta-trefwoorden en de andere op tags dan zal je er niet komen met de gratis extensie. De developer van FJ-Related Articles geeft wel de keuze maar door 2 aparte versies (met dezelfde naam). Dus kan je deze 2 versies niet in één en dezelfde site installeren. De code is niet meer gepubliceerd in de Joomla Extension Directory maar nog wel te vinden op http://joomlacode.org/gf/project/freejoomla/wiki/?pagename=FJ+Related+Articles+Component+Home
Een ander probleem dat zich bij sommige template(versie)s voor kan doen: bij het bewerken van artikels in de front-end zijn de velden voor tags en meta-trefwoorden niet altijd present.

Eén voordeel heeft de gratis extensie wel tegenover zijn te betalende: je kan een component maken waarbij je de tags of trefwoorden opgeeft en dan zullen de verwante artikels zich mooi in een lijst presenteren.

FJ-RElated Articles Component 

In het voorbeeld hierboven bemerk je enkele mogelijke problemen die bij de 3 extensies naar voor kwamen:

Je kan bij het bewerken van een artikel een afbeelding plaatsen in het speciale veld 'Afbeelding introtekst' om de afbeelding niet te tonen in de volle tekstpagina maar enkel bij de introtekst. Deze mogelijkheid is iets waar meerdere extensies het moeilijk mee hebben (en niet alleen de hier besproken).

In de site halen we foto's uit Flickr door middel van een extensie waarbij dan de foto in de tekst kan verschijnen via een code als {flickr photo=1234567}. De extensie voor Related Articles zou dus dergelijke shortcode wel moeten interpreteren. Geen probleem zou ik denken: bij een definitie van een module is er het veld: 'Bewerk inhoud'. Merkwaardig genoeg ontbreekt dit in alle 3 extensies. De Raxo developer schreef wel waar en hoe je dit in de code kon wijzigen. De code had er zelfs gepaste commentaar voorgeplaatst maar waarom dit niet met een extra keuzeveld in/uit-geschakeld kon worden?
Hieronder een voorbeeld van FJ-Related (let wel: bij zijn component werkte die voorbewerking van inhoud wel goed zoals in de vorige afbeelding in het groen aangeduid is):

 

 FJ-Related met hoover

Zoals je kan opmerken in de pop-up die bij hoover de introtekst toont, wordt die shortcode { voor flickr } niet gerenderd.
Open Source laat code wijziging toe en als we in een php-bestand van FJ-Related wat code wijzigen (met uitvoerig gebruik van kopiëren & plakken + logisch denken), krijgen we voor bovenstaande module al een beter resultaat:

FJ-RElated Articles na code-aanpassing

Maar we willen voor onze site meer soepelheid en een mooiere voorstelling waarbij we niets aan de code moeten wijzigen, dus op zoek naar een andere extensie.

JV-Relatives

JV-Relatives op de JED en zeker op hun site konden mij overtuigen. Na aankoop bleek het doel en functionaliteit niet echt te matchen. Groot was mijn verbazing dat de instelling van de module centraal gebeurde, je kon de instellingen niet specificeren bij de creatie van een module maar onder het menu Componenten (hoewel er geen component gecreëerd kan worden zoals met FJ-Related). Dus hier kan ik geen 2 verschillende criteria mee definiëren omdat er maar 1 plaats van configuratie is.

Die algemene instelling is te verklaren als we het oorspronkelijke doel van JV-Relatives erkennen: over heel de site bij artikels verwante artikels vermelden. In ons voorbeeld was het doel specifieker en wel omlijnd. De toenmalige documentatie vermeldde niet hoe die 2 toepassingen configureren: in ons geval moest de plugin geïnactiveerd worden terwijl die wel aan mocht blijven staan voor een algemeen gebruik van verwante artikels.

 Hieronder worden de 2 toepassingen getoond: de configuratie en het resultaat op de site.

Plugin uitgeschakeld, verwante artikels getoond in een module.

JV-Relatives module front-end

Overeenkomstige configuratie:

JV-Relatives in module, back-end config

Als we verwante artikels willen bij elk artikel op de site en dit zonder hiervoor een module te definiëren, dan wordt de configuratie bijvoorbeeld:

JV-Relatives onder alle artikels (plugin actief) config

Zonder wijziging van CSS resulteert dit in volgende front-end:

JV-Relatives onder alle artikels

Als we in de configuratie het aantal kolommen wijzigen is het resultaat aanvaardbaar:

JV-Relatives plugin actief , 1 kolom breed, front-end

Je kan de verwante artikels ook opzij van een artikel laten verschijnen of op een door jouw zelfgekozen plaats mits het plaatsen van de shortcode {jvrelateves}.
Alle keuzes op een rijtje:

JV-RElatives Display positions

Twee voorbeelden met de setting Aligned with top right of articie content:

Met het tonen van Artikel tekst en Thumbnail aangeschakeld:

JV-Relatives in artikel met tonen van tekst en thumbnail

Tonen van Artikel tekst en Thumbnail beiden Af/Neen:

 Met een kleine aanpassing van CSS zal men allicht tot een aanvaardbare presentatie kunnen komen.

Ik denk dat deze toepassing, inclusief het mogelijk gebruik van shortcode, de sterkste punten zijn van JV-Relatives.

Heb je hieraan echter geen nood, zoals in mijn geval, dan is de extensie van Raxo dé oplossing. Ze blijkt nu zelf nog iets goedkoper te zijn dan die van JV-Related.

RAXO Related Articles

Als je de configuratie schermen overloopt, dan wordt het snel duidelijk welke mogelijkheden er allemaal mogelijk zijn. Op hun site zijn ze mooi uitgelegd. Groot was mij verwondering dan ook als bleek dat de layout mogelijkheden niet goed gedocumenteerd werden (nergens melding van welke stijl-classen voorgeprogrammeerd zijn). Misschien is dit nu aangepast in de documentatie op de site.

Enkele screenshots geven een mooi idee van de standaard waarden. 
Op hun site zijn alle configuratie-mogelijkheden mooi getoond, dus kijk even op Raxo docs: Related Articles

Hoewel de kolommen-layout er op hun site mooi gealigneerd uitzien, blijkt dit doordat de afmeting van de afbeeldingen goed uitgekiemd zijn, zo niet wrapt de tekst er nog net naast, zoals op onderstaande afbeelding te zien is.

 

Dus ondanks vele goede punten is hier enige eigen CSS-correctie vereist.

Er zijn 4 layout-types voorhanden met elk de kleuren donker & licht blauw, violet, purper, rood, oranje, geel, groen turkoois en grijs. De layout-types kan je kiezen uit een dropdown-lijst: raxo-bricks, raxo-columns, raxo-default, raxo-list. Hierboven was het layout-type raxo-column gebruikt met de blauwe kleur. Deze layout gelijkt sterk op layout-type raxo-bricks maar bij deze laatste wordt de afbeelding boven de titel weergeven.

Maar voor de kleuren moet je dan maar raden dat het een combinatie is van layout-type + kleur. bijvoorbeel in raxo-bricks krijg je zo volgende klassen: bricks-yellow, bricks-orange, bricks-red, bricks-violet, bricks-pink, bricks-blue, bricks-turquoise, bricks-green, bricks-gray. De CSS'en vind je in ../modules/mod_raxo_related_articles/tmpl/ waarin de mappen staan met de naam van de layout-types.

 

Hieronder de layout-type raxo-list in het rood (met de pijl zichtbaar opgekleurd bij hoover).

Als laatste voorbeeld de module in een rechterkolom geprangd met de standaard layout (met maximaal 200 letters voor de tekst), ditmaal in het groen:

Waar JV-Relatives wel een goede rendering van shortcode { flickr uitvoerde, lukte dit pas na contact-name met Raxo. Het was opgelost door 1 lijn code toe te voegen in het bestand helper.php:
achter de bestaande regel:

// Plugins Support
// $item->introtext = $plugins_support ? JHtml::_('content.prepare', @$item->introtext) : preg_replace('/{[^{]+?{\/.+?}|{.+?}/', '', @$item->introtext);

moet je volgende commando bijvoegen:

$item->introtext = JHtml::_('content.prepare', @$item->introtext);

Waarom dit niet als een optie in de configuratie-schermen geïmplementeerd was ... ik heb het raden ernaar.

Maar dit waren dan ook de enige negatieve punten die ik voor deze extensie tegenkwam.
 

iRelated Articles

Als afsluiter bespreken we een extensie die niet beantwoordde aan de gestelde noden maar die wel interessant is als alternatief voor JV-Relatives.
iRelated Articles toont net zoals JV-Relatives binnenin een artikel een blok(je) met een verwant artikel.

Wat deze extensie apart maakt is dat de verwantschap niet steunt op verwante tags of meta-trefwoorden, maar dat je per artikel volledig zelf kiest welke verwanten er getoond mag worden.

In het backend scherm Artikelen: Bewerken is er een extra veld dat van de extensie iRelated Articles:

Als je daarin een trefwoord begint te typen, dan zullen daaronder alle artikel-titels getoond worden die dit woord bevatten.

Als je verder typt verfijnt zich de lijst. Je hoeft dan enkel het artikel via zijn titel er uit te pikken. Als er al artikels toebedeeld zijn, dan worden die eronder (in lichtblauw) afgebeeld en kan je ze eventueel ontsluiten als verwante.

De component geeft je een overzicht van alle artikels met hun verwante artikels.

In de configuratie van de plug-in bepaal je

  • waar je de blokken (die verwante tekst tonen) mogen verschijnen
    • Verberg
    • Fixed Paragraph
    • Repeat every x paragraphs
    • Middle of the content
    • After content
    • Middle and after the content
    • Random Pararaphs
  • en dan voor de gekozen verschijningsvorm een fijnere specificatie zoals bij (de) hoeveel(ste) paragrafen van het gastheerartikel de verwanten moeten verschijnen

Zo werd er in onderstaand voorbeeld voor gekozen om de verwanten te tonen bij vastgestelde paragrafen, namelijk de 1°, 3° en 6° paragraaf van het gastheerartikel.

 Daarnaast kan me specificeren hoe de verwante artikelen in die blokken getoond moet worden.

 

 Met bovenstaande setting komt men tot een resultaat zoals:

met naast de derde paragraaf van het gastheer-artikel weer een blok voor een ander verwant artikel.

Als je #Artikelen in lijst op 2 zet krijg je 2 artikelen per blok:

 


  Anywhere Articles

De selectiecriteria of filter laat meer mogelijkheden toe: net zoals Raxo kan j e kiezen op Tags, Category Featured, Auteur, maar niet ! op Meta-keys. Bijzonder is wel dat je kan testen op bepaalde condities via een IF & ELSE zoals bijvoorbeeld: 

{if category == 'Katten' && 'Tips' IN tags} .... {/if}

Je kan heel wat tonen: enkel de tags, een Custom Field en elke kolom uit de tabel van Artikels is ter beschikking (en je kan alles combineren).

Voor de afbeelding kan je effectief kiezen voor de n°de afbeelding maar een automatisch resizen zoals bij Raxo is onmogelijk net zo min om de keuze automatisch te laten uitvoeren. 

Voorbeeld: toon 5 artikels van categorie Katten met hun titel als link en daaronder de afbeelding van de intro met introtekst.

{articles category="Katten" limit="5"}[link][title][/link][image-intro][introtext]{/articles} 

Toon artikels met tag=Tip en die tot dezelfde category behoren als het artikel waarin deze code staat, en dit in dalende orde van publicatie-datum:

{articles categories="current" tags="Tip" ordering="publish_up DESC"}[link][title][/link] [introtext]{/articles}

Toon alle artikels in gelijk welke categorie waarbij de tag='agenda' met hun kreatiedatum als "01 jan 2018"en dan de titel (als link) en dit maximaal 800px breed:

{articles tags="agenda" limit="30" ordering="created"}[div width="800"] [created format="d M Y"] [link] [title] [/link] [/div]{/articles}  

 


 Vergelijkingstabel

 

  Joomla Extensie:  FJ-Related Article Plus JV-Relatives Raxo Related Articles
   site developer:  site + doc site + doc site + doc
  prijs:  gratis 30 Euro 20 Euro
component Component voorzien? ja neen neen
selectie Object voor matchen: afhankelijk van versie: tags ofwel keywords tags, keywords tags, keywords,auteur
selectie Keuze voor match op 'alle' tags ? ja of op een te bepalen minimum aantal neen neen
selectie Forceren van specifieke tag ja neen neen
filter Beperking tot gekozen categorieën ja ja ja
filter Beperking tot auteurs ja neen  
filter Keuze te beperken tot 'zelfde' categorie ja ja ja
filter Switchen tot Wel/Niet behorende tot de selectie neen neen ja
filter Kan je Speciale artikels (Home-pagina) uitsluiten? neen neen ja
filter Kan je bepaalde artikels uitsluiten? neen neen, tenzij via URL ja
tekst Keuze om introtekst als tip te tonen ja nvt nvt
tekst Bepalen lengte van getoonde tekst ja ja ja
rendering Kan men kiezen om de link op titel of afbeelding te plaatsen? neen ja ja
rendering Kan je kiezen welke artikel(meta)informatie getoond mag worden in Component wel ja ja
rendering Afbeelding is te kiezen neen neen uit intro, artikel of automatisch
rendering Afmeting afbeelding te regelen? neen ja ja
rendering Volgorde is te bepalen? (relevantie = aantal matchende elementen) datum, titel, relevantie datum, rating, titel, relevantie datum, rating, titel
rendering Aantal te tonen verwante items is te bepalen? ja ja ja
rendering Wat als geen verwanten? toont zelfgeschreven tekst jouw tekst of keuze om artikel uit zelfde categorie te tonen toont toch (zo maar) artikels
rendering Voorbewerking artikel-inhoud bij te voegen: JHtml::_('content.prepare', textvariabele); Component: ja. Module: enkel mits code-ingreep ja onmogelijk tenzij code-ingreep
rendering Heb je keuze uit verschillende stijlen? neen aligneren van thumbnail 4 stijlen & 4 kleuren
integratie Aansluiting met andere extensies? neen EasyBlog, K2, AceSEF, sh404SEF neen
vergelijking Grootste voordeel? gratis automatisch getoond bij alle artikels zonder extra module / code zeer veel selectie & filter en tweak mogelijkheden
vergelijking Ander voordeel kan als component gebruikt worden met evt. een eigen filterveld   goede keuze aan stijlen
vergelijking Grootste nadeel? in module toont het de (intro)tekst enkel als tooltip 1 configuratie voor heel de site toont random artikels als er geen verwanten zijn
vergelijking Andere nadeel, problemen   Tekst ""geen verwante artikels"" wordt getoond als foutmelding! Alignering afbeelding niet soepel. Sommige styling kon vollediger, beter
type Functionaliteit FJ-Related Articles Plus JV-Relatives RAXO Related Articles

 


Auteur: Manu Ampe