我目前正在一個實時網站上工作,但麻煩的是他們想切換主題,所以我想安裝新主題並僅使其可通過我的IP地址進行查看。以編程方式更改Magento的核心數據
問題是我不知道如何以編程方式更改Magento主題和皮膚值。
難道你們能幫助我嗎?
我目前正在一個實時網站上工作,但麻煩的是他們想切換主題,所以我想安裝新主題並僅使其可通過我的IP地址進行查看。以編程方式更改Magento的核心數據
問題是我不知道如何以編程方式更改Magento主題和皮膚值。
難道你們能幫助我嗎?
所以這不是一個直接的答案。最佳實踐將是備份數據庫和系統,並還原到開發環境文件和數據庫。
編輯core_config_data表中每個商店的兩個條目,以將網址從實時網站更改爲開發網站網址。
然後在開發站點上開發新的或修改的主題,並在準備推送更改時將文件部署到活動服務器。
可能有另一種方法來做到這一點。您可以在Magento安裝中創建一個新商店請參閱How to Make Multiple Stores,然後將主題文件夾複製到您的開發名稱目錄中。最後,配置新的/ dev存儲以使用您的開發主題。
這兩個都是可行的選擇。試圖欺騙Magento爲您的知識產權提供一個主題,而向其他人提供另一個主題似乎是在尋求麻煩。
這可以在不對Magento內核進行修改的情況下完成。
它涉及到Chrome並將您的用戶代理設置爲自定義。
首先,在Magento中創建一個異常 - 我們將匹配的表達式設置爲dev
並將程序包設置爲new-theme
。這將設置你的包爲new-theme
,如果你的用戶代理相匹配dev
(將成爲位於app/design/frontend/new-theme
主題:
然後第二個,也是最後一步就是打開你的開發工具欄在Chrome和設置您的用戶-agent爲dev
:
採取以下兩個簡單的步驟,你只能爲自己編程設置你的主題包,而不會影響其他
01。您可以
Mage::getSingleton('core/design_package')->setTheme('default');
對於剛剛創建,加載在所有頁面塊,並把它添加到構造函數的執行做到這一點。
XML將是類似的東西:
<layout version="0.1.0">
<default>
<reference name="content">
<block type="kervin/theme" name="kervin.theme"/>
</reference>
</default>
</layout>
和theme.php,塊將是:
class My_Kervin_Block_Theme extends Mage_Core_Block_Template
{
public function __construct()
{
if ($_SERVER["REMOTE_ADDR"] == 'xxx') {
Mage::getSingleton('core/design_package')->setTheme('default');
}
}
}
SetTheme將設置'layout','template','skin','locale'作爲你傳遞的值(這裏是'default')。 –
直播網站開發... Eeew! –
我現在已經改變了它,所以我有2家商店,我正在做我的更改到新店,然後我會添加他們,一旦我完成 – molleman
好東西,Magento的快樂是破壞它並修復它在別處,所以你的客戶不要帶來不便。 –