【问题标题】:How to create hierarchical structure like WordPress category using php如何使用 php 创建像 WordPress 类别这样的层次结构
【发布时间】:2013-11-27 03:03:54
【问题描述】:

如何使用php显示类似WordPress的分类结构?

Array

( [0] => 标准类对象 ( [cat_id] => 64 [名称] => 沐浴皂 [蛞蝓] => 沐浴皂 [cat_taxonomy_id] => 65 [分类] => product_cat [父] => 63 )

[1] => stdClass Object
    (
        [cat_id] => 65
        [name] => Chemical
        [slug] => chemical
        [cat_taxonomy_id] => 66
        [taxonomy] => product_cat
        [parent] => 64
    )

[2] => stdClass Object
    (
        [cat_id] => 63
        [name] => Soap
        [slug] => soap
        [cat_taxonomy_id] => 64
        [taxonomy] => product_cat
        [parent] => 0
    )

)

【问题讨论】:

  • 我尝试过获取每个元素的父 ID,之后我才知道如何构造它并像树一样显示:(

标签: php wordpress codeigniter hierarchy hierarchical


【解决方案1】:

我已经尝试过以下链接。你也可以在下面试试这个链接

http://stevenbuick.com/category-hierarchy-with-codeigniter-and-jstree/

【讨论】:

    【解决方案2】:

    在您的示例中是数组,因为您将此记录存储在数据库中。

    对于输出树结构,您应该将其转换为树结构。

    例如:

    1. 更改数组并使用 cat_id 作为主数组中的键。
    2. 添加到每个项目字段 childs = array();并将子类别的 ID 存储在此数组中。
    3. 查找根类别(其中 parent == 0)并在子字段中保存键为“0”的项目的 ID。

    当您从 fro 数据库加载数据时,您可以执行第 1 步。 步骤 2 和 3 可以在一次迭代中完成(foreach)

    在此之后,您的示例将类似

    array(
      [0] => stdClass Object
        (
          [cat_id] => 0,
          [childs] => array( [0]=>63 )
          ...
        )
      [63]=> stdClass Object
        (
          [cat_id] => 63,
          [childs] => array( [0]=>64 )
          ...
        ) 
    

    然后就可以输出树了。只需从 key = 0 开始并输出所有孩子。对于每个孩子先出标题,然后是所有孩子。你应该使用递归函数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-26
      • 1970-01-01
      • 1970-01-01
      • 2018-01-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多