Magento에서 프로그래밍 방식으로 CMS 홈 페이지를 설정하는 PHP 솔루션을 찾고 있습니다. 내가 찾고있는 것은 System-> Configuration-> Web-> CMS 홈 페이지의 드롭 다운에서 페이지 제목을 선택하는 수동 방법을 사용할 때 얻을 수있는 것입니다.프로그래밍 방식으로 Magento의 현재 홈 CMS/페이지를
페이지 제목 집합 중 하나를 선택하는 방법을 이미 알고 있거나 저장소의 모든 CMS 페이지에 대한 URL 키 집합에서 선택할 수 있습니다. 페이지 제목이나 URL 키를 알고있는 경우 현재 CMS 홈 페이지를 변경하는 데 필요한 PHP Mage 방법은 무엇입니까?
나는 이미 새로운 CMS 페이지를 만드는 코드를 이미 알아 냈습니다. 나는 그것을 끝낼 때 그것을 선택할 수 있고 그것을 적극적으로 홈 페이지로 만들고 싶다.
편집 :
$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();
편집 : 스크린 샷을 주셔서 감사합니다
2012년 2월 18일 성공없이 다음을 시도했다. 나는 그 권리가 없었습니다. 저장소를 선택할 때 내 URL은 .../index.php/admin/system_config/edit/section/일반/웹 사이트/기본/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 홈 페이지 선택의 변화를 보여주는 아니에요. 프런트 엔드를 새로 고침하고 전환하지 않습니다. 나는 운이없는 캐시 지우기도 시도했다. 어떤 아이디어? 그냥 참고로 나는 젠토 CE 1.5.1.0
편집을 실행 해요 :
는 여기에 실행 파일 내용을합니다. ( OK 그래서 나는 해결책을 발견 작동하는지 :
CMS 1
CMS 2
CMS 3
편집 : 나는 설치 :
<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>
을 나는 그것이 브라우저 창에 표시됩니다 실행하면 내 젠토의 루트에 파일을 넣어) 마지막 제안 된 솔루션에서 영감을 얻었다 :
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
예외 로그에 일부 항목이 있습니다. 그 관련 : 예외 'Mage_Core_Exception'메시지와 함께 '잘못된 블록 유형 : checkout_cart'in /chroot/home/babyhalf/babyhalfoff.com/html/app/Mage.php:550 스택 덤프의 28 계층이 있습니다, 그러나 나는 자극이 관련이 있다고 생각하지 않습니다. 그것은 또한 반복, 나는 CMS 페이지 코드를 한 번만 달렸다. – KyleDugger