【问题标题】:In Prestashop, how to get category of last product added?在 Prestashop 中,如何获取添加的最后一个产品的类别?
【发布时间】:2012-12-02 23:00:53
【问题描述】:

我在 Prestashop、php 和 Smarty 方面没有太多经验。 如何获取 lastProductAdded 的类别? 我正在尝试将“继续购物”按钮重定向到最后添加的产品的类别。

<a href="{$link->getCategoryLink($lastProductAdded.category->id)|escape:'htmlall':'UTF-8'}" class="button_large" title="{l s='Continue shopping'}">« {l s='Continue shopping'}</a>

以下代码似乎不起作用,出于某种原因将类别 ID 设为 0。 (我也不知道这是否有意义) 任何帮助将非常感激。谢谢!

(变量 lastProductAdded 和函数 getCategoryLink 已经内置)

【问题讨论】:

    标签: smarty prestashop


    【解决方案1】:

    对于 Prestashop 1.4.x,您需要使用以下代码修改 Cart::getLastProduct():

    public function getLastProduct()
    {
        $sql = '
            SELECT cp.`id_product`, cp.`id_product_attribute`, p.`id_category_default`
            FROM `'._DB_PREFIX_.'cart_product` cp
            JOIN `'._DB_PREFIX_.'product` p ON (cp.`id_product` = p.`id_product`)
            WHERE `id_cart` = '.(int)($this->id).'
            ORDER BY cp.`date_add` DESC';
        $result = Db::getInstance()->getRow($sql);
        if ($result AND isset($result['id_product']) AND $result['id_product'])
            return $result;
        return false;
    }
    

    问候

    【讨论】:

    • 我在升级过程中看到了这个答案。那好吧。哈哈。非常感谢!
    【解决方案2】:

    您需要使用$lastProductAdded.id_category_default 而不是$lastProductAdded.category->id

    问候

    【讨论】:

    • 您好,感谢您的回复。我试过你的解决方案,但它返回example.com/caegory.php?id_category=0。输出是“有 1 个错误:缺少类别 ID”(它应该返回 6 的 id)
    • 我在 Prestashop 1.5.2.0 上试了一下,效果很好。 &laquo ; {l s='继续购物'}。你用的是什么版本?
    • 哦,真的吗??我使用 Prestashop 1.4.9.0。这很奇怪。 :(
    • 是时候升级到 1.5 了。谢谢楼主!
    猜你喜欢
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    • 2020-03-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多