Magento 1.7尝试从后端的块中呈现内容

时间:2013-02-02 00:57:46

标签: magento

解决: 愚蠢的我,我已启用编译...关闭它,事情按预期工作。无论如何,谢谢你的时间:)

我生气了。我一直在尝试一切(除了正确的)以使其工作但除了标准菜单之外没有内容呈现。 我正在尝试创建一个简单的块,在后端呈现“hello”,如果我例如复制 如果我从catalog.xml复制Mage的块,它可以正常工作

<block type="adminhtml/catalog_product" name="products_list">

请建议。

config.xml中

<?xml version="1.0"?>

<config>
    <modules>
        <Wish_Scheduleproduct>
            <version>0.0.1</version>
        </Wish_Scheduleproduct>
    </modules>
    <global>
        <models>
            <scheduleproduct>
                <class>Wish_Scheduleproduct_Model</class>
            </scheduleproduct>
        </models>
        <helpers>
            <scheduleproduct>
                <class>Wish_Scheduleproduct_Helper</class>
            </scheduleproduct>
        </helpers>
        <blocks>
            <scheduleproduct>
                <class>Wish_Scheduleproduct_Block</class>
            </scheduleproduct>
        </blocks>
    </global>
    <frontend>
        <routers>
            <scheduleproduct>
                <use>standard</use>
                <args>
                    <module>Wish_Scheduleproduct</module>
                    <frontName>scheduleproduct</frontName>
                </args>
            </scheduleproduct>
        </routers>
        <layout>
            <updates>
                <wish_scheduleproduct>
                    <file>scheduleproduct.xml</file>
                </wish_scheduleproduct>
            </updates>
        </layout>
    </frontend>
    <admin>
        <routers>
            <scheduleproduct>
                <use>admin</use>
                <args>
                    <module>Wish_Scheduleproduct</module>
                    <frontName>scheduleproduct</frontName>
                </args>
            </scheduleproduct>
        </routers>
    </admin>
    <adminhtml>
        <layout>
            <updates>
                <scheduleproduct>
                    <file>scheduleproduct.xml</file>
                </scheduleproduct>
            </updates>
        </layout>
        <menu>
            <scheduleproduct translate="title">
                <title>Schedule product</title>
                <sort_order>40</sort_order>
                <depends>
                    <module>Wish_Scheduleproduct</module>
                </depends>
                <children>
                    <openings translate="title">
                        <title>Handle open hours</title>
                        <action>scheduleproduct/admin_schedule</action>
                        <sort_order>1</sort_order>
                    </openings>
                </children>
            </scheduleproduct>
        </menu>
    </adminhtml>
</config>

scheduleproduct.xml(布局更新)

<?xml version="1.0"?>

<layout version="0.1.0">
    <scheduleproduct_admin_schedule_index>
        <reference name="menu">
            <action method="setActive"><menupath>scheduleproduct/openings</menupath></action>
        </reference>
        <reference name="content">
            <block type="scheduleproduct/admin_test" name="myTester" />
        </reference>
    </scheduleproduct_admin_schedule_index>
</layout>

ScheduleController.php

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

    }
}

The Block

<?php

class Wish_Scheduleproduct_Block_Admin_Test extends Mage_Adminhtml_Block_Template
{
    protected function _construct()
    {
        echo "Hello";;      
    }
}

Filetree:http://i.stack.imgur.com/N0QLG.png

感谢您的帮助!

我已经检查了mageFindClassFile方法生成的包含路径,但似乎没有包含Block路径。

1 个答案:

答案 0 :(得分:1)

我重新创建了您的模块结构,并且已成功将块添加到页面中。下载档案here并根据您自己的版本进行差异化。我看到的三个可能的罪魁祸首是

  1. 如果您有另一个模块添加名为myTester的块,可能会发生奇怪的事情

  2. 您没有提到scheduleproduct.xml的位置。确保它在正确的位置并由Magento

  3. 处理
  4. 您的块文件在构造函数中有echo "hello"。这将有效,但它将在页面顶部打印出“hello”一词。它不会向内容区域添加内容。如果您希望将内容添加到内容区域,请让_toHtml返回一个字符串。 (有关此示例,请参阅链接模块)

  5. enter image description here