如何在magento中连接url中的变量

时间:2015-10-02 05:30:35

标签: php magento url

我试图在magento中添加URL中的变量。这是我的链接:

<?php echo Mage::helper("html")->getUrl("admin/index/test/".$testId); ?>

如果我在profile的末尾添加/,那么url不会与testId连接。但是如果连接testId而不在配置文件末尾添加/那么它就不会连接变量id。这是链接

<?php echo Mage::helper("html")->getUrl("admin/index/test".$testId); ?>

任何人都可以形容我,我失踪了吗?

2 个答案:

答案 0 :(得分:0)

有一些错误:

  • getUrl的第一个参数必须是router/controller/action形式的路径。可以使用第二个参数
  • 添加其他参数
  • admin网址的路由器称为adminhtml。 Magento区分前端名称(URL的第一部分)和路由器(内部值),这使得可以拥有自定义管理URL。这是在app/code/core/Mage/Adminhtml/etc/config.xml

    中配置的
    <routers>
        <adminhtml>
            <use>admin</use>
            <args>
                <module>Mage_Adminhtml</module>
                <frontName>admin</frontName>
            </args>
        </adminhtml>
    </routers>
    
  • 路由的最后部分如果是&#34; index&#34;则可以在URL中省略;因此对于URL /admin,路由为{{1} }。但是只要您想添加参数,就需要所有部件,以区分参数与控制器和操作。您似乎希望将参数adminhtml/index/index添加到现有路由test=$testId,该路由默认重定向到配置的起始页adminhtml/index/index,如果未记录,则重定向到登录页面英寸

  • 对于管理网址,您需要使用adminhtml/dashboard/index帮助程序(或adminhtml模型)

结论

要获取网址adminhtml/url,第一个参数必须为admin/index/index/test/$testId,第二个参数为adminhtml/index/index

['test' => $testId]

替代

如果您想使用echo Mage::helper("adminhtml")->getUrl("adminhtml/index/index", ['test' => $testId]); 格式的GET参数构建网址,则可以使用admin?test=$testId参数:

_query

答案 1 :(得分:0)

试试这个

echo Mage::helper("adminhtml")->getUrl("adminhtml/index/index",array('test'=>$testId));