2011-10-19 62 views
3

我的客戶運行具有非常不同產品,不同佈局和不同域的多主題。我爲其中一家商店的結帳流程開發了一個擴展,現在看不到一種告訴Magento只能與這家特定商店合作的方式。Magento擴展僅用於多主題中的單店

我期望在/app/etc/modules/sampleextension.xml中提及這一點,但在因特網上沒有找到任何關於此的信息。

有沒有辦法擴展特定的店鋪?

感謝 托馬斯

回答

0

,你可以/應該有一個「活動」現場,在你的system.xml,which'd是一個下拉「是/否」,然後就可以(DES)主動它每個網站/商店/商店的視圖。
當然,在你的代碼的一些戰略點,你會檢查它是否是積極的這個觀點:)

4

有兩種解決方案。 1)以編程方式: 您可以製作任何配置字段,存儲特定。從中你可以檢查,如果你需要激活你的模塊代碼。 通過文件/app/code//yourcompany/yourmodule/etc/system.xml,感謝show_in_default,show_in_store,show_in_website標籤,您可以設置配置字段存儲視圖,網站或默認設置。

所以你必須創建一個配置字段「active」。這意味着付款方式配置字段「有效」的路徑將爲payment/yourpaymentname/active。

從這條路上,如果你已經用類Mage_Payment_Model_Method_Abstract擴展你的付款類,Magento將檢查付款模塊是否可用。

檢查類和方法Mage_Payment_Model_Method_Abstract :: isAvailable在文件app /代碼/核心/法師/支付/型號/方法/ Abstract.php

當你將配置在後端的付款方式,你將有爲商店視圖或網站設置「1」字段爲「有效」,或默認情況下,根據您的意願設置。

這裏爲您的支付模塊

<config> 
    <sections> 
    <payment translate="label" module="payment"> 
     <label>Payment Methods</label> 
     <tab>sales</tab> 
     <frontend_type>text</frontend_type> 
     <sort_order>400</sort_order> 
     <show_in_default>1</show_in_default> 
     <show_in_website>1</show_in_website> 
     <show_in_store>1</show_in_store> 
     <groups> 
      <yourpaymentname translate="label"> 
       <label>Your new Payment method</label> 
       <frontend_type>text</frontend_type> 
       <sort_order>1</sort_order> 
       <show_in_default>1</show_in_default> 
       <show_in_website>1</show_in_website> 
       <show_in_store>1</show_in_store> 
       <fields> 
        <active translate="label"> 
         <label>Enabled</label> 
         <frontend_type>select</frontend_type> 
         <source_model>adminhtml/system_config_source_yesno</source_model> 
         <sort_order>1</sort_order> 
         <show_in_default>1</show_in_default> 
         <show_in_website>1</show_in_website> 
         <show_in_store>0</show_in_store> 
        </active> 
      <yourpaymentname> 
     </groups> 
     .... 
    </sales> 
<sections> 

2)第二個解決方案可以通過後端,最簡單的方式來完成,也許,在配置頁面的選項卡高級配置文件的system.xml爲例,位於配置頁面的左下角。 您將獲得店鋪中所有已啓用或​​禁用模塊的列表。您可以在頁面左上方的商店切換器中選擇要顯示或不顯示的商店視圖,然後選擇啓用或不啓用哪個模塊,這要感謝每個模塊名稱前面的下拉菜單。

希望它有幫助 關注

+0

不正確。系統>配置>高級禁用模塊輸出下的面板。該擴展及其配置仍處於活動狀態。 – benmarks

+0

@Ben:是的,它是真實的,它不會在前臺顯示付款方式,也不允許客戶在結帳過程中使用付款方式。最後,需求已經完成。客戶無法訪問付款方式輸出。如果海報不是開發者,這是最簡單的方法。 –

+0

@Diglin感謝您的解決方案。我可能必須再次查看第一個解決方案。第二種方式似乎更容易,我會試一試。 – Thomas