我正在尋找PHP解決方案以編程方式在Magento中設置CMS主頁。我正在尋找的是當您使用從系統 - >配置 - > Web-> CMS主頁的下拉菜單中選擇頁面標題的手動方法時所獲得的內容。以編程方式在PHP中設置當前在Magento中的CMS /頁面
我已經有方法確定選擇頁面標題集中的任何一個,或者我可以從存儲區中的所有CMS頁面的URL集合中選擇一個。如果我知道頁面標題或URL密鑰,那麼更改當前CMS主頁所需的PHP法師方法是什麼。
我已經想出了創建新CMS頁面的代碼。我只希望能夠選擇它,並在完成後將其主動地設置爲主頁。
編輯:2012年2月18日
嘗試沒有成功如下:
$groups['default']['fields']['cms_home_page']['value'] = 'city-grips-handle-bar-covers';
Mage::getModel('adminhtml/config_data')
->setSection('web')
->setWebsite('Main Website')
->setStore('My Store Name') // Hid Actual Store name here
->setGroups($groups)
->save();
編輯:謝謝你的屏幕截圖。我沒有這些權利。選擇商店時的網址是.../index.php/admin/system_config/edit/section/general/website/base/store/default/
我以爲網站= base,store = default
website store http://reefworkshop.com/posts/website_store_url.png
我改變了代碼:
$groups['default']['fields']['cms_home_page']['value'] = 'city-grips-handle-bar-covers';
Mage::getModel('adminhtml/config_data')
->setSection('web')
->setWebsite('base')
->setStore('default')
->setGroups($groups)
->save();
但我還是不顯示CMS主頁選擇改變。我刷新前端,它不會切換。我也嘗試清除緩存沒有運氣。有任何想法嗎?僅供參考我運行Magento的CE 1.5.1.0
編輯:
下面是我運行該文件的內容。我把文件在我的Magento的根安裝:
<html>
<head>
</head>
<body>
<?php
require_once('app/Mage.php'); //Path to Magento
umask(0);
Mage::app(); // Change default to whatever store you want to run
print('CMS 1<br>');
$groups['default']['fields']['cms_home_page']['value'] = 'city-grips-handle-bar-covers';
print('CMS 2<br>');
Mage::getModel('adminhtml/config_data')
->setSection('web')
->setWebsite('base') // Code is the field name
->setStore('default')
->setGroups($groups)
->save();
print('CMS 3<br>');
?>
</body>
</html>
當我運行在瀏覽器窗口中看到:
CMS 1
CMS 2
CMS 3
編輯: 行,所以我找到了解決方案(即作品)靈感來自最後提出的解決方案:
require_once('app/Mage.php'); //Path to Magento
umask(0);
Mage::app(); // Change default to whatever store you want to run
$Config = new Mage_Core_Model_Config();
$Config ->saveConfig('web/default/cms_home_page', "city-grips-handle-bar-covers");
Mage::app()->cleanCache();
Voila它的工作原理。配置緩存實際上就是它需要清理的全部內容(我手動確認了這一點)。所以清理所有的緩存是有點矯枉過正,但哦,它的工作原理。
你把這段代碼放在哪裏?你在'exception.log'中看到了什麼嗎? – Zyava 2012-02-20 09:03:09
異常日誌中有一些東西。我不認爲它的相關:在/chroot/home/babyhalf/babyhalfoff.com/html/app/Mage.php:550中帶有消息'Invalid block type:checkout_cart'的異常'Mage_Core_Exception'有28層堆棧轉儲,但我不認爲刺激是相關的。它也重複,我只運行一次CMS頁面代碼。 – KyleDugger 2012-02-21 01:34:12