Concrete5 - Hämta text från ett content block

Om du skall bygga ett block template för ett page_list block så kan du istället för att hämta text från ett attribut så kan du göra detta genom att hämta ut innehåll från ett content block.

Enkla sättet är att bara hämta ett block och sedan använda display() metoden på blocket, dock får du med all formatering som kanske inte alltid är önskvärd.

Först behöver vi hämta ut blocket i foreach ($pages as $page) loopen. 

Detta gör på följande sätt:

$blocks = $page->getBlocks("Content");

Där "Content" är namnet på de Area du som finns på sidan.

Därefter hämtar du innehållet i Content blocket enligt följande:

<?php foreach ($blocks as $block): $content; ?><br>  <?php if ($block->getBlockTypeHandle() === 'content'):<br>    $content = strip_tags($block->getInstance()->getContent());<br>  ?><br>    <?php echo $content; ?><br>  <?php break; endif; ?><br><?php endforeach; ?>

Koden ovan letar efter ett content block, tar bort html taggar från innehållet och skriver därefter skriver ut innehållet.
Efter att den hittat ett content block avbryts foreach-loopen.


Vill du bara visa blocket med formatering som det ser ut på ursprungssidan kan du istället använda:

<?php foreach ($blocks as $block): ?><br>  <?php $block->display(); ?><br><?php endforeach; ?>

Andra artiklar

Nedan finner du ett urval av ett noga slumpartade artiklar som skall få dig att vilja läsa mer. 


Kommentarer