Magento添加布局XML添加javascript不工作


magento add layout xml to add javascript not working

我试图添加一个system.xml添加自定义javascript到每个页面上的magento。它不工作,到目前为止,我看到我的布局xml没有被添加。

这是我的代码:

app/代码/地方/mynamespace/mymodule里/etc/config . xml

<config>
    <modules>
        <mynamespace_mymodule>
            <version>1.0.0.1</version>
        </mynamepace_mymodule>
    </modules>
        <frontend>
        <layout>
            <updates>
                <mymodule>
                    <file>mynamespace_mymodule.xml</file>
                </mymodule>
            </updates>
        </layout>
    </frontend>
</config>

app/设计/前端/违约/违约/布局/mynamespace_mymodule.xml

<?xml version="1.0"?>
<layout>
    <default>
        <reference name="head">
            <action method="addJs"><script>mynamespace/mymodule/js/myscript.js</script></action>
        </reference>
    </default>
</layout>

这是不工作。我很困在如何调试这个。我在'Mage_Core_Model_Layout_Update::getFileLayoutUpdatesXml()中添加了日志记录,以查看所有$updateFiles[]。我没有看到mynamespace_mymodule.xml在那里,所以我认为我添加我的布局xml在一个错误的方式。

我将相关代码从那里复制到这里,只是为了显示我如何尝试查看添加的文件:

$updatesRoot = Mage::app()->getConfig()->getNode($area.'/layout/updates');
foreach ($updatesRoot->children() as $updateNode) {
    if ($updateNode->file) {
        Mage::log((string)$updateNode->file);
        ...
    }
}

这是来自mage/core的代码,我只是添加了日志。它记录当我刷新布局缓存

您的模块是否正在加载?

您是否有一个模块XML文件来启用扩展/模块?

应用程序/etc/模块/mynamespace_mymodule.xml

<?xml version="1.0"?>
<config>
<modules>
<mynamespace_mymodule>
    <active>true</active>
    <codepool>local</codepool>
</mynamespace_mymodule>
</modules>
</config>

你试过这样添加js和css文件吗:

<head>
    <title>Page Title</title>
    <css src="Namespace_Module::css/styles.css"/>
    <script src="Namespace_Module::js/angular/angular.min.js"></script>
    <script src="Namespace_Module::js/app.js"></script>
</head>
<body>
    <referenceContainer name="content">
    <block class="Namespace'Module'Block'Class" name="Namespace_Module" template="Template.phtml"></block>
    </referenceContainer>
</body>

然后在你的模块web文件夹(view/frontend/web),创建js和css文件夹,并把你的文件。