如何解决 prestashop 通知?

How to resolve the prestashop notice?

我正在尝试解决这些不断显示在我的日志中的通知:

PHP Notice:  Trying to get property of non-object in /srv/myShop/shop/cache/smarty/compile/4c/b2/41/4cb2418065875a76c823a0076b8a95132c849e33.file.product-list-colors.tpl.cache.php on line 32
PHP Notice:  Undefined index: colors_list in /srv/myShop/shop/cache/smarty/compile/4c/b2/41/4cb2418065875a76c823a0076b8a95132c849e33.file.product-list-colors.tpl.cache.php on line 32

这是产品列表-colors.tpl.cache.php 的一个片段,包括第 32 行(第 3 行):

<ul class="color_to_pick_list clearfix">
    <?php  $_smarty_tpl->tpl_vars['color'] = new Smarty_Variable; $_smarty_tpl->tpl_vars['color']->_loop = false;
 $_from = $_smarty_tpl->tpl_vars['colors_list']->value; if (!is_array($_from) && !is_object($_from)) { settype($_from, 'array');}
foreach ($_from as $_smarty_tpl->tpl_vars['color']->key => $_smarty_tpl->tpl_vars['color']->value) {
$_smarty_tpl->tpl_vars['color']->_loop = true;

这里是 themes/simple-great/product-list-colors.tpl:

<ul class="color_to_pick_list clearfix">
{foreach from=$colors_list item='color'}
    <li>
        <a
        href="{$link->getProductLink($color.id_product, null, null, null, null, null, $color.id_product_attribute)|escape:'html':'UTF-8'}"
        id="color_{$color.id_product_attribute|intval}"
        class="color_pick"
        style="background: {$color.color};">
        </a>
    </li>
{/foreach}

打开 /themes/YOUR_THEME/product-list-colors.tpl

搜索

{foreach from=$colors_list item='color'}

并添加一个条件来检查“$colors_list”变量是否已设置。最终代码将如下所示:

{if isset($colors_list)}
    //Current foreach loop code
{/if}