1

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

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

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

请指教。

配置文件

<?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>

调度控制器.php

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

    }
}

街区

<?php

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

文件树在这里: http ://i.stack.imgur.com/N0QLG.png

谢谢您的帮助!

我检查了从方法 mageFindClassFile 生成的包含路径,它似乎不包含块路径。

4

1 回答 1

1

我重新创建了您的模块结构,并为我成功地将一个块添加到页面中。在此处下载存档并与您自己的版本进行比较。我看到的三个可能的罪魁祸首是

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

  2. 你没有提到你在哪里scheduleproduct.xml。确保它在正确的位置并由 Magento 处理

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

在此处输入图像描述

于 2013-02-02T02:31:01.333 回答