为什么我的 Block 没有加载?
Why does my Block not get loaded?
我不知道为什么我的块没有加载。我已经清除了缓存(包括 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: <?php echo $this->getItems() ?>
块定义:
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 没有被实例化?
您能否将 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';
}
}
我不知道为什么我的块没有加载。我已经清除了缓存(包括 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: <?php echo $this->getItems() ?>
块定义:
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 没有被实例化?
您能否将 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';
}
}