Aller au contenu principal

Guide

Contribuer des données

Pour ajouter des données à vos paramètres personnalisés, suivez ces étapes :

  • Créez un groupe de champs et associez-le à l'entité Paramètre personnalisé.
  • Associez autant de champs que nécessaire à ce groupe de champs.
  • Allez dans la section CFG > Paramètre personnalisé du back-office.
  • Trouvez votre page de configuration et contribuez des données.

Récupérer des données

Vous pouvez récupérer des données des paramètres personnalisés en utilisant deux méthodes :

  • Utilisation du Data Retriever: Dans votre template (Smarty) ou fichier PHP, utilisez le DataRetriever pour accéder facilement aux données :
/some-file.php
$dataRetriever = DataRetrieverFacade::getInstance();
$settingData = $dataRetriever->get('setting', 'field_group_slug');
/some-template.tpl
{assign var="data" value=$modules.customfieldgroups.data->get('setting', 'field_group_slug')}
  • Utilisation des hooks associés:

    • Chaque groupe de champs peut être associé à des hooks spécifiques dans PrestaShop. Si votre paramètre personnalisé est lié à une section particulière du site web (par exemple, la page d'accueil), vous pouvez utiliser les hooks associés pour afficher automatiquement les champs : Field group settings

    • Vous pouvez surcharger le template comme pour un module classique. Voici un exemple de surcharge pour le hook "displayHome" :

/themes/your-theme/modules/customfieldgroups/views/templates/hook/display-home.tpl
{foreach from=$field_groups item=$elements key=$field_group_slug}
{foreach from=$elements item=$value_details}

{if $field_group_slug == 'custom_setting'}

<div>
<h1>{$value_details.slug_values.field_text_slug}</h1>
</div>

{else}

<div class="cfg-card display-home">
<div class="cfg-header">
<span class="title">{$value_details.field_group->getName()}</span>
</div>
<div class="cfg-body">
{include file="module:customfieldgroups/views/templates/hook/_partials/fields.tpl" values=$value_details.values field_group=$value_details.field_group}
</div>
</div>

{/if}

{/foreach}
{/foreach}