DERNIERE INFO : Mise à jour 3.0.5 disponible !
Inscription Connexion client

Editeur de thème

Introduction

Tous les développeurs web et intégrateurs ont déjà été confrontés à un problème récurrent des CMS tiers : l’intégration d’un design est fastidieux et prend du temps.

Pour pallier à ce problème, le système de thèmes d’e-cms utilise des balises simplifiés qui permettent d’afficher du contenu dynamique de tout type comme le nom d’utilisateur, les articles et même des variables personnalisés.

Par ailleurs, ce système a aussi été pensé pour satisfaire également les programmeurs où la flexibilité des thèmes d’e-cms 3 permet parfaitement d’utiliser du PHP et même de lier les deux techniques.

L’éditeur de thème d’e-cms est donc le point central de toute intégration et défini l’apparence entière d’un site. En plus des explications sur le fonctionnement de l’éditeur de thème, vous trouverez ici un descriptif de toutes les balises de thèmes et leurs concordances en PHP.

InterfaceEditeur de thème

Accessible via le sous-menu « Personnalisation » du panneau latéral, l’éditeur de thème se présente sous la forme de huit onglets contenant chaqu’un le code source dans son éditeur des principaux fichiers de thèmes.

En dessous de chaque onglet, ce trouve le chemin du fichier de thème courant et à droite, un bouton nommée « Afficher les balises » qui une fois cliqué laisse apparaitre un panneau affichant l’intégralité des balises de thèmes du fichier courant tout en gardant en tête que toutes les balises du design général (main.php) sont applicables sur tous les fichiers de thèmes.

Pour sauvegarder toute modification, il suffit simplement de cliquer sur le bouton « Enregistrer » avec tout de même une petite particularité : la page n’est pas rechargée ce qui permet de ne pas perdre de fil des modifications tout en ayant un aperçu immédiat.

Pour finir, une liste au-dessous rassemble l’intégralité des fichiers présents dans le dossier template/ ainsi que (dans le cas de sa présence à la racine du site) le fichier style.css ainsi que les fichiers css présents dans le dossier template/.
De plus, vous noterez qu’il est possible de créer un nouveau fichier de thème directement dans l’interface alors qu’une fonctionnalité affiche via une icône distinctive quel fichier de thème est actuellement utilisé pour définir la page d’accueil et quel fichier de thème est une feuille de style css.

Fichiers et structure

Sous e-cms, tous les fichiers (PHP) qui définissent un thème sont et doivent être placés dans le dossier template/.
Cette limitation ne s’applique qu’à la partie « HTML » de l’apparence de votre site, les feuilles de styles CSS et autres scripts ne sont pas soumis à quelconque structure spécifique et peuvent ainsi être placés tel quels là où vous le souhaitez.

Les fichiers de thèmes suivant sont tous indispensables au fonctionnement d’un site e-cms et sont les seuls à avoir une utilité définie dont voici la description :

Balises de thèmes

Les balises de thème d’e-cms est une technique simple d’utilisation permettant de placer des dizaines d’éléments dynamiques que ce soit dans les fichiers de thème ou même directement dans les contenus tel que les articles et pages statiques.

Concernant les fichiers de thème, les balises peuvent être aussi bien positionnées directement dans l’HTML qu’affichés en PHP ce qui peut être très utile dans le cas de la création de conditions.
De plus, vous trouverez dans la liste plus bas l’intégralité des balises de thème et leur correspondance en PHP qui peuvent parfaitement être utilisés dans les fichiers de thème du moment que le code PHP est situé entre les classiques balises < ?php et ?>.

Pour finir, il est important de noter que toutes les balises applicables dans le fichier de thème général (main.php) le sont également sur l’ensemble du site ainsi que sur l’ensemble des fichiers de thème.

A titre d’exemple, le code ci-dessous placé dans un fichier de thème affichera trois fois le titre du site avec trois méthodes différentes :

[titre_site]
<?php
echo '[titre_site]';
echo $data_site["titre_site"];
?>
 

Liste exhaustive des balises de thèmes

main.php – Design général (s'applique à l'emsemble du site et des fichiers)

Balise de thèmePHPDescription
[content] ou [contenu] $content Affiche le contenu de page (obligatoire) 
[pages] $pagination Affiche les liens de pagination
[previous_page] $previousPage Affiche le bouton précédent de la pagination 
[next_page] $nextPage Affiche le bouton suivant de la pagination 
[menu] menu(); Affiche le menu généré par e-cms
[menu=1]
menu(int id = 0); Affiche le menu sélectionné
[menu=1,li] menu(int id = 0, string $tag = false); Affiche le menu sélectionné où chaque élément est séparé par la balise spécifié (ici <li> dans cet exemple)
[category_list] $category_list Affiche sous la forme de listes les catégories du site 
[archives] archives(); Affiche sous la forme de listes les derniers articles
[archives=5,category=1,2] archives(int $nb = false, string $categories = false); Affiche sous la forme de listes les derniers articles en fonction du nombre et la catégorie définie (peut aussi s'écrire [archives=5])
[ramdom_news] ramdom_news(); Affiche sous la forme de listes des articles classés aléatoirement
[ramdom_news=5,category=1,2] ramdom_news(int $nb = false, string $categories = false); Affiche sous la forme de listes des articles classés aléatoirement en fonction du nombre et la catégorie définie (peut aussi s'écrire [ramdom_news=5])
[last_comments] last_comments(); Affiche sous la forme de liste les derniers commentaires
[last_comments=6] last_comments(int $nb = false); Affiche sous la forme de liste les derniers commentaires
[top_news] top_news(); Affiche sous la forme de listes les articles les plus consultés
[top_news=5,category=1,2] top_news(int $nb = false, string $categories = false); Affiche sous la forme de listes les articles les plus consultés en fonction du nombre et la catégorie définie (peut aussi s'écrire [top_news=5])
[last_updated] last_updated(); Affiche sous la forme de listes les articles classés par leur date de mise à jour
[last_updated=5,category=1,2] last_updated(int $nb = false, string $categories = false); Affiche sous la forme de listes les articles classés par leur date de mise à jour en fonction du nombre et la catégorie définie (peut aussi s'écrire [last_updated=5])
[show=http://url.com/]Contenu[/show] - Affiche un contenu spécifique seullement sur la pafe spécifié via l'url
[search] searchbar(string $categories = false); Affiche la barre de recherche, utilisez [search=1,2] pour rechercher dans des catégories spécifiques
[nbnews] nbnews(string $categories = false); Affiche le nombre d’articles, utilisez [nbnews=1,2] Pour afficher le nombre d’articles dans les catégories spécifiés
[login] $login_template Affiche le module de connexion
[register] $register_page Affiche le formulaire d'inscription
[fbconnect_link] - Affiche l’url vers le système de connexion Facebook
[speedbar] $speedbar Affiche la barre de navigation rapide
[titre_site] $data_site["titre_site"] Affiche le titre du site
[site_url] $data_site["url_site"] Affiche l'url du site
[username] $data_current_user["login"] Affiche le nom de l'utilisateur connecté
[title_page] $titleCurrentPage Affiche le nom de la page courrante
[ecms_copy] $ecms_copy Affiche l'année actuelle du copyright
[newsletter] - Affiche le formulaire d'inscription à la newsletter
[youtube][/youtube] - Affiche un lecteur si l'url entre les deux balises correspond à une vidéo Youtube, il est possible d'entrer une autre balise de thème à l'intérieur de celles-ci
[token] $_SESSION[$TokenName] Affiche le token de sécurité

news.php & fullstory.php – Article

Balise de thèmePHPDescription
[content] ou [contenu] $data_news["contenu"] Affiche le contenu de l'article 
[content=100] wordCut($data_news["contenu"], int $length, "..."); Affiche les 100 premiers caractères du contenu de l'article (valeur personnalisable)
[full_link] $linkUrl Affiche l’url de l’article en version complète
[category] ou [categorie] $categorie Affiche la catégorie de l'article sous la forme de lien
[category_name] $catname Affiche le nom de la catégorie de l'article
[title] ou [titre] $data_news["titre"] Affiche le titre de l'article
[title=100] wordCut($data_news["titre"], int $length, "..."); Affiche les 100 premiers caractères du titre (valeur personnalisable)
[author] ou [auteur] $data_news["auteur"] Affiche l'auteur de l'article 
[id] $data_news["id"] Identifiant de l'article
[date] formaterDate($data_news["date"]); Affiche la date de l'article
[date_format] - Affiche la date dans un format optimisé pour le référencement
[date_light] date("d/m/Y",strtotime($data_news["date"])) Affiche la date de l'article sous la forme courte : jour/mois/année
[last_update] formaterDate($data_news["lastupdate"]); Affiche la date de la dernière modification de l’article
[nb_comments] ou [nbr_commentaires] $nbr_comment Affiche le nombre de commentaires
[text_comments] ou [text_commentaires] $comment_name Affiche le nombre de commentaires ainsi que le texte avec la gestion du pluriel
[views] $data_news["views"] Affiche le nombre de consultations de l'article
[tags] $FinalTagList ($data_news["tags"] pour la version non-formatée) Affiche sous la forme de liste de liens les tags d'un article
[first_img] $FirstImg[1] Affiche l'url de la première image de l'article (pour réaliser un sytème de miniature par exemple)

fullstory.php – Article en affichage complet (toutes les balises de news.php sont aussi applicables)

Balise de thèmePHPDescription
[comments] $comments Affiche les commentaires de l'article
[add_comment] $AddComment Affiche le formulaire d'ajout de commentaires
[pages] $pagination Affiche les liens de pagination des commentaires
[forum_post] $ForumPostLink Affiche l'url du sujet sur le forum si l'article en provient
[facebook_like] - Affiche le bouton "j'aime" de Facebook 
[twitter_share] - Affiche le bouton "Partager" de Twitter. Il est conseilé de définir un nom d'utilisateur Twitter dans les Paramètres généraux
[relative] NewsRelative(int $nb = false); Affiche les articles similaires, utilisez [relative=2] pour définir le nombre

comment.php – Commentaire

Balise de thèmePHPDescription
[content] ou [contenu] $data_comment["contenu"] Affiche le contenu du commentaire (obligatoire) 
[pseudo] $data_comment["pseudo"] Affiche le pseudo ou le nom d'utilisateur de l'auteur du commentaire
[url] $data_comment["url"] Affiche l'url du site de l'auteur du commentaire si celui-ci a était renseigné
[pseudo_link] - Affiche dynamiquement le lien du profil ou du site appliquable à un utilisateur
[date] date("d/m/Y G:i", $data_comment["date"]); Affiche la date du commentaire
[usergroup] $comment_usergroup Affiche le groupe de l'utilisateur du commentaire courrant
[avatar_url] - Affiche l'url de l'avatar lié à l'adresse e-mail de l'auteur du commentaire via Facebook ou le service Gravatar
[edit_button] - Affiche sous la forme de lien le bouton d’édition du commentaire courant
[suppr_button] - Affiche sous la forme de lien le bouton de suppression du commentaire courant
[id] $data_comment["id"] Affiche l'identifiant du commentaire
[report_link] - Affiche l'url vers le système de repport de commentaire
[news_link] "index.php?do=full&id=".$timeline_newsId Affiche l'url complète du commentaire en mode timeline uniquement

login.php – Connexion

Balise de thèmePHPDescription
[username] $data_current_user["login"] Affiche le nom d'utilisateur du membre connecté
[fbconnect_link] - Affiche l’url vers le système de connexion Facebook
[id] $data_current_user["id"] Affiche l'identifiant du membre connecté
[cle] substr(sha1($ecms_key),0,12); Affiche la première clé de sécuritée de la connexion
[key_2] substr(sha1($_SERVER["REMOTE_ADDR"]),0,9); Affiche la seconde clé de sécuritée de la connexion
[token] $_SESSION[$TokenName] Affiche le token de sécuritée global
[profile_link] - Affiche l'url vers le profil de l'utilisateur connecté
[logout_link] - Affiche l'url vers le système de déconnexion

static.php – Page statique

Balise de thèmePHPDescription
[content] ou [contenu] $data_static["contenu"] Affiche le contenu de page (obligatoire) 
[title] ou [titre] $data_static["titre"] Affiche le titre de la page
[author] ou [auteur] $data_static["auteur"] Affiche l'auteur de la page
[date] formaterDate($data_static["date"]); Affiche la date de création de la page
[id] $data_static["id"] Affiche l'identifiant de la page
[facebook_like] - Affiche le bouton "j'aime" de Facebook
[twitter_share] - Affiche le bouton "Partager" de Twitter. Il est conseilé de définir un nom d'utilisateur Twitter dans les Paramètres généraux
Accueil > Documentation > Fonctionnalités > Editeur de thème