首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Magento没有显示“我的块流行标签”块,而是显示在默认主题中。

Magento没有显示“我的块流行标签”块,而是显示在默认主题中。
EN

Stack Overflow用户
提问于 2014-08-14 16:53:55
回答 3查看 264关注 0票数 0

我一直在我的定制模块中的magento块上工作。一切都很好,控制器很好,其余的都很好。我面临的问题是,我的街区没有像预期的那样出现。而不是显示我的块或块信息,‘流行标签’块显示。下面是我的模块实验性/Test/etc/config.xml:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<config>

    <modules>
        <experiment_test>
            <vresion>0.0.1</vresion>
        </experiment_test>
    </modules>

    <frontend>
        <global>
            <blocks>
                <experiment>
                    <class>Experiment_Test_Block</class>
                </experiment>
            </blocks>
        </global>
        <routers>
            <experiment>
                <use>standard</use>
                <args>
                    <module>Experiment_Test</module>
                    <frontName>experiment</frontName>
                </args>
            </experiment>
            <layout>
                <updates>
                    <experiment>
                        <file>experiment.xml</file>
                    </experiment>
                </updates>
            </layout>
        </routers>
    </frontend>

</config>

我对模块的配置文件是app/etc/ module /Test.xml_Test.xml:

代码语言:javascript
复制
<?xml version="1.0"?>
<config>
    <modules>
        <Experiment_Test>
            <active>true</active>
            <codePool>local</codePool>
        </Experiment_Test>
    </modules>
</config>

这是我的Experiment/Test/controllers/IndexController.php:

代码语言:javascript
复制
<?php
class Experiment_Test_IndexController extends Mage_Core_Controller_Front_Action
{

    public function indexAction() {
        $this->loadLayout();
        $this->renderLayout();
    }

}
?>

这里是我的块位置:实验/测试/块/ExpBlock.php:

代码语言:javascript
复制
<?php
class Experiment_Test_Block_Expblock extends Mage_Core_Block_Template {
    public function methodblock(){
        return 'Information About my Block!!';
    }
}
?>

下面是放置在design/frontend/mytheme/default/layout/experiment.xml:中的布局文件

代码语言:javascript
复制
<?xml version="1.0"?>
<layout version="0.0.1">

    <default>
        <reference name="content"></reference>
    </default>

    <experiment_index_index>
        <reference name="content">
            <block type="test/expblock" name="afficher_expbloc" template="experiment/afficher.phtml" />
        </reference>
    </experiment_index_index>

</layout>

下面是放置在design/frontend/mytheme/default/template/experiment/afficher.phtml:中的模板文件

代码语言:javascript
复制
<?php echo $this->methodblock(); ?>

但是输出显示在另一个块中,即来自popular_tags块和popular_tags块。

请让我知道我在哪里弄错了。

EN

回答 3

Stack Overflow用户

发布于 2014-08-14 17:09:59

布局文件中有错误的块定义。

代码语言:javascript
复制
<block type="test/expblock" name="afficher_expbloc" template="experiment/afficher.phtml" />

这是错误的。而不是这个,你需要使用这个

代码语言:javascript
复制
 <block type="experiment/expblock" name="afficher_expbloc" template="experiment/afficher.phtml" />

experiment是通过config.xml文件设置的块唯一标识符名。为了指向您的Experiment_Test_Block_Expblock,需要在布局文件中为您的自定义块使用experiment/expblock类型。

票数 1
EN

Stack Overflow用户

发布于 2014-08-14 17:47:31

在您的代码中有很多问题:

第一config.xml

experiment_test应该是Experiment_Test

来自

代码语言:javascript
复制
   <modules>
        <experiment_test>
            <vresion>0.0.1</vresion>
        </experiment_test>
    </modules>

代码语言:javascript
复制
 <modules>
        <Experiment_Test>
            <vresion>0.0.1</vresion>
        </Experiment_Test>
    </modules>

文件名ExpBlock.php应该是Expblock.php

和改变:

代码语言:javascript
复制
 <block type="test/expblock" name="afficher_expbloc" template="experiment/afficher.phtml" />

<block type="tag/popular" name="tags_popular" template="tag/popular.phtml"/>

票数 0
EN

Stack Overflow用户

发布于 2014-08-14 17:49:15

嗯,我在深入浅出之后找到了解决方案,也就是说,我在我的config.xml文件中声明了一些标记错误(Test/Test/etc/config.xml)--所以我想分享一下,这样对于有相同情况的人来说是有帮助的:下面是我的更正config.xml:

代码语言:javascript
复制
<?xml version="1.0" encoding="UTF-8"?>
<config>

    <modules>
        <experiment_test>
            <vresion>0.0.1</vresion>
        </experiment_test>
    </modules>

    <frontend>

        <routers>
            <experiment>
                <use>standard</use>
                <args>
                    <module>Experiment_Test</module>
                    <frontName>experiment</frontName>
                </args>
            </experiment>

        </routers>
        <layout>
            <updates>
                <experiment>
                    <file>experiment.xml</file>
                </experiment>
            </updates>
        </layout>
    </frontend>

    <global>
        <blocks>
            <experiment>
                <class>Experiment_Test_Block</class>
            </experiment>
        </blocks>
    </global>

</config>

我的布局文件也出现了问题,这个问题由@programmer_rkt回答。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25313458

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档