Magento:如何在cms页面上显示所有产品的所有评论

时间:2013-03-08 17:56:50

标签: magento review

我想在cms页面上显示我对所有产品的所有评论。有人知道这样做吗?我正在使用Magento 1.4.2

1 个答案:

答案 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时,它就会变成间歇性的呜咽!