2013-01-08 146 views
4

我爲Opencart的自定義登記模塊,Opencart的網址重定向

我的註冊頁面具有以下網址:

www.mysite.com/index.php?route=account/customregister

而默認的註冊網址爲:

www.mysite.com/index.php?route=account/register

我想將用戶重定向到我的註冊PAG當用戶點擊指向默認註冊模塊(route = account/register)的任何鏈接時,e(路由=帳戶/自定義註冊)。我知道我可以編輯.htaccess文件來重定向或url重寫,但我想通過php來做到這一點。是否有人知道是否有某些類/函數或某種代碼可以放在我的擴展上,以自動將用戶重定向到新的url?

謝謝所有提前

P. 我無法修改核心文件,我不會編輯.htaccess。

+0

那麼你有你的雙手綁得很好......你不能修改核心文件是什麼原因?使用vQmod動態修改核心文件怎麼樣?編輯.htaccess有什麼不好? – shadyyx

+0

核心文件將在每次Opencart將被更新爲新版本時被覆蓋,我的模塊可能安裝在未安裝vQmod的系統上(我試圖避免太多的安裝步驟),我更喜歡用戶不編輯手動任何文件來使事情工作。我正在尋找一個解決方案,網站管理員只需將擴展文件夾與Opencart文件夾合併即可。對我來說,最好的和最簡單的解決方案是手動編輯.htaccess文件,但我試圖尋找更多的「創意」技巧。並且預先感謝您的所有建議 – Frank

+0

說實話,'vQmod可能沒有安裝'是其中一種可能性不大的事情之一。我會說95%的所有OC商店都使用vQmod –

回答

9

這可以用vQmod很容易實現。你需要使用一個vQmod編輯文件/catalog/controller/account/register.php並把

$this->redirect($this->url->link('account/customregister', '', 'SSL')); 

只是index()方法聲明中(所以用這個作爲搜索的vQmod和使用after位置)

1

重定向這可能還工作在Opencart的

$this->redirect($this->url->link('account/customregister', '', 'SSL')); 
2

您可以從網頁重定向到任何產品在添加以下代碼:

目錄/控制器/通用/ home.php

$this->response->redirect($this->url->link('product/product', 'product_id=50', '')); 

其中50是您的產品ID。這是在Opencart 2.0.1.1上。我這樣做是因爲我只銷售一種產品,希望這有助於。

+1

不知道你是否知道,但默認情況下OC做了302重定向。如果這是一件燙髮的事情,你可能想301,而不是從你的主頁拉果汁。 '$ this-> response-> redirect($ this-> url-> link('product/product','product_id = 50','301'))' – dhaupin