将Search.php查询中的值输出到Prestashop中的product-list.tpl

时间:2014-01-24 00:28:53

标签: php mysql foreach smarty prestashop

我需要在product-list.tpl文件中输出Prestashop中classes / Search.php中查询的结果。 classes / Search.php中的查询是:

        $sql = 'SELECT *
                FROM `'._DB_PREFIX_.'category_group` cg
                INNER JOIN `'._DB_PREFIX_.'category_product` cp ON cp.`id_category` = cg.`id_category`
                INNER JOIN `'._DB_PREFIX_.'category` c ON cp.`id_category` = c.`id_category`
                INNER JOIN `'._DB_PREFIX_.'product` p ON cp.`id_product` = p.`id_product`
                INNER JOIN `'._DB_PREFIX_.'product_part_number` ON p. `id_product` = `ID`
                '.Shop::addSqlAssociation('product', 'p', false).'
                WHERE c.`active` = 1
                    AND product_shop.`active` = 1
                    AND product_shop.`visibility` IN ("both", "search")
                    AND product_shop.indexed = 1
                    AND cg.`id_group` '.(!$id_customer ?  '= 1' : 'IN (
                        SELECT id_group FROM '._DB_PREFIX_.'customer_group 
                        WHERE id_customer = '.(int)$id_customer.'

                    )');
        $results = $db->executeS($sql);

这是从上面的查询在搜索结果页面顶部的'._DB_PREFIX_.'product_part_number表格中输出一系列“GREKA”值:

        $eligible_products = array();

            foreach ($results as $row){
                $eligible_products[] = $row['id_product'];
                echo $row['GREKA'];
            }

我需要它做的是在该产品的tpl文件themes / product-list.tpl中输出“GREKA”值。这个tpl文件正在使用Smarty输出产品搜索的结果,我需要知道如何从查询中调用“GREKA”值到foreach循环。我想它会是这样的:

       {foreach from=$products item=product name=products}
             {$GREKA}
       {/foreach}

2 个答案:

答案 0 :(得分:0)

使用

{$product.GREKA}
在foreach内部,这就是它

有关foreach如何在smarty中工作的更多信息:http://www.smarty.net/docs/en/language.function.foreach.tpl

答案 1 :(得分:0)

发现如何做到这一点,我不得不将它添加到一个数组并创建另外两个数组并将其添加到另一个查询......