wordpress中的树视图/层次结构

时间:2010-01-19 08:07:03

标签: wordpress treeview

任何人都可以建议解决方案如何在 treeview 中以 wordpress 格式显示数据。没有插件。

我希望显示类似内容的内容。不是谈论wordpress本身的页面/类别。

我找到了

  • this jQuery插件,可用于显示我的数据。我不能使用这个插件编辑和存储数据。
  • jsTree - 基于javascript的跨浏览器树组件。它被打包为jQuery插件。这看起来很有希望。

整个解决方案的非常重要的部分是如何存储树的源数据(数据库或xml?)以及如何更新源数据。我发现这个article非常有用。

我正在寻找一种可以让我显示数据的解决方案,最好也可以编辑/存储它们。编辑只需为管理员用户提供。

3 个答案:

答案 0 :(得分:2)

您可以使用左右属性存储数据:

12345678901234
-------------- | 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

这会给你一棵树:

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

这是一个非常棘手的解决方案,但它使用最少的查询来选择树。您可以阅读如何在mysql.com上插入,更新和删除节点。

Another simple solution是为每个节点提供一个父属性,并通过每个节点开始递归循环。这个解决方案非常昂贵,它为每个节点使用一个查询。

答案 1 :(得分:2)

最简单的解决方案是wp_list_pages() 它会输出你所有页面的ul li列表。

如果你想将它作为xml导出,你可以在wordpress中创建一个xml的模板页面。

- 更新 -

@rafik
你能准确地告诉我......你想做什么以及在哪里。

因为你提出的所有链接......告诉我,我们只是矫枉过正你的问题。 :)

您是否只想在wordpress页面中显示树视图等列表?...

如果是,最简单的方法是制作如下列表:

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

并在你的jquery脚本中:

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

答案 2 :(得分:1)

将每个节点设置为Wordpress页面,然后使用wp_list_pages输出一组嵌套的<li>元素。

例如,结构

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

使用:

<ul>
<?php wp_list_pages('child_of=34'); ?>
</ul>
相关问题