如何在 Magento 1.9 中更改注册表单的 Post 操作 Url
How to change Post Action Url for registration forms in Magento 1.9
我有一个带有我购买的主题的 Magento 网站,我想更改网站上所有 register/signup 表单的 post 操作 URL。在浏览了主题文件和核心文件之后,我多次遇到 php 函数 $this->getPostActionUrl() 。这是我必须修改的功能吗?如果是这样,我需要编辑哪个文件才能更改所有注册表单的 post 操作?
您可以手动将 action="<?php echo $this->getPostActionUrl(); ?>"
更改为 action="/your/desired/url"
。否则,答案是肯定的。如果需要,您可以将其更改为一种形式,在某些情况下,可以更改为几种不同的形式。我将使用客户登录表单作为示例。
如果您在模板文件中回显或记录 get_class($this)
,您会发现包含您的 getPostActionUrl()
的 class 是 Mage_Customer_Block_Form_Login
(它也在注释中在默认模板的顶部)。
因此,您可以将 app/code/core/Mage/Customer/Block/Form/Login.php
复制到 app/code/local/Mage/Customer/Block/Form/Login.php
并将第 49 行的 public function getPostActionUrl()
编辑为 return 您想要的值。
注:这是"quick and dirty"的做法。正确的做法是Extend/Override the class
我有一个带有我购买的主题的 Magento 网站,我想更改网站上所有 register/signup 表单的 post 操作 URL。在浏览了主题文件和核心文件之后,我多次遇到 php 函数 $this->getPostActionUrl() 。这是我必须修改的功能吗?如果是这样,我需要编辑哪个文件才能更改所有注册表单的 post 操作?
您可以手动将 action="<?php echo $this->getPostActionUrl(); ?>"
更改为 action="/your/desired/url"
。否则,答案是肯定的。如果需要,您可以将其更改为一种形式,在某些情况下,可以更改为几种不同的形式。我将使用客户登录表单作为示例。
如果您在模板文件中回显或记录 get_class($this)
,您会发现包含您的 getPostActionUrl()
的 class 是 Mage_Customer_Block_Form_Login
(它也在注释中在默认模板的顶部)。
因此,您可以将 app/code/core/Mage/Customer/Block/Form/Login.php
复制到 app/code/local/Mage/Customer/Block/Form/Login.php
并将第 49 行的 public function getPostActionUrl()
编辑为 return 您想要的值。
注:这是"quick and dirty"的做法。正确的做法是Extend/Override the class