Créer une liste de pages CMS

La création d'une liste de page CMS dans le contenu est très simple a réaliser avec le widget data cms.

Vous devez d'abord créer le conteneur de la liste qui affichera les pages CMS, nous prendrons l'exemple du block good choice.

{block name="main:after"}
    {include file="home/brick/block-good-choice.tpl"}
{/block}

 Le block good choice est assez particulier car il permet d'afficher des blocks de pages CMS dans votre contenu en intégrant des icônes de Font-awesome pour chaque block.

{if $smarty.config.good_choice != '0'}
<div id="good-choice" class="clearfix">
    <div class="container">
        <div class="row">
            {widget_cms_data
                conf = [
                    'select' => [{getlang} => {#good_choice#}],
                    'context' => 'child'
                    ]
                assign="pages"
            }
            {foreach $pages as $page}
                {$icon = 'icon_'|cat:{$page@index+1}}
                <div class="col-sm-4">
                    <div class="media">
                        <div class="media-left text-center">
                            <p class="fa-stack fa-lg">
                                <span class="fa fa-circle fa-stack-2x"></span>
                                <span class="fa fa-{#$icon#} fa-stack-1x fa-inverse"></span>
                            </p>
                        </div>
                        <div class="media-body">
                            <h4>{$page.name}</h4>
                            {$page.content|truncate:180:'...'}
                        </div>
                    </div>
                </div>
            {/foreach}
        </div>
    </div>
</div>
{/if}

  Cet exemple est particulièrement intéressant pour injecter du contenu venant de pages CMS en sélectionant les enfants d'une page parente.

Informations sur : Créer une liste de pages CMS ?