Modifier l’affichage sur le site

Nous allons partir d’un exemple pour l’explication.

Sur le site Novius OS nous avons personnalisé l’affichage des billets de blog. Voyons-voir comment cela fonctionne.

Apparence par défaut de l’application blog :

Vue liste par défaut de l'application 'Blog'

Apparence sur le site Novius OS.org (notre objectif) :

Vue liste modifiée de l'application 'Blog'

Modification de la vue

1ère technique : étendre la vue

Grâce à la cascade du système de fichiers, on peut copier le fichier original noviusos_blognews::views/front/post/item.view.php dans notre dossier local : local::views/apps/noviusos_blognews/front/post/item.view.php

<div class="blognews_post blognews_post_item">
    <div class="blognews_primary_information">
        <?= \View::forge('noviusos_blognews::front/post/title', array('item' => $item)) ?>
        <?= \View::forge('noviusos_blognews::front/post/summary', array('item' => $item)) ?>
    </div>
    <div class="blognews_secondary_information">
        <?= \View::forge('noviusos_blognews::front/post/publication_date', array('item' => $item)) ?>
        <?= \View::forge('noviusos_blognews::front/post/tags', array('item' => $item)) ?>
    </div>
</div>

Nous avons supprimé l’affichage de la vignette, de l’auteur, des catégories et du nombre de commentaires.

2e technique : étendre la configuration

L’application blog permet dans sa configuration de désactiver l’affichage de certains éléments. En ce qui nous concerne, c’est possible pour tous ceux qu’on souhaite ne pas afficher, sauf pour la vignette.

Lorsqu’on utilise le fichier de configuration de l’application blog, cette dernière modifie l’affichage à la fois dans la liste des billets, mais également sur la fiche, ce qui ne nous convient pas dans notre cas (cette technique est donc montrée ici à titre d’exemple).

Grâce à la cascade du système de fichiers, on peut copier le fichier original noviusos_blognews::config/config.php dans notre dossier local : local::config/apps/noviusos_blognews/config.php :

<?php

// On laisse uniquement les clés que l'on souhaite modifier
return array(
    'categories' => array(
        'show' => false,
    ),
    'authors' => array(
        'show' => false,
    ),
    'comments' => array(
        'show' => false,
    ),
);

Ajout du CSS

1ère technique : étendre la vue

Nous créer le fichier local::views/apps/noviusos_blognews/front/post/list.view.php

<?php

// On ajoute notre fichier CSS spécifique
\Nos\Nos::main_controller::addCss('static/css/blog_custom.css');

// On inclut le fichier d'origine (qui affiche la liste des billets)
include APPPATH.'applications/noviusos_blognews/views/front/post/list.view.php';

Notre vue modifiée inclut d’abord un fichier CSS (à créer dans public/static/css/blog_custom.css), puis appelle la vue d’origine.

2e technique : agir directement sur le gabarit

Il est également possible d’inclure le fichier CSS via l’évènement front.start, mais dans ce cas, il le sera sur toutes les pages de votre site, et pas seulement sur la page blog.

Dans le fichier local/bootstrap.php (créez-le si nécessaire) :

<?php

// Événement qui se déclenche lorsqu'on charge une page du site
Event::register('front.start', function() {
    \Nos\Nos::main_controller::addCss('css/blog_custom.css');
});

Dans le cas du site Novius OS, nous avons créés nos gabarits spécialement pour le site, ils incluent directement le CSS nécessaire à la personnalisation de l’affichage du blog.