Site vitrine : CMS ou pas ?

a marqué ce sujet comme résolu.

Je comprend mieux. :p

Etant sur WordPress, j’ai toujours donner la main au client après la mission. Bon des fois ils savent pas se servir de WordPress et m’appelle pour les modifications, mais ça c’est autre chose. :D C’est donc pour ça que je ne comprenais pas trop…

Du coup, tu présente ça comment ? Imaginons qu’il y ais deux pages :

  • Une avec 4 sections (1 section "full-width", 1 section "3 colonnes avec icônes", 2 sections "full-width")
  • Une avec 3 section (1 section "full-width", 1 section "gallerie d’image", 1 section "2 colonnes - gauche : image - droite : texte").
canvas.png
canvas.png

Comment tu gère ce cas dans l’admin ?

+0 -0

Dans mon cas quand j’ai eu besoin de faire une page d’accueil personnalisée j’ai ajouté les champs dans la personnalisation du thème/page de WP (en ayant jamais fait, ça m’a demandé un bon après midi pour comprendre le fonctionnement et personnaliser ma page).

Pour quelques choses de similaire à :

image.png
image.png

Le titre, la description, les images et les liens étaient entièrement personnalisable.

Dans inc/class-nomdutheme-customizer.php, j’ai ajouté des add_section, add_setting, WP_Customize_Image_Control, et WP_Customize_Control, je recommande ! C’est facile à prendre en main. ;) La doc de l’api est disponible : https://codex.wordpress.org/Class_Reference/WP_Customize_Manager

+0 -0

Haha, je ne parlais pas de WordPress, mais comment il procédait sans WordPress. :p

FougereBle

Exactement comme A-312 : avec un système de custom post. Au lieu d’un système tout en un comme Page Builder, je crée des CRUD différents et j’intègre ensuite le contenu dans le thème. Que ce soit un framework, un CMS ou même spécifiquement WordPress. Même si y’a Page Builder dans un thème acheté, ça n’empêche pas de bien séparer les contenus et de designer correctement le thème.

Je ne connaissais pas mais ça à l’air d’être encore mieux (plus accessible) par contre le fait que ça soit aussi accessible permet à l’entreprise de se passer de nous pour une modification future du thème.

Ouah ! Je ne connaissais pas les customs posts, c’est puissant ! On peut créer un contenu personnalisé avec une forme prédéfini ! En gros, on peut lui ajouter un format du type : intro, le body et la conclusion.

@Yarflam Tu utilises un custom post même si la page est unique, cest bien ça ?

+0 -0

Ce que je fournis à mes client, c’est ça : Voir la démo.

Bon c’est pas exactement ce plugin, mais ça reste la même chose.

@Yarflam : Je n’arrive pas à saisir comment ça se présente dans l’admin et dans la base de données. J’ai beau chercher, je ne vois pas. :(

Edit :

Ce que j’ai imaginé c’est ça :

  • Un CRUD "Section Texte" qui contient un contenu et un ID.
  • Un CRUD "Section Image" qui contient une image et un ID.
  • Un CRUD "XXXX" pour chaque types de données.

Dans le CRUD "Page", le client peut choisir le template à utiliser.

Selon le template, les sections seront insérés.

Sauf que du coup, je peux pas savoir quelle section je dois insérer… il me faudrait alors dans la table Section :

  • Section Content (image ou texte)
  • Section Page ID (ID de la page correspondante)
  • Section ID (ID de la section)

Et dans le template :

<body>
    <div id="section-1">
        <?php show_text_section($page->ID, 1); /* show_xxxx_section( PAGE_ID, SECTION_ID ) */ ?>
    </div>
    <div id="section-2">
        <?php show_image_section($page->ID, 1); ?>
    </div>
    <div id="section-3">
        <div class="col">
            <?php show_image_section($page->ID, 2); ?>
        </div>
        <div class="col">
            <?php show_text_section($page->ID, 2); ?>
        </div>
    </div>
</body>

Mais ça me paraît être un peu compliqué…

+0 -0

@Yarflam Tu utilises un custom post même si la page est unique, cest bien ça ?

A-312

Tout dépend des fonctionnalités nécessaires. Typiquement, si je dois par exemple intégrer un testimonial sur mesure : je vais devoir créer un custom post me permettant de stocker les avis laissés sur le site (mon CRUD) et ensuite coder l’affichage. Tout simplement. Le custom post ressemble côté backoffice à l’onglet des articles - une liste d’éléments et un espace d’édition pour créer / modifier / prévisualiser le contenu / etc.

Ensuite pour une page d’accueil avec quatre éléments, soit je crée un custom post "module page d’accueil", soit j’utilise celui existant pour les pages simples et j’affiche simplement le contenu dans les bons espaces ; donc typiquement j’aurai 4 "pages" pour les 4 emplacements de la page d’accueil.

L’avantage des customs posts, c’est que l’on peut choisir tout les champs que l’on souhaite afficher - voir même intégrer des modules. Donc si c’est juste pour des images, y’aura l’emplacement que pour l’upload d’images. Si c’est un diaporama, je peux très bien installer un thème tout fait puis l’intégrer dans une page sous forme d’embed (entre crochet). L’objectif est de donner la main au client pour qu’il modifie seulement le contenu autorisé dans un espace du site donné. Si y’a un emplacement destiné à l’affichage des photos, c’est pas pour y mettre du texte ! :)

@Yarflam : Je n’arrive pas à saisir comment ça se présente dans l’admin et dans la base de données. J’ai beau chercher, je ne vois pas. :( Mais ça me paraît être un peu compliqué…

FougereBle

Ce n’est pas du tout compliqué. Sur Wordpress tu n’as pas besoin de modifier la BDD, il le gère tout seul (faut le configurer dans functions.php). Il intègre simplement un post avec un type_post spécifique (comme pages ou articles).

Puis si c’est sur un framework, c’est un simple CRUD côté admin et une requête à l’affichage (c’est le rôle du Contrôleur dans le modèle MVC).

Pour Prestashop, c’est un peu différent. Il faut créer un module et ajouter des hooks pour indiquer au noyau à quel endroit placer les éléments. Jusqu’à présent, je ne suis pas allé jusqu’aux customs posts - les pages de base me suffisait.

Ensuite pour une page d’accueil avec quatre éléments, soit je crée un custom post "module page d’accueil" […]

C’est ce qui m’a permis de comprendre. :D

Merci pour ces éclaircissements.

FougereBle

Avec plaisir. J’ai bien fait de multiplier les illustrations … je ne pensais pas que t’allais comprendre sur celle-ci. :p

Même si l’exemple arrive que très rarement … dans les faits (j’aime bien préciser mes propos) tu vas avoir sur la page d’accueil : un diaporama, des actualités, un testimonial et des logos de partenaires (si on prend le site de base d’une entreprise lambda). Ce qui veut dire, que tu auras déjà quatre customs posts différents et pas un seul "modules page d’accueil" avec quatre entrées.

Même si l’exemple arrive que très rarement … dans les faits (j’aime bien préciser mes propos) tu vas avoir sur la page d’accueil : un diaporama, des actualités, un testimonial et des logos de partenaires (si on prend le site de base d’une entreprise lambda). Ce qui veut dire, que tu auras déjà quatre customs posts différents et pas un seul "modules page d’accueil" avec quatre entrées.

Yarflam

Oui, dans les fait c’est souvent comme ça. Après, ma question se portait plus sur les autres pages ou du moins comment le client peut créer des pages avec un rendu comme le lien d’un précédent post.

Bien sûr, chaque pages (surtout la page d’accueil) peut intégrer d’autres modules, comme des actualités etc…

Donc en gros (pour être sûr que j’ai réellement compris), tu as un CRUD "Page" avec les champs classique (id, title, content, template) et autant de CRUD que de template disponible (un CRUD "Accueil", un autre "Template X", …).

Selon le champ template de la page, le bon template est affiché et celui-ci affiche les données du CRUD de ce template.

En plus de ça, il y à d’autres modules comme un module de blog, un module de gallerie, etc, et le template, en plus d’afficher les données du CRUD du template, affiche le bon module (par exemple, Gallerie sur le template "Accueil").

Ca me paraît très bien. :)

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte