使用斜杠分隔符从XML / JSON类别生成菜单树

时间:2014-03-03 22:30:21

标签: php mysql xml json

我正在尝试从Adobe Scene7元数据服务器返回的结果中动态创建HTML菜单。类别将基于其文件夹路径属性。这里有一个数据示例:

<asset assetName="company_logo" assetId="1832">
    <fields>
        <field name="s7core.folderpath" value="top/this_project/Logos/"/>
        <field name="s7core.name" value="company_logo"/>
    </fields>
</asset>
<asset assetName="Product_Name_Would_Be_Here" assetId="1896">
    <fields>
        <field name="s7core.folderpath" value="top/this_project/Product Images/Child1/Child2/"/>
        <field name="s7core.name" value="Product_Name_Would_Be_Here"/>
    </fields>
</asset>

我也可以用JSON得到结果:

{
    "status": {
        "code":0,
        "severity":"OK",
        "message":"ok"
    },
    "assets": [
        {
            "assetId":1832,
            "assetName":"company_logo",
            "fields": {
                "s7core.folderpath":"top/this_project/Logos/",
                "s7core.name":"company_logo"
            }
        },
        {
            "assetId":1896,
            "assetName":"Product_Name_Here",
            "fields":{
                "s7core.folderpath":"top/this_project/Product Images/Child1/Child2/",
                "s7core.name":"Product_Name_Here"
            }
        }

在此示例中,“产品图像”和“徽标”将是父类别,其下包含不同的子项。我只是希望能够获取这些结果并动态生成菜单,或者更新具有父/子关系的MySQL表,以便我可以查询和处理它。

我的最终结果将类似于:

<UL class="parent">
     <LI>Top</LI>
          <UL class="child-1">
               <LI>This Project</LI>
          <UL class="child-2">
               <LI>Logos</LI>
               <LI>Product Images</LI>
          <UL class="child-3">
               <LI>Child 1</LI>
                    <UL class="child-4">
                         <LI>Child 2</LI>
                    </UL>
          </UL>
          </UL>
          </UL>
</UL>

我可以将值全部导入MySQL并从那里查询结构,我只是在寻找解析文件夹路径的东西,用/标记分隔,并创建列表的层次结构。然后菜单将链接到图库查看器,该查看器将根据所选类别查询服务器,以查找匹配的产品的完整结果。

我考虑过使用Magmi来处理这些类别,因为它们的格式与导入Magento安装的格式相同,但将这些类别处理成弹出菜单似乎有些过分。

再次感谢。

0 个答案:

没有答案