NAPC Demo  

Essayez gratuitement NAPContent sur notre site demo !

Devenez membre

 et bénéficiez de toutes nos solutions!

Devenez membre

Découvrez les sites

qui utilisent NAPContent !

Voir
plus

Créer son template

Chaque template est composé de 5 vues différentes : adminlist,form,item,list et module.

Les fichiers d'un template pourront donner lieu à la création de plusieurs templates dans NAPContent. En effet, cela permet d'utiliser des paramètres différents pour certains templates ou bien tout simplement de charger des champs différents, tout en gardant une structure de fichier identique commune pour l'affichage.

 Lors de la création de votre template il n'est pas forcément nécessaire de créer l'affichage pour l'ensemble de ses vues, vous pouvez donc créer uniquement les vues qui nous intéresse.

Il est important de bien respecter le nom des fichiers correspond à la vue et de toujours mettre en place le fichier xml associé à son fichier php.

Prenons exemple avec la vue item.

Structure du fichier XML

 Fichier item.xml permettant de gérer les différentes positions et les paramètres.

<?xml version="1.0" encoding="utf-8"?>
<form>
    <fields name="params">
        <fieldset name="params">
            <field name="allowurlitem" label="COM_NAPC_PARAMS_ALLOW_TPL_URL" description="COM_NAPC_PARAMS_ALLOW_TPL_URL_DESC" type="list" default="0">
                <option value="0">JNO</option>
                <option value="1">JYES</option>
            </field>
        </fieldset>
    </fields>
    <fields name="position">
        <fieldset name="position">
            <field name="top" type="napctplpos" label="Top" multiple="true"/>
            <field name="content" type="napctplpos" label="Content" multiple="true"/>
            <field name="bottom" type="napctplpos" label="Bottom" multiple="true"/>
            <field name="render" type="napctplpos" label="Render" multiple="true"/>
        </fieldset>
    </fields>
    <fieldset name="details">
        <field type="text" name="id" filter="unset" label="JGLOBAL_FIELD_ID_LABEL" readonly="true"/>
        <field type="text" name="name" filter="unset" label="COM_NAPC_NAME" readonly="true"/>
        <field type="text" name="pathfile" filter="unset" label="COM_NAPC_PATHFILE" readonly="true"/>
    </fieldset>
</form>

Tout d'abord les paramètres du template sont définis dans l'entrée XML <fieldset name="params">, vous pouvez créer autant de paramètres que vous le souhaitez en utilisant une structure standard de Joomla!

Dans l'exemple ci-dessus, le paramètre "allowurlitem" est défini afin de savoir si ce template peut être utilisé via un paramètre d'URL "naptpl" (cela permet de forcer un template pour une vue spécifique). 

Vous pouvez définir vos propres paramètres qui pourront agir avec le fichier php du template. Pour utiliser un paramètre dans un fichier de template, il suffit d'écrire la ligne suivante :

$this->params->get('param_name');

Une deuxième section nommé <fieldset name="position"> permet de définir les différentes positions de template. Une position est une zone dans laquelle il est possible d'affecter une liste de champ afin de générer leur affichage.  Il est possible de trier cette liste de champ et dans modifier l'affichage par défaut.  

Vous pouvez à tout moment créer ou modifier des positions existantes (attente si vous supprimez ou renommez une position, vous supprimerez également l'association avec l'ensemble des champs affectés. 

Pour ajouter une nouvelle position, voici le format à respecter :

<field name="position_name" type="napctplpos" label="Position's name" multiple="true"/>

Le "name" représente le nom technique pour exploiter la position dans le template alors que le "label" est juste présent pour identifier la position lors de l'affectation des champs.

La dernière section dans le fichier XML <fieldset name="details"> ne doit pas être modifiée, elle est utilisée pour le bon fonctionnement du composant et elle doit être présente dans n'importe quel fichier de configuration XML d'un template.

×
Ce site utilise des cookies pour vous offrir le meilleur service. En continuant, vous acceptez de recevoir les cookies sur ce site.