在magento中未找到新创建的块类

hyrbngr7  于 2022-11-12  发布在  其他
关注(0)|答案(2)|浏览(106)

在Magento www.example.com中1.9.2.4,我无法创建新块。当我创建一个类文件时,在前端,当我试图获取类名或布局时,它显示“类未找到”。
现有块工作正常,只有新块不工作。
我已在配置xml中定义了块

<?xml version="1.0"?>
<config>
  <modules>
    <Custom_Homepage>
      <version>0.1.0</version>
    </Custom_Homepage>
  </modules>
  <global>
    <blocks>
      <homepage>
        <class>Custom_Homepage_Block</class>
      </homepage>
    </blocks>
  </global>
</config>

<?php
 class Custom_Homepage_Block_Product_Slider3 extends
       Mage_Catalog_Block_Product_List{
   protected function _construct(){
      echo 1212;exit;
   }
 }
 ?>

并试图在模板文件中调用块:

$this->getLayout()->createBlock('homepage/product_Slider3')
->setTemplate('homepage/catalog/product/category-3.phtml')->toHtml();
hfsqlsce

hfsqlsce1#

尝试使用 Mage _Core_Block_Template而不是Mage_Catalog_Block_Product_List进行扩展。同时更改此

$this->getLayout()->createBlock('homepage/product_Slider3') ->setTemplate('homepage/catalog/product/category-3.phtml')->‌​toHtml();

$this->getLayout()->createBlock('homepage/product_slider3') ->setTemplate('homepage/catalog/product/category-3.phtml')->‌​toHtml();

要显示此块内容,您还可以像这样调用,因为您没有使用任何前端布局

$this->getLayout()->createBlock('homepage/product_slider3');
70gysomp

70gysomp2#

除了Jickson提到的块名称中的拼写错误之外--永远不要在模板中以编程方式创建块。相反,使用Layout XML将块添加到需要从中调用它的块中。然后,在该块的模板文件中使用$this->getChildHtml()来调用新块。
手动创建它实质上是绕过框架,这违背了使用它的目的。

相关问题