Hoe bouw ik een content blok met variabelen?
Een content blok is een stuk HTML dat je op meerdere plekken in je klantpagina's toont: boven de kalender, in de stappen van het boekingsdialoog, in een menu of als header en footer van een thema. Een blok is een Smarty-template. Naast gewone HTML kun je dus variabelen ({$prod_desc}) en tags ({ext mod="menu" id="…"}) gebruiken. Zo maak je één blok dat voor elk product de juiste naam, foto en kenmerken toont.
Het zijpaneel in de editor
Open een content blok via Configuratie > Klant Pagina > Content Pagina's > Content Blok. Rechts naast de editor zie je:
- In gebruik op — alle kalenders, dialoogstappen, menu's, thema's en widgets die dit blok tonen.
- Productvariabelen en combivariabelen — met per groep op welke plekken ze gevuld zijn en waar ze leeg blijven.
- Tags — kant-en-klare voorbeelden van tags die in elk blok werken.
Klik op een variabele of tag om die op de positie van de cursor in te voegen, zowel in de broncode als in de visuele editor.
Waar worden de variabelen gevuld?
Een variabele heeft alleen een waarde als op die plek een product bekend is:
| Plek | Gevulde variabelen |
|---|---|
| Kalender en de stappen opties, vragen, deelnemers, spelers en extra velden | Product en, bij een combi, combi |
| Native widget (content blok per product) | Product |
| Index, login, checkout, menu, thema header/footer en overige pagina's | Geen productvariabelen — deze blijven leeg |
Staat hetzelfde blok op beide soorten plekken? Dan waarschuwt het zijpaneel dat de productvariabelen op een deel van de plekken leeg blijven.
Voorbeeld: productintroductie boven de kalender
<div class="product-intro">
<img src="{$object_image}" alt="{$prod_desc}" class="img-fluid">
<h3>{$prod_desc}</h3>
{$obj_long_desc nofilter}
<p>Geschikt voor: {$obj_txt_custom03|default:"alle leeftijden"}</p>
</div>{$object_image}is het webadres van de standaardafbeelding van het product. Zet het daarom in een<img src="…">.- Lange teksten zoals
{$obj_long_desc}bevatten HTML. Voegnofiltertoe, anders zie je de HTML-code als tekst. Het zijpaneel doet dit automatisch. |default:"…"toont een vaste tekst als het kenmerk leeg is.
Voorbeeld: kenmerk (ja/nee)
{if $obj_chk_custom01}
<p class="alert alert-info">Rolstoeltoegankelijk</p>
{/if}Voorbeeld: onderdelen van een combi
<h3>{$combi_desc}</h3>
<ul>
{foreach $combidetail as $combidetailrow}
<li>{$combidetailrow.obj_desc}</li>
{/foreach}
</ul>Controle bij opslaan
Bij het opslaan wordt het blok gecontroleerd. Het wordt niet opgeslagen bij:
- een fout in de template, bijvoorbeeld een
{if}zonder{/if}of een onbekende tag; - variabelen in de schrijfwijze van e-mailtemplates, zoals
{OBJ_DESC}. Gebruik in een content blok{$obj_desc}: de namen zijn gelijk, alleen de schrijfwijze verschilt; - onderdelen die om veiligheidsredenen niet zijn toegestaan, zoals serverinstellingen of het inladen van bestanden.
Gebruik je een tag die alleen intern bedoeld is (zoals {seo}), dan wordt het blok wel opgeslagen met een waarschuwing.
Content blok in de native widget
In de instellingen Functioneel van een native widget kies je bij Content blok per product een blok. De widget toont het blok bij het gekozen product, gevuld met de productvariabelen. Scripts en tags die de klantpagina nodig hebben (zoals {ext}) werken niet in de widget; de HTML wordt voor de veiligheid opgeschoond.
JavaScript in een blok? Zie Kan ik code toevoegen aan een content blok?


