Créer une liste de catégories

La création d'une liste de catégories du catalogue dans le contenu est très simple a réaliser avec le widget data catalog.

Vous devez d'abord créer le conteneur de la liste qui affichera les catégories.

{widget_catalog_data
        conf =[
        'context' => 'category'
        ]
        assign='categoryData'
    }
<div class="product-list">
{include file="catalog/loop/category.tpl" data=$categoryData}
</div>

  Nous allons inclure le fichier contenant la boucle des éléments.

 Je vous conseil de créer un dossier nommé loop dans le dossier du module courant pour y placer le fichier contenant la boucle

Boucle des catégories

{if isset($data.id)}
    {$data = [$data]}
{/if}
{if !$classCol}
	{$classCol = 'thumbnail col-sm-6 col-md-4 col-lg-4'}
{/if}
{if is_array($data) && !empty($data)}
	{foreach $data as $item}
		<div{if $classCol} class="{$classCol}" {/if}>
			<div class="caption">
                <a class="img" href="{$item.url}" title="{#show_page#|ucfirst}">
                    {if $item.imgSrc.medium}
                        <img class="img-responsive" src="{$item.imgSrc.medium}" alt="{$item.name|ucfirst}"/>
                    {else}
                        <img class="img-responsive" src="{$item.imgSrc.default}" alt="{$item.name|ucfirst}"/>
                    {/if}
                </a>
				<h3>
					<a href="{$item.url}" title="{#show_page#|ucfirst}">
						{$item.name|ucfirst}
					</a>
				</h3>
				<p>
					{if $item.content}
						{$item.content|strip_tags|truncate:250:'...'}
					{/if}
				</p>
			</div>
		</div>
	{/foreach}
{/if}

  On peut également ciblé les éléments que l'ont souhaitent afficher en sélectionnant ou excluant des catégories.

Tout ce passe dans la configuration du widget data avec le paramètre select ou exclude.

Exemple de sélection de catégories

{widget_catalog_data
    conf =[
    'context' => 'category',
    'select' => ['fr' => '1,2']
    ]
    assign='categoryData'
}

 Exemple d'exclusion de catégories

{widget_catalog_data
    conf =[
    'context' => 'category',
    'exclude' => ['fr' => '1,2']
    ]
    assign='categoryData'
}

  La création d'une liste de sous catégories est identique a l'exception du context étant subcategory

Limiter les catégories

{widget_catalog_data
        conf =[
        'context' =>  'category',
        'limit' =>  4
        ]
        assign='categoryData'
    }
    <div class="product-list">
        {include file="catalog/loop/category.tpl" data=$categoryData}
    </div>

Ordonner les catégories

{widget_catalog_data
     conf =[
        'context' =>  'category',
        'sort' => ['order'=>'DESC']
     ]
     assign='categoryData'
}
Informations sur : Créer une liste de catégories ?