【问题标题】:Silverstripe 3.3 Loop in loop not getting valuesSilverstripe 3.3 Loop in loop没有得到值
【发布时间】:2018-01-31 08:24:56
【问题描述】:

早上好,

我正在努力解决一个不起作用的循环。我想通过循环一些产品来生成一个xml文件,在我的例子中是5。我已经在一个数组列表中得到了产品,它们按预期显示,但是我希望在那个循环中循环另一个数组列表,其中包含该产品的汽车。这就是我的问题所在。

    <% loop $getProducts %>
        <% loop $getCars($ID) %>
            <item>$ID</item>
        <% end_loop %>
    <% end_loop %>

这是我正在谈论的循环的模板文件。 $getProducts 正在工作,如果我在 getProducts 循环中打印 $ID 它工作良好。但是 $getCars 是空的,只显示

控制器中的功能就是这些。

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;
    }
}

这个函数应该返回填充的arrayLists,它们是正确填充的,所以没有问题。

对不起我糟糕的英语,但我希望有人能帮助我!谢谢。

【问题讨论】:

    标签: php loops oop arraylist silverstripe


    【解决方案1】:

    问题解决了。

        <% loop $getProducts %>
            <% loop $Up.getCars($ID) %>
                <item>$ID</item>
            <% end_loop %>
        <% end_loop %>
    

    【讨论】:

      猜你喜欢
      • 2014-01-02
      • 1970-01-01
      • 2017-05-13
      • 1970-01-01
      • 1970-01-01
      • 2022-12-02
      • 2018-11-08
      • 2014-03-17
      • 2013-11-08
      相关资源
      最近更新 更多