Le "saut de page"

DRAG@NDRAG@N Member
mars 2007 modifié dans Archives
Bonjour à tous,

Avant de développer plus avant mon site, je souhaiterai avoir vos avis sur la meilleure approche pour ajouter une fonctionnalité à pluxml (j'utilise de préférence la version "cms") : Y'a-t-il un moyen simple, rapide et pas cher pour insérer des "sauts de page" au sein d'un article ?

Imaginez par exemple (inutile de fermer les yeux... ça rend la lecture moins difficile ;)) que mon template soit un livre, avec une hauteur limitée (sans barres de défilement). Sur la page de gauche le début du texte et sur la page de droite la suite. En bas de la page de droite, le lien "tourner la page".

Mes différentes idées d'approche, en vrac :
Idée 1 :
Diviser le champ "content" de la structure xml en 2 sous-parties : 'content_gauche' et 'content_droit' par ex. Puis modifier l'admin en conséquence (soit on ajoute un champ de rédaction supplémentaire, soit on réinvesti la zone 'chapo')

[+] : ça permet de garder l'article entier dans un seul et même fichier .xml
[-] : on ne peut avoir que 2 "sous-pages" par article, à moins de créer une armada de zones de texte dans l'admin
Idée 2 :
Créer des articles différents pour chaque page, mais créer une fonction qui les "assemble" automatiquement, grâce à leur noms de fichiers. Ex de nom de fichier pour la page gauche : '0001a.001.premier-article.xml' et pour la page de droite : '0001b.001.premier-article.xml'

[+] : avec la fonction adéquate, le nombre de "sous-pages" d'un même article n'est plus une limite (26 lettres, soit 26 pages, c'est acceptable)
[-] : l'article est complètement éclaté sur le disque dur, ce n'est plus une entité "fichier" propre
[-] : pas facile de faire des modifications importantes (un gros ajout de texte dans une des premières pages obligerait également d'ouvrir et d'éditer tous les fichiers suivants pour opérer le "décalage" (je rappelle que le template a une hauteur limitée, c'est voulu).
Idée 3:
Garder l'idée "1 fichier par article" et la même interface de rédaction qu'actuellement (1 chapo, 1 contenu), mais implémenter une sorte de balise de "saut de page"

[+] : le même fichier sera compatible avec toutes les versions de pluxml (si la version pluxml ne comprend pas la nouvelle balise, au pire elle l'affichera, mais l'article ne devrait pas être amputé
[-] : il n'y a je pense pas d'autre moyen que de faire sauter la section <![CDATA[ ...]]> des 'corps de texte' afin de rendre possible l'ajout d'une telle fonctionnalité - d'où quelques modifications supplémentaires sur le "moteur" pluxml.
Voila je vous passe le micro, alors si vous avez un avis ou d'autres idées n'hésitez pas :)

Réponses

  • DitiDiti Member
    Salut,

    Pour les « sauts de page », il faut qu'à l'endroit où tu veuxx « atterrir » (sur un titre, sur un texte), tu ajoutes un attribut « id ». Par exemple :
    <h1 id="chapitre2">Chapitre 2 : l'installation</h1><
    
    Et il te suffira de faire des liens qui se présentent comme ceci :
    <a href="#chapitre2">Aller au chapitre 2</a>
    
    Pour les autres questions, j'ai la flemme de lire :D
  • DRAG@NDRAG@N Member
    mars 2007 modifié
    Voui, merci Diti... mais t'es tombé à côté - il n'y a qu'une seule question en fait ;)

    Mais c'est un peu (beaucoup?) de ma faute, car je viens de me rendre compte que mon titre ne représentait pas exactement le sujet. :/
    Ce n'est donc pas exactement un "saut de page" comme cela que je cherche à faire (où un clic amène l'utilisateur à un autre emplacement) mais plutôt une "séparation de page" ou "saut de section", ou un autre truc du genre :D

    objectif :
    - 1 article contenu dans un seul fichier .xml
    - affichage "éclaté" de ce même article dans plusieurs div distintes (ex : page gauche et page droite)

    scénario :
    je clique sur un lien pour ouvrir un article. Ce dernier s'ouvre alors en 2 parties : à gauche le texte du "chapo", et à droite le texte de "l'article".
    Ca, c'est facile à faire avec le Pluxml actuel car ces 2 champs existent déjà lorsqu'on rédige l'article dans l'interface admin. Du coup on peut facilement choisir de n'afficher que l'un ou l'autre, choisir l'ordre ou leur emplacement sur la page, etc.


    Mais maintenant, la question à 1EUR : comment faire si je veux insérer un système de "page suivante/précédente" supplémentaire au sein du même article ?

    Exemple en image :
    e3bcd6e4.gif

    La partie "content" du fichier xml de l'article pourrait alors schématiquement ressembler à ça (idée1):
    <content>
    	<T1>texte1 de début</T1>
    	<T2>texte2</T2>
    	<T3>texte3</T3>
    	<T4>texte4 de fin</T4>
    </content>
    
    ou à ça (idée3):
    <content>
    	texte1 de début {saut!} texte2 {saut!} texte3 {saut!} texte4 de fin
    </content>
    
    ou bien on pourrait utiliser plusieurs fichier xml pour segmenter l'article, le lien "Lire la suite" reverrait alors à un autre article (lien normal) (idée2):
    '0001a.001.texte1.xml' & '0001b.001.texte2.xml' & '0001c.001.texte3.xml' & '0001d.001.texte4.xml'
    mais dans ce dernier cas on perd en "unicité", car c'est à l'origine un seul et même article. Du coup les fichiers xml pris séparemment n'auraient plus de valeur sémantique nette (il faudrait presque ouvrir un autre fichier pour avoir la fin de la phrase).


    Voila. Si cette "segmentation" n'intéresse que moi, n'hésitez pas à le dire, je continuerai mon chemin tout seul ;)
    Je sais parfaitement que ce n'est pas une fonctionnalité qui est nécessaire à la "communauté pluxml" toute entière, mais je vais en avoir besoin pour moi, c'est ce qui m'amène à vous.

    Sinon j'ai commencé à implémenter un système de tags dans Pluxml. J'ai bien avancé bien, mais je cherche le moyen de le faire sans trop modifier le code de pluxml, ce qui n'est pas simple :(.

    A+


    PS : bah sinon pour mon pb je retourne ma veste (bouh!) et (ab)use de librairies javascript, et de tout l'arsenal du grand champion des surfaces carrelées, celui-là même que certains appellent "Ajax" ;)
Connectez-vous ou Inscrivez-vous pour répondre.