我无法设置主模板,只适用于我的自定义模块

时间:2015-03-21 08:57:58

标签: magento

我认为我的主题是一个相当基本的主题,我在设计中找到了> frontend> mytheme

然后我在配置>设计设置中将我的“包”作为“mytheme”。

我遇到的问题是我想要一个主模板文件,但它只是在我的自定义模块页面上工作,而不是像登录/注册页面或主页那样的默认magento页面。< / p>

以下是我主题的基本local.xml文件。 js文件正在所有页面上添加,只是它没有使用我的默认模板:

<?xml version="1.0" encoding="UTF-8"?>
<layout version="0.1.0">
    <default translate="label" module="page">
        <label>All Pages</label>
        <block type="page/html" name="root" output="toHtml" template="single_column.phtml">

        <block type="page/html_head" name="head" as="head">
            <action method="addJs"><script>prototype/prototype.js</script></action>
            <action method="addJs"><script>lib/jquery/jquery-1.10.2.min.js</script></action>
            <action method="addJs"><script>lib/jquery/noconflict.js</script></action>
            <action method="addJs"><script>lib/ccard.js</script></action>
            <action method="addJs"><script>prototype/validation.js</script></action>
            <action method="addJs"><script>scriptaculous/builder.js</script></action>
            <action method="addJs"><script>scriptaculous/effects.js</script></action>
            <action method="addJs"><script>scriptaculous/dragdrop.js</script></action>
            <action method="addJs"><script>scriptaculous/controls.js</script></action>
            <action method="addJs"><script>scriptaculous/slider.js</script></action>
            <action method="addJs"><script>varien/js.js</script></action>
            <action method="addJs"><script>varien/form.js</script></action>
            <action method="addJs"><script>mage/translate.js</script></action>
            <action method="addJs"><script>mage/cookies.js</script></action>

            <block type="page/js_cookie" name="js_cookies" template="page/js/cookie.phtml"/>
        </block>

            <block type="core/text_list" name="content" as="content" translate="label">
                <label>Main Content Area</label>
            </block>



        </block>

        <reference name="head">
            <action method="addCss">
                <stylesheet>css/local.css</stylesheet>
            </action>
        </reference>
     </default>
</layout>

2 个答案:

答案 0 :(得分:0)

您可以在标题中创建一个块并添加所有js文件。 或者如果你想从xml文件中调用js,那么你需要在local.xml参考中添加你要添加的页面js看下面的代码:

<catalog_product_view>

     <reference name="root">
        <action method="setTemplate"><template>page/2columns-right.phtml</template></action>
             </reference>
     <reference name="head">
            <action method="addJs"><script>firstyourscript.js</script></action>
           <action method="addJs"><script>secondyourscript.js</script></action>
        </reference>
</catalog_product_view>

通过这种方式,您可以在所有页面中添加js文件。您需要为您需要在local.xml中添加的所有页面设置参考名称为root的模板

答案 1 :(得分:0)

问题在于,在默认主页的管理设置中,它具有2列模板集,它会覆盖您设置为默认主页的任何内容。

为了解决这个问题,我只创建了自己的模块/控制器并将其设置为默认主页。