【问题标题】:Magento - Custom Module Nested Router FrontnameMagento - 自定义模块嵌套路由器名称
【发布时间】:2017-06-15 14:12:07
【问题描述】:

我在我的 magento 商店 (CE-1.9.0.0) 中设置了一个自定义模块,在我的配置文件中包含以下内容:

<?xml version="1.0"?>
<config>
    <modules>
        <Company_Custom>
            <version>0.1.0</version>
        </Company_Custom>
    </modules>
    <frontend>
        <routers>
            <custom>
                <use>standard</use>
                <args>
                    <module>Company_Custom</module>
                    <frontName>our-work/digital-work</frontName>
                </args>
            </custom>
        </routers>
        etc...

我知道,当我在frontname 为单个字符串之前设置自定义模块时(即,如果我只想使用digital-work 这有效,只是当我有一个嵌套字符串时,就像@987654323 @ - 这会导致找不到页面。

我是路由器和 magento 的新手,所以我认为我误解了 &lt;frontName&gt; 中的可能内容是否可以有嵌套的前名?

【问题讨论】:

    标签: magento module url-routing


    【解决方案1】:

    frontName 不是 url,它只代表它的第一部分! 通常一个magento action url看起来像 domain.com/frontName/controllerName/action 其中 frontName 是 config.xml 中指定的名称,controllerNameController.php 是具有函数 actionAction 的控制器 Explained Here

    所以 frontName 是映射到您的模块的部分,例如,您可能有一个模块 Company_Custom,但您不希望将 url 设置为“company_custom/features/list”,而是想要“custom/features”之类的内容/list" 在这种情况下你应该有:

                    <args>
                        <module>Company_Custom</module>
                        <frontName>custom</frontName>
                    </args>
    

    您可以使用管理员的 URL 重写来将自定义 url 映射到真实 url

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-04
      相关资源
      最近更新 更多