Comment personnaliser l’affichage d’un Smart Field ?

Prérequis

Afin de pouvoir suivre ce guide, il faut préalablement savoir Comment modifier l’aspect d’un Smart Field à l’aide d’une option de représentation.

Comment ajouter une icône à la valeur d’un champ ?

On utilise l’option setTemplate pour ajouter un template sur une SmartField.

Recommandations

Si vous n’êtes pas familier avec le concept d’Option de rendu, en particulier de l’option setTemplate, il est recommandé de lire la documentation associée disponible ici

Voici un exemple d’utilisation de l’option setTemplate dans le fichier src/vendor/Cogip/Restauratec/SmartStructures/Menu/Render/MenuViewRender.php pour ajouter une icône à un Smart Field:

<?php

namespace Cogip\Restauratec\SmartStructures\Menu\Render;

use Anakeen\Ui\RenderOptions;
use SmartStructure\Fields\Menu as MenuFields;

class MenuViewRender extends \Anakeen\Ui\DefaultConfigViewRender
{
    public function getOptions(\Anakeen\Core\Internal\SmartElement $document): RenderOptions
    {
        $options = parent::getOptions($document);
        $options->text(MenuFields::menu_title)->setTemplate('<div class="restauratec-custom-menu-title" style="display:flex"><i class="fa fa-book" aria-hidden="true" style="margin-right:10px"></i>{{{attribute.htmlDefaultContent}}}</div>');
        return $options;
    }
}

L’icône fa-book est ajouté au titre menu_title ayant pour libellé "Menu A2".

SetDescription

Vous pouvez maintenant déployer vos modifications :

npx @anakeen/anakeen-cli deploy -c http://localhost:8080/control -s . -u admin -p anakeen --reinstall

Et voir le résultat sur un MENU existant.

Et ensuite ?

Comment personnaliser l’affichage des Smart Fields d’un cadre