我正在使用dynatree插件对在线应用程序进行编码,并且我正在使用 toDict() 方法将树数据转换为 JavaScript 对象,然后存储在数据库中。
我的问题是:
我需要一种将这些数据转换为 HTML (ul-li) 结构的方法。
例如
Title 1
Title 2
+Title 2.1
+Title 2.2
Title 3
表格应转换为:
<ul>
<li>Title 1</li>
<li>Title 2
<ul>
<li>Title 2.1</li>
<li>Title 2.2</li>
</ul>
</li>
<li>Title 3</li>
</ul>
上面的表格。如何在 PHP 中完成(数据将从数据库中提供)?
数据样本:
{"title":"Products", "key":"products", "isFolder":true, "isLazy":false, "tooltip":null, "href":null, "icon":null, "addClass":null, "noLink":false, "activate":false, "focus":false, "expand":true, "select":false, "hideCheckbox":true, "unselectable":false, "children":[{"title":"Product 1 Category", "key":"products-product-1-category", "isFolder":true, "isLazy":false, "tooltip":"Product 1", "href":null, "icon":null, "addClass":null, "noLink":false, "activate":false, "focus":false, "expand":true, "select":false, "hideCheckbox":false, "unselectable":false, "children":[{"title":"Product 1.1 Category", "key":"products-product-1-product-11-category", "isFolder":true, "isLazy":false, "tooltip":"Product 1.1 Category", "href":null, "icon":null, "addClass":null, "noLink":false, "activate":true, "focus":false, "expand":true, "select":false, "hideCheckbox":false, "unselectable":false, "children":[{"title":"Product Name", "key":"products-product-1-category-product-11-category-product-name", "isFolder":false, "isLazy":false, "tooltip":"Product Name", "href":null, "icon":null, "addClass":null, "noLink":false, "activate":false, "focus":false, "expand":false, "select":false, "hideCheckbox":false, "unselectable":false}]}]}]}
注意:isFolder 表示,它将是列表项 (li),但将具有子无序列表 (ul-li) 结构。
上面的数据结构等于:
Products (isFolder = true)
+Product 1 Category (isFolder = true)
+Product 1.1 Category (isFolder = true)
+Product Name (isFolder = false)
和 HTML 表单应如下所示(或任何其他可展开/可折叠的列表样式菜单表单):
<ul>
<li>Products
<ul>
<li>+Product 1 Category
<ul>
<li>+Product 1.1 Category
<ul>
<li>+Product Name</li>
</ul>
</li>
</ul>
</li>
</ul>
</li>
</ul>