使用多维菜单填充对象

时间:2011-01-12 09:29:30

标签: coldfusion coldfusion-9

我想知道是否有一种将菜单放入数组或任何其他数据类型的有效方法。 使用php我会做这样的事情:

$menu[1] = "home";
$menu[2] = "news";
$menu[3]["item"] = "products";
$menu[3]["subMenu"][1] = "jackets";
$menu[3]["subMenu"][2] = "T-shirts";
$menu[4] = "contact";

但是我不清楚如何在coldfusion中做到这一点。 我想从数据库中获取这些数据并将其推入一个对象,这将允许我从数组中生成html。

2 个答案:

答案 0 :(得分:6)

为了让Ciaran的答案更进一步,你可以完全用CF 9中的对象文字完成:

<cfset menu = ["home",
               "news",
               {"item"="products",
               "subMenu"= ["jackets",
                           "T-shirts"]},
               "contact"]>
<cfdump var="#menu#" /> <!--- Output --->

答案 1 :(得分:2)

它实际上非常相似。这假设阵列([])和struct({})文字的ColdFusion 8(或更高版本):

<cfset menu = [] /> <!--- Create initial array --->

<cfset menu[1] = "home" />
<cfset menu[2] = "news" />
<cfset menu[3] = {} /> <!--- Create structure --->
<cfset menu[3]["item"] = "products" /> <!--- Address structure by key --->
<cfset menu[3]["subMenu"] = [] />
<cfset menu[3]["subMenu"][1] = "jackets" />
<cfset menu[3]["subMenu"][2] = "T-shirts" />
<cfset menu[4] = "contact" />

<cfdump var="#menu#" /> <!--- Output --->

希望有所帮助!