Silverstripe 3.3 循环不获取值
Silverstripe 3.3 Loop in loop not getting values
早上好,
我正在为一个不起作用的循环而苦苦挣扎。我想通过循环访问一些产品来生成一个 xml 文件,在我的例子中是 5 个。我已经将产品放在数组列表中,它们按预期显示,但随后我想在该循环中循环遍历另一个包含该产品汽车的数组列表。这就是我的问题所在。
<% loop $getProducts %>
<% loop $getCars($ID) %>
<item>$ID</item>
<% end_loop %>
<% end_loop %>
这是我的模板文件,其中包含我正在谈论的循环。 $getProducts 正在工作,如果我在 getProducts 循环中打印 $ID 它工作正常。但是 $getCars 是空的,只显示 < item > >
controller中的函数就是那些。
public function getProducts() {
return GoogleShoppingFeed::mergeProductsAutos();
}
public function getCars($productID) {
return GoogleShoppingFeed::getCarsByProduct($productID);
}
函数 mergeProductsAutos 工作正常。
public static function getCarsByProduct($productID = null) {
if($productID) {
switch($productID){
case 127:
return self::$example1;
break;
case 126:
return self::$example2;
break;
case 781:
return self::$example3;
break;
case 2924:
return self::$example4;
break;
case 993:
return self::$example5;
break;
case 5195:
return self::$example6;
break;
}
} else {
return false;
}
}
这个函数应该return填充数组列表,它们被正确填充所以没有问题。
抱歉我的英语很糟糕,但我希望有人能帮助我!谢谢。
问题已解决。
<% loop $getProducts %>
<% loop $Up.getCars($ID) %>
<item>$ID</item>
<% end_loop %>
<% end_loop %>
早上好,
我正在为一个不起作用的循环而苦苦挣扎。我想通过循环访问一些产品来生成一个 xml 文件,在我的例子中是 5 个。我已经将产品放在数组列表中,它们按预期显示,但随后我想在该循环中循环遍历另一个包含该产品汽车的数组列表。这就是我的问题所在。
<% loop $getProducts %>
<% loop $getCars($ID) %>
<item>$ID</item>
<% end_loop %>
<% end_loop %>
这是我的模板文件,其中包含我正在谈论的循环。 $getProducts 正在工作,如果我在 getProducts 循环中打印 $ID 它工作正常。但是 $getCars 是空的,只显示 < item > >
controller中的函数就是那些。
public function getProducts() {
return GoogleShoppingFeed::mergeProductsAutos();
}
public function getCars($productID) {
return GoogleShoppingFeed::getCarsByProduct($productID);
}
函数 mergeProductsAutos 工作正常。
public static function getCarsByProduct($productID = null) {
if($productID) {
switch($productID){
case 127:
return self::$example1;
break;
case 126:
return self::$example2;
break;
case 781:
return self::$example3;
break;
case 2924:
return self::$example4;
break;
case 993:
return self::$example5;
break;
case 5195:
return self::$example6;
break;
}
} else {
return false;
}
}
这个函数应该return填充数组列表,它们被正确填充所以没有问题。
抱歉我的英语很糟糕,但我希望有人能帮助我!谢谢。
问题已解决。
<% loop $getProducts %>
<% loop $Up.getCars($ID) %>
<item>$ID</item>
<% end_loop %>
<% end_loop %>