2010-01-19 4 views
4

pourrait wordpress il suggérer solution comment afficher des données dans TreeView comme format dans wordpress. Il n'y a pas de plugin pour ça.treeview/structure de hiérarchie dans

Je veux afficher quelque chose comme la table des matières. Ne pas parler de pages/catégories de wordpress lui-même.

Je trouve

  • this jQuery plug-in qui peut être utilisé pour afficher mes données. Je ne peux pas éditer et stocker des données en utilisant ce plugin si.
  • jsTree - un composant d'arborescence croisée basé sur JavaScript. Il est empaqueté en tant que plugin jQuery. Cela semble très prometteur.

partie très importante de la solution tout est de savoir comment stocker les données source de l'arbre (base de données ou xml?) Et comment mise à jour les données source. J'ai trouvé ce article très utile.

Je suis à la recherche d'une solution qui me permettrait d'afficher les données et de préférence les éditer/les stocker. L'édition doit être disponible uniquement pour les utilisateurs admin.

+0

les données u souhaitez afficher .... pouvez-vous être plus descriptif à la question ?? –

+0

@Pragati Sureka: J'ai édité ma question. J'espère que c'est plus clair maintenant. – Radek

Répondre

2

Vous pouvez stocker des données avec une propriété gauche et à droite:

123456789
-------------- | a 
------------ | b 
    ---- -- -- | c d e 
    --   | f 

a.left = 1, a.right = 14 
b.left = 2, b.right = 13 
c.left = 3, c.right = 6 
d.left = 8, d.right = 9 
e.left = 11, e.right = 12 
f.left = 4, f.right = 5 

Cela vous donne un arbre comme:

  a 
      | 
      b 
     /|\ 
     /| \ 
     c d e 
    /
    f 

Ceci est une solution tout à fait délicate, mais il utilise un minimum de requêtes pour sélectionner un arbre. Vous pouvez lire comment insérer, mettre à jour et supprimer des noeuds sur mysql.com.

Another simple solution est de donner à chaque nœud une propriété parente, et de démarrer une boucle récursive à travers chacun de ces nœuds. Cette solution est très onéreuse, elle utilise une requête pour chaque noeud.

1

Définissez chaque nœud comme une page Wordpress, puis utilisez wp_list_pages pour générer un ensemble d'éléments <li> imbriqués.

Par exemple, avec la structure

nodes (page id #34) 
- category 1 
-- subcategory 1 
-- subcategory 2 
- category 2 
-- subcategory 3 
-- subcategory 4 

Utilisation:

<ul> 
<?php wp_list_pages('child_of=34'); ?> 
</ul> 
+0

@adam: J'ai mis à jour ma question.Je veux afficher quelque chose comme la table des matières mais ce n'est pas lié à l'application wordpress. La source de données vient en dehors de wordpress. Configurer chaque nœud comme une page prendrait beaucoup de temps car le nombre pourrait être même de plusieurs centaines. – Radek

2

La solution simple est wp_list_pages() que ça va vous sortir une liste ul li de toute votre page. Si vous voulez l'exporter en tant que xml, vous pouvez créer une page de modèle en wordpress qui fera un XML.

--updated--

@rafik
pouvez-vous me dire exactement ... ce que vous voulez faire et où. Parce que tout le lien que vous avez mis ... dites-moi que nous venons de surcharger votre question.:)

Voulez-vous simplement pour afficher une liste comme une arborescence dans une page ... wordpress

Si oui la manière simpliest de le faire est de faire une liste ul li comme ceci:

<ul id="treeview"> 
    <li>parent1</li> 
    <li>parent2 
    <ul> 
     <li>child1 of 2</li> 
     <li>child2 of 2</li> 
    </ul> 
    </li> 
</ul> 

et dans votre script jquery:

$(function() { 
    $("#treeview").tree(); 
}); 
+0

@Radek si les données proviennent de l'extérieur wordpress il ne s'agit pas de wordpress ... ?? – Eduplessis

+0

@Eduplessis: Eh bien, à mon avis, il est aussi question de wordpress car nous devons intégrer la solution au sein de wordpress.Utilisant les liens dans mes questions, je pourrais avoir la solution prête mais wordpress rend tout un peu plus compliqué.A mes yeux .. Peut-être parce que je ne suis pas programmeur et que je n'ai pas d'expérience avec wordpress non plus. C'est pourquoi j'ai posté ma question ici. – Radek

+0

@Radek Vous devez savoir que si c'est dans wordpress ou pas, ça va être un peu compliqué parce que vous n'êtes pas un programmeur. Si vous voulez cela en dehors de wordpress ou à l'intérieur de wordpress ça va être la même chose. Si vous voulez mettre à jour les données: utilisez une base de données mais vous allez devoir créer une page admin pour l'éditer ou éditer manuellement la base de données ... et après si vous avez besoin de vos informations dans n'importe quel format php http://articles.techrepublic.com.com/5100-10878_11-5035149.html – Eduplessis