Par représentation des contenus, on entend la manière de les afficher pour les présenter à l'utilisateur.
Par exemple, l'affichage de l'arborescence des dossiers et des fichiers présents sur un ordinateur, ou encore la fiche d'un produit présentant une photographie de celui-ci et ses caractéristiques techniques dans un tableau sont deux représentations possibles de deux types distincts de contenus.
chora permet de proposer à l'utilisateur différentes représentations des contenus de l'application : celles-ci peuvent être génériques (valides pour tous les datatypes) ou spécifiques (propres à un datatype particulier).
Les contenus de l'application sont affichés à l'aide d'une vue (selon la terminologie MVC) qui peut être générique ou propre à leur type. Ils peuvent également être listés ou recherchés. Des vues fournissant une liste de contenus sont par exemple utilisées pour permettre à l'utilisateur de parcourir une collection, d'afficher une liste d'articles sur un sujet particulier (un sujet est une relation d'un type particulier) ou partageant un mot clé (nommé libellé, c'est une propriété d'un type particulier). Ce sont autant de représentations de ces contenus.
En outre, chora permet —lorsque cela est possible/souhaitable— de représenter les contenus enregistrés dans une collection sous forme de graphe (hiérarchique ou de relations), sur une carte (pour les contenus géolocalisés ou sur une flèche du temps (pour les contenus datés).
Voici les principales vues utilisées pour l'affichage de la liste des collections, des collections, des listes de contenus et des contenus :
Vue de la liste des collections :
/application/views/collections/list_collections.php
Vues génériques des collections :
Affichage par défaut (liste ou vignettes) /application/views/collections/viewaslist.php
Affichage sous forme de graphe des relations /application/views/collections/viewasgraph.php
Affichage sous forme de graphe de la hiérarchie /application/views/collections/viewashierarchy.php
Affichage des contenus géolocalisés sur une carte /application/views/collections/viewasmap.php
Vues spécifiques à une collection :
/application/views/collections/all-places.php
/application/views/collections/all-products.php
/application/views/collections/all-topics.php
/application/views/collections/media-gallery.php
/application/views/collections/faq.php
Vues génériques des listes de contenus :
/application/views/data/list_data.php
/application/views/data/list_related_data.php
/application/views/data/list_related_data_figures.php
/application/views/data/list_related_data_pdf.php
/application/views/data/list_related_data_textonly.php
/application/views/data/list_child_data_pdf.php
/application/views/data/list_child_data_textonly.php
Vues génériques d'un contenu :
/application/views/data/view.php
/application/views/data/viewaspdf.php
Vues spécifiques à un datatype :
/application/views/data/Product.php
/application/views/data/Question.php
/application/views/data/Topic.php
Notes :
Les vues génériques de premier niveau sont en gras.
Les vues list_related_*
servent à l'affichage des listes de contenus dans la plupart des pages qui listent les contenus hors collection, comme la liste de tous les contenus (list_data.php) ou les pages de recherche (search.php).
Les vues list_child_*
servent à l'affichage des contenus enfants dans la vue d'un contenu
La vue list_related_data_textonly.php
sert pour l'affichage des contenus en relations dans la vue d'un contenu.
Comme cela est visible dans les listes précédentes, pour étendre l'application ou personnaliser un site construit avec celle-ci, il est possible d'attribuer une vue particulière à un datatype : vous pouvez commencer par créer un nouveau datatype dans l'interface de gestion (par exemple, une fiche technique produit), puis lui attribuer des propriétés héritées (autogénérées).
Pour personnaliser la vue des contenus de ce datatype (par exemple, pour qu'elle liste les propriétés sous forme de tableau), il vous suffira de créer un fichier HTML nommé exactement comme le datatype (champ libellé) dans le dossier /application/views/data/
.
Notez que le nom du fichier (et donc le libellé du datatype) ne doit pas comporter d'espaces, ni d'accents et autres caractères spéciaux.
Si vous le souhaitez, vous pouvez traduire ce libellé dans les langues disponibles pour les utilisateurs dans l'interface de gestion de l'internationalisation : la traduction sera affichée au lieu du libellé originel, ce qui permet l'utilisation d'accents et l'internationalisation des datatypes.
Pour gagner du temps et disposer d'un exemple complet lorsque vous créez une vue personnalisée, vous pouvez copier le fichier de la vue générique :
cp -a application/views/data/view.php application/views/data/<libellé du datatype>.php
Il est également possible créer une vue particulière pour une collection (en créant un fichier HTML nommé exactement comme le permalien défini pour la collection dans le dossier /applications/views/collections/
.
Si vous souhaitez par exemple que la collection identifiée par le permalien my-collection
soit affichée par défaut sous forme de graphe hiérarchique :
cp -a application/views/collections/viewashierarchy.php application/views/collections/my-collection.php
Il peut être souhaitable de personnaliser l'affichage en fonction des rubriques d'un site. Dans ce cas, les vues personnalisées sont insuffisantes, car une rubrique peut contenir différents datatypes. Cela est néanmoins possible grâce aux vues d'agencement (layouts).
Les vues d'agencement, ou modèles, se comportent en tous points comme des conteneurs de vues qui permettent d'agencer différemment une ou plusieurs vues normales. Elles peuvent donc être réutilisées pour générer un affichage différent selon les rubriques d'un site.
Par exemple, nous les utilisons pour ajouter un menu latéral et pour produire l'affichage des statistiques dans les tableaux de bord de l'interface de gestion. Pour en savoir plus sur cette bibliothèque, veuillez consulter le document Vues d'agencement (layouts).
Des fonctions utiles à la représentation des contenus sont disponibles dans les vues créées pour afficher les collections et les contenus :
- le type de tri (par libellé, date d'ajout, de publication...)
- l'ordre de tri (croissant ou décroissant)
- le mode d'affichage (sous forme de liste, de table ou de vignettes)
- la pagination des résultats (au cas où de nombreux contenus doivent être affichés dans la même liste)
Le développement de chora a été pensé pour permettre l'ajout de nouvelles vues tirant pleinement parti de ces fonctions.
Pour aller plus loin, vous pouvez lire le document Composants pour la représentation des contenus.
Ce document a été publié le 2019-01-10 10:07:34. (Dernière mise à jour : 2019-07-11 03:38:57.)
(Document) chora : solution de gestion d'informations » Organiser