【问题标题】:Why does my Block not get loaded?为什么我的 Block 没有加载?
【发布时间】:2015-12-24 11:24:41
【问题描述】:

我不知道为什么我的块没有加载。我已经清除了缓存(包括 var/cache)。有人可以帮我弄清楚我错过了什么吗?但是,Here: 出现了!

这是我的布局 xml: app/design/adminhtml/default/default/template/gpa/items.phtml

<?xml version="1.0"?>
<layout>
    <gpa_adminhtml_gpa_index>
        <reference name="content">
            <block type="core/template" name="gpa" template="gpa/items.phtml" />
        </reference>
    </gpa_adminhtml_gpa_index>
</layout>

items.phtml 内容: Here: &lt;?php echo $this-&gt;getItems() ?&gt;

块定义:

class Mymodulenamespace_Gpa_Block_Adminhtml_Gpa extends Mage_Core_Block_Template {
    public function getItems() {
        echo 'ABCDEF';
    }
}

这是我的控制器:

class Mymodulenamespace_Gpa_Adminhtml_GpaController extends Mage_Adminhtml_Controller_Action
{
    public function indexAction() {
        $this->loadLayout();
        $this->renderLayout();
    }
}

我可以看到输出“Here:”所以我知道我的控制器正在正确加载并且布局 xml 也是正确的。 但是为什么我的 Block 没有被实例化?

【问题讨论】:

    标签: magento magento-1.5


    【解决方案1】:

    您能否将 Mage_Core_Block_Template 更改为 Mage_Adminhtml_Block_Template,而不是定义 XML 布局,试试这个:

    class Mymodulenamespace_Gpa_Block_Adminhtml_Gpa extends Mage_Adminhtml_Block_Template {
        protected function _construct()
        {
            $this->setTemplate('gpa/items.phtml');
            parent::_construct();
        }
        public function getItems() {
            echo 'ABCDEF';
        }
    }
    

    【讨论】:

      猜你喜欢
      • 2012-01-09
      • 1970-01-01
      • 2016-09-16
      • 1970-01-01
      • 1970-01-01
      • 2011-11-15
      • 2013-06-16
      • 2018-08-15
      • 2013-02-28
      相关资源
      最近更新 更多