我想在cms页面上显示我对所有产品的所有评论。有人知道这样做吗?我正在使用Magento 1.4.2
答案 0 :(得分:0)
所有这些都取决于您使用哪个模块来为Magento的功能提供扩展。如果你查看模块的文件夹(让我们说它的Cmdcentral / Review)
app/code/community/Cmdcentral/Review/
这是模块所在的位置(也可能位于本地),查看etc
config.xml
会有一个看起来像这样的部分:
<config>
...
<global>
....
<models>
<review>
<class>Cmdcentral_Review_Model</class>
</review>
<review_mysql4>
<class>Cmdcentral_Review_Model_Mysql4</class>
<entities>
<reviews>table_in_database</reviews>
</entities>
</review_mysql4>
</models>
.....
</global>
...
</config>
这取决于您所拥有的内容。重要的是<entities></entities>
中的节点名称,在我的情况下是<reviews></reviews>
然后,您可以查看controllers
的{{1}}文件夹,创建一个如下所示的新功能:
IndexController.php
现在您必须为此创建一个块,在public function showallAction(){
$this->loadLayout();
$this->renderLayout();
}
中创建一个新块并将其命名为app/code/community/Cmdcentral/Review/Blocks
您的区块应如下所示:
Showall.php
<?php class Cmdcentral_Review_Block_Showall extends Mage_Core_Block_Template{
public function getAllReviews(){
return Mage::getModel('review/reviews')->getCollection();
}
}
是模块名称,review
是我们在reviews
<entities></entities>
节点内看到的实体。
接下来我们从这里开始config.xml
,我们正在寻找的文件很可能在app/design/frontend/
,但也可能在另一个主题的文件夹中。我们要查找的文件为base/default
,因此在我的情况下,它将是Modulename.xml
打开布局文件,现在只需在app/design/frontend/base/default/layout/Review.xml
节点中添加:
<layout></layout>
这只是告诉Magento当我们加载<review_index_showall>
<reference name="content">
<block type="review/showall" name="showall" template="review/showall.phtml"/>
</reference>
<review_index_showall>
路由并访问我们控制器中的review/index/showall
函数时,在内容中添加我们的块。
现在该块还具有showallAction()
属性。转到template="review/showall.phtml"
查找app/design/frontend/base/default
目录(或调用模块的任何内容)。如果它不存在(我怀疑)创建它!在此内部创建review
。所以现在你应该看起来像showall.phtml
打开此文件,然后创建页面。 〜唷!
请记住使用app/design/frontend/base/default/review/showall.phtml
来获取您的评论/评论集合,然后执行以下操作:
$this->getAllReviews()
我希望这有帮助,我没有犯任何错误。记住,起初Magento会让你哭泣,但是当你习惯了Magento时,它就会变成间歇性的呜咽!