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

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 réorganiser les Smart Fields dans un cadre ?

On utilise l’option setTemplate pouur appliquer un template sur un cadre.

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 sur un cadre dans le fichier src/vendor/Cogip/Restauratec/SmartStructures/Menu/Render/MenuViewRender.php pour centrer les valeurs excepté le titre du menu qui possède déjà son propre template :

<?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>');
        $options->frame(MenuFields::menu_frame)->setTemplate('<div class="restauratec-custom-menu-frame" style="text-align: center">{{{attribute.htmlDefaultContent}}}</div>');
        return $options;
    }
}

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 afficher plusieurs Smart Fields d’un tableau dans une même colonne