首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在Magento主页上显示最近单击/查看的产品数据

在Magento主页上显示最近单击/查看的产品数据
EN

Stack Overflow用户
提问于 2017-05-17 08:56:55
回答 2查看 612关注 0票数 1

我在Magento的主页上有两个自定义块。其中一个区块显示所有产品。另一个块应该显示最近单击/查看的产品。我已经为事件创建了观察者,以获取单击的产品数据。如何使用来自观察者的数据在主页的第二个块中显示该产品的数据?我必须从观察者那里传递数据。

Observer.php

代码语言:javascript
运行
复制
<?php
include 'C:\wamp64\www\magento1924\app\code\local\Company\Namespace\Block\Recommended.php';

class Company_Namespace_Model_Observer {

public function getProductData($observer) {
    //Uncomment the line below to log what is contained here:
    //Mage::log($observer);

    $data = new Company_Namespace_Block_Recommended();
    $product = $observer->getProduct();
    $pId = $product->getId();
    $pName = $product->getName();


    //Mage::log($pId);
    Mage::log($pName);
    $data->recommended($pId, $pName);

}
}
?>

块文件Recommended.php

代码语言:javascript
运行
复制
<?php
class Company_Namespace_Block_Recommended extends Mage_Core_Block_Template 
{    
public function recommended($pId, $pName){
    echo $pId;
    echo $pName;
    echo "Test!";
}
}
?>

Recommended.phtml

代码语言:javascript
运行
复制
<h1>Recently viewed</h1>
<?php
    $this->recommended();
?>

因此,我使用这个函数推荐()打印点击产品的数据。当我在主页中单击某项内容时,它会带我到产品视图页面,在该页面中,我还可以看到(在上面)产品的名称和id以及“Test!”(该功能中也反映了这一点)。我想要的是,由于我也是在主页(在phtml文件中)中推荐的()函数中调用的,所以我应该看到产品id、名称和"Test!“。问题是,它只是显示“测试!”。我是不是做错了什么事?

EN

回答 2

Stack Overflow用户

发布于 2017-05-18 11:28:50

我建议你用饼干。一旦一个人点击了某个产品,就把他们的ID保存在cookie中。在块类中,读取cookie值并获取产品集合,如下所示:

代码语言:javascript
运行
复制
$productIds = array('384','385','385'); // Dummy ids, fetch them from cookies

$products = Mage::getModel('catalog/product')
 ->getCollection()
 ->addAttributeToSelect('*') 
 ->addAttributeToFilter('status', 1)
 ->addAttributeToFilter('visibility', 4)
 ->addIdFilter($productIds);
 ; 

我希望这能给你一个主意。

票数 0
EN

Stack Overflow用户

发布于 2017-05-19 06:24:50

请按照以下步骤在主页上单击/查看最近的内容:

点击CMS->小部件

2-点击‘添加新小部件实例’

3-选择类型->最近查看的产品

4-选择设计包主题->主题

5-点击继续按钮

6-在前端属性

给Widget实例标题

指定存储视图->所有存储视图

c.向下滚动一点,你会注意到“布局更新”部分。

单击“添加布局更新”

二、在->指定的页面上显示(您也可以选择任何其他选项)

  1. 页->(选择所需的页面)
  2. 块引用->(选择引用以显示它)

7-在Widget选项中

设置“要展示的产品数量”。

点击“保存”按钮,检查你指定的页面。如果你什么都没看到,别忘了清除缓存。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44020098

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档