Meertalig weblog met CGBlog module
CGBlog
Maak per gewenste taal een categorie aan, dus bijv. nl, d, e en fr.
Het is niet mogelijk om één artikel aan meerdere categorieën te koppelen.
Om straks de HTML sjabloon aan te passen aan de $lang string gebruiken we de categorie naam als 'trigger'
Dus artikel in categorie
nl is een Nederlandstalig artikel en zal dus een Nederlandstalig website layout moeten tonen...
We doen dit door boven in het detail sjabloon van CGBlog te plaatsen:
Code: Select all
{* Pass category name to template *}
{foreach from=$entry->categories item='category'}
{assign var=lang value=$category.name}
{/foreach}
Hiermee wordt de categorienaam van het artikel gekoppeld aan de string $lang...
HTML Sjabloon / detailpagina
Maak een apart HTML sjabloon aan die alleen gebruikt wordt voor de detailpagina van CGBlog.
Deze detailpagina moet als "Standaard detail-pagina" worden ingesteld onder de tab "Opties" in de CGBlog module.
Afhankelijk van de website/pagina opbouw zul je wat aanpassingen moet maken in het HTML sjabloon. Deze basis hiervan is de
$lang string, die bepaald welk onderdeel wordt getoond. Deze komt in dit geval vanuit de CGBlog detailtemplate en niet uit een UDT zoals in de landingpage en 404 pagina.
Bijvoorbeeld de navigatie aanroep:
Code: Select all
{if $lang == 'nl'}
{menu template='minimal_menu' start_element="2.1" show_root_siblings="1" number_of_levels='1'}
{elseif $lang == 'd'}
{menu template='minimal_menu' start_element="4.1" show_root_siblings="1" number_of_levels='1'}
{else}
{menu template='minimal_menu' start_element="3.1" show_root_siblings="1" number_of_levels='1'}
{/if}
Of mooie meertalige breadcrumbs:
Code: Select all
{if $lang == 'nl'}
{breadcrumbs starttext='U bent hier' root='start' delimiter='>'} <b>- {$blog_title}</b>
{elseif $lang == 'd'}
{breadcrumbs starttext='Sie sind hier' root='anfang' delimiter='>'} <b>- {$blog_title}</b>
{else}
{breadcrumbs starttext='You are here' root='home' delimiter='>'} <b>- {$blog_title}</b>
{/if}
Er hoeft maar één {content} blok worden opgenomen, in de pagina zal hier "niets" in hoeven te staan.
Op de blog pagina's kan per taal de juiste CGBlog categorie worden aangeroepen, met:
website.com/nl/blog >> {CGBlog category="nl"}
website.com/e/blog >> {CGBlog category="e"}
website.com/d/blog >> {CGBlog category="d"}
Voor een Nederlandstalig artikel vink je dus alleen categorie
nl aan.
In het Custom URL veld van het artikel kun je nu handmatig een pretty url bepalen, dus bijvoorbeeld:
nl/blog/mijn-artikel-naam
Op de website krijg je dan: website.com/nl/blog/mijn-artikel-naam
Ik geloof dat dit wel de basis handelingen zijn...
grt. Rolf