2014-12-03 70 views
1

在magento中,我使用兩個商店視圖,一個是阿拉伯語,另一個是英語。當我將商店切換到英文時,這個字符串被添加到url(___ store = english)中,用於英語商店view.like對於阿拉伯語是明智的。現在我想刪除URL中的?___ store = english和URL中的阿拉伯語?___ store = arabic。強制刪除商店代碼?___ store =默認來自URL中的Magento

回答

0

在admin進入系統>配置(從頂部菜單),然後轉到左側菜單中的「Web」。

第一個選項是'將商店代碼添加到Urls',將其設置爲no。

+1

感謝您的comment.But如果我們不喜歡上面的網址類似這樣的格式___店=阿拉伯&___ from_store =默認。因爲我需要刪除存儲參數。 – sakthivel 2014-12-05 05:43:50

2

要刪除此格式:??___店=英語英語和___店=阿拉伯語

在設計文件中找到languages.phtml

/應用程序/設計/前端/默認/模板/頁/開關/ languages.phtml

在管線41

echo $_lang->getCurrentUrl()

添加 '假' 作爲參數

echo $_lang->getCurrentUrl(false)

實際URL:

http:example.com?___store=english for english and ?___store=arabic

加入$ _lang-假參數之後> getCurrentUrl(假)方法。 URL將會產生像下面

http:example.com?___store=english

然後刪除「___店=英語」你需要在控制器動作添加預調度事件參數: 在本地模塊config.xml中添加以下代碼

 <controller_action_predispatch> 
      <observers> 
       <controller_action_before> 
        <class>marketplace/observer</class> 
        <method>setToControllerActionPreDispatch</method> 
       </controller_action_before> 
      </observers> 
     </controller_action_predispatch> 

在當地觀察員

public function setToControllerActionPreDispatch($observer) 
{ 
    $pathInfo = Mage::helper('core/url')->getCurrentUrl();  
    if(strpos($pathInfo, "___store") != ''){  
     $pathInfo = str_replace(array('?___store=arabic', '?___store=default'), '' , $pathInfo); 
     Mage::app()->getResponse()->setRedirect($pathInfo); 
    }   

} 
+0

你告訴我們需要創建本地模塊來添加'config.xml&observer'代碼嗎?或者我們可以將這些代碼添加到任何模塊中 – fresher 2016-05-19 05:57:02

0

添加這個方法看着這個和試驗後管理員,我的想法是考慮多個Magento'網站',而不是商店。看起來即使排除查詢參數,Magento也想將商店名稱作爲URI的第一個組件。簡而言之,我不確定在使用多個「商店」時試圖從URL中刪除商店組件的想法有多好。

3

如果使用鏈接小部件,請使用以下過程。

複印app/code/core/Mage/Catalog/Block/Widget/Link.phpapp/code/local/Mage/Catalog/Block/Widget/Link.php

搜索(在Magento 1.7.x /線100在Magento 1.9.x的線91)

$這 - > _ HREF = $這 - > _ HREF。 $符號。 「___ store =」。$ store->引用代碼();

並修改

$此 - > _ HREF = $這個 - > _ HREF;

上傳並保存您的更改,您現在不會有您的小部件(動態)插入的鏈接追加?___ store = default。

信用:DesignHaven

+0

它沒有爲我工作。 – fresher 2016-05-19 06:14:49

0

要刪除此格式:___商店=英語爲英語

步驟1:進入系統 - >配置。然後轉到網頁標籤。您可以看到有一個選項' 「將商店代碼添加到Urls」將該選項設置爲「是」

第2步:/app/design/frontend/base/default/template/page/switch/languages.phtml 覺得這下面的代碼:

echo $_lang->getCurrentUrl() 
Add 'false' as parameter 
echo $_lang->getCurrentUrl(false) 

第3步:複製應用程序/代碼/核心/法師/目錄/座/空間/ Link.php到 應用程序/代碼/本地/法師/目錄/ Block/Widget/Link.php

Search this line : 
$this->_href = $this->_href . $symbol . "___store=" . $store->getCode(); 


And modify to : 
$this->_href = $this->_href; 

第4步:進入管理面板定位導航系統 - >索引管理>>重新索引數據