We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 1876
    • 835 Posts
    Bonjour,

    Pour un projet de bibliothèque, je dois gérer l’affichage de livres, d’éditeurs, d’auteur et de série avec par exemple sur la page d’un auteur, afficher une liste de ses séries et livres , sur la page d’une série, l’auteur, l’éditeur, la liste des livres paru dans la série ... enfin une bibliothèque quoi.

    Mon souci, est que je dois créer des tables (editeur, livre, auteur, serie) ou me satisfaire de TV?

    J’ai regrader un peu la construction des TV’s et c’est pas simple pour faire des requetes car on doit jouer sur au moins 3 tables pour retrouver les infos _site_tmplvar_contentvalues _site_tmplvars et _site_content.

    Le souci c’est que si je passe par des tables, je perds l’avantage de ditto et replix.

    Vous me suggéré quoi? (pas joomla svp)
      • 6726
      • 7,075 Posts
      Pour moi, les TVs devraient faire l’affaire... les requêtes, perso j’utilise Ditto et sa capacité à filtrer sur les TV, depuis l’ajout du code d’Omnivore on a accès à quasiment tous les opérateurs logiques... si on ajoute la possiblité de filtrer sur une TV qui n’est pas dans le template (via hiddenTVs)... ça couvre la quasi intégralité des besoin d’extraction de données stockées dans les TVs.

      La plupart des données sont stockées dans modx_site_tmplvars_contentvalues (pas obligé de se servir de site_content), le reste étant l’association des TV aux templates ainsi que les droits d’accès.

      Pour utiliser les tables et non les TVs, j’ai bien peur :
      - que tu perdes la puissance de MODx et de ses extensions
      - que tu doive alors passer par des frameworks genre CodeIgniter ou RubyOnRails... pourquoi pas ?

      Tout ça c’est en attendant la 1.0 qui sera plus proche de ces deux derniers...
        .: COO - Commerce Guys - Community Driven Innovation :.


        MODx est l'outil id
        • 1876
        • 835 Posts
        Bonjour,

        Merci David.

        Si on part sur les TV :

        Arborescence du site :

        2 - Document répertoire : Editeurs
        3 - Document répertoire : Auteurs
        4 - Document répertoire : Séries
        5 - Document répertoire : Livres

        Je vais donc créer des documentS dans chacune de ces catégories.
        prenons comme hypothèse la création d’un document livre, il me faut les TV :

        TV_Auteur
        TV_Série
        TV_Editeur

        Je vais faire des TV de type Drop Down list menu avec un requete sql qui va me lister le titre tous les enfants de l’id 3 pour la TV_auteur. Dans la phase de saisie de la fiche, je vais pouvoir donc sélectionner un auteur qui s’affichera en front-end. (Quid si 2 ou 3 auteurs pour un livre?)

        Ensuite pour afficher dans ma fiche "auteur" pour afficher la liste de ses livres je dois faire un snippet :

        Requete sur la table modx_site_tmplvar_contentvalues pour obtenir la liste des "contentid" where tmplvarid = id_auteur and value = Titre du doc en cours.
        Ensuite pour chaque contentid faire une requete sur la table modx_site_content pour obtenir le titre du livre.

        Je vous passe sur la gestion des genres de livres.

        Vous en pensez quoi ?
          • 23050
          • 1,842 Posts
          Salut David,

          Quote from: davidm at Jun 30, 2006, 08:37 PM

          depuis l’ajout du code d’Omnivore on a accès à quasiment tous les opérateurs logiques
          Tu peux développer ? laugh

          Salut Aour,

          Ton fonctionnement me semble bien. Reste que le snippet que tu décris à la fin de ton post pour afficher tous les livres de ton auteur doit pouvoir se faire avec Ditto en appelant les livres dont le tv_auteur est égal à l’auteur en cours. (enfin, j’dis ça parce que faire une requête sur la table me semble plus compliqué, mais certains seront plus à l’aise que moi laugh)

          Je suis curieuse de savoir comment tu crées une TV drop down list qui génère automatique les différentes valeurs en option. Je pensais qu’on était obligé de créer les valeurs à la main, dans le champ "Valeurs Optionnelles d’Entrée" de la TV
            • 1876
            • 835 Posts
            Salut

            Perinne, pour la valeur auto de la TV tu peux regarder http://modxcms.com/select-binding.html.



            Il suffit de juste mettre la bonne requete.
              • 23050
              • 1,842 Posts
              Mmmm ok... c’est donc à ça que servent les fameux @select bindings !
              Je teste ça quand j’ai 2 mins, merci Aour smiley