我为asurepay做了一个自定义支付门户。它就像PayPal标准支付一样。在我的订单,它将重定向到我的模块的重定向页面,这是问题。它给了我一个404页面。
这是我的文件结构。 (如果你需要学习)
- app/
- code/
- local/
- Asurepay/
- Custompay/
- Model/
- Asure.php
- Block/
- Asure/
-Redirect.php
- Form.php
- Info.php
- etc/
- config.xml
- system.xml
- design/
- adminhtml/
- ......
- frontend/
- default/
- default/
- template/
- custompay/
- asurepay/
- redirect.phtml
- form.phtml
- etc/
- modules/
- Asurepay_Custompay.xml
这是我的Model / Asure重定向代码:
public function getOrderPlaceRedirectUrl() {
return Mage::getUrl('custompay/asurepay/redirect', array('_secure' => true));
}
这是我的config.xml请求
<config>
<modules>
<Asurepay_Custompay>
<version>0.1.0</version>
</Asurepay_Custompay>
</modules>
<global>
<blocks>
<custompay>
<class>Asurepay_Custompay_Block</class>
</custompay>
</blocks>
<models>
<custompay>
<class>Asurepay_Custompay_Model</class>
</custompay>
</models>
<resources>
<custompay_setup>
<setup>
<module>Asurepay_Custompay</module>
</setup>
<connection>
<use>core_setup</use>
</connection>
</custompay_setup>
<custompay_write>
<connection>
<use>core_write</use>
</connection>
</custompay_write>
<custompay_read>
<connection>
<use>core_read</use>
</connection>
</custompay_read>
</resources>
</global>
<default>
<payment>
<custompay>
<active>1</active>
<model>custompay/asure</model>
<order_status>pending</order_status>
<title>AsurePay</title>
<gateurl>https://www.paymentUrl.com/payment/</gateurl>
<successurl>{{base_url}}</successurl>
<redimsg>You will be redirected to the payment website when you place an order.</redimsg>
<allowspecific>0</allowspecific>
</custompay>
</payment>
</default>
</config>
显然,重定向网址为:
www.mydomain.com/custompay/asurepay/redirect/
此网址为我提供了404页。
如何告诉magento创建重定向页面,使其不是404,或者如何通过控制器创建www.mydomain.com/custompay/asurepay/redirect/页面。?
问我是否需要更多信息。 :)非常感谢。
答案 0 :(得分:1)
你需要为你的扩展定义前端路由器,也可能还有布局引用,问题在于你没有为前端定义控制器访问
<frontend>
<routers>
<custompay>
<use>standard</use>
<args>
<module>Asurepay_Custompay</module>
<frontName>custompay</frontName>
</args>
</custompay>
</routers>
</frontend>