2011-11-29 18 views
10

Próbuję utworzyć witrynę internetową, przechować i wyświetlić programowo. Znalazłem ten kod:Jak utworzyć witrynę, przechowywać i wyświetlać programowo w systemie Magento

$websiteModel = Mage::getModel('core/website'); 

$postData = array(); 
$postData['website']['name'] = 'Store Name'; 
$postData['website']['code'] = 'store_name'; 
$postData['website']['sort_order'] = ''; 
//$postData['website']['is_default'] = ''; 
$postData['website']['website_id'] = ''; 

$websiteModel->setData($postData['website']); 

Czy coś takiego się spodoba? Jakie byłyby również modele związane ze sklepem i widokiem? Dzięki.

Odpowiedz

30

użyć tego kodu:

//#addWebsite 
    /** @var $website Mage_Core_Model_Website */ 
    $website = Mage::getModel('core/website'); 
    $website->setCode('<your_website_code_here>') 
     ->setName('<your_website_name>') 
     ->save(); 

//#addStoreGroup 
    /** @var $storeGroup Mage_Core_Model_Store_Group */ 
    $storeGroup = Mage::getModel('core/store_group'); 
    $storeGroup->setWebsiteId($website->getId()) 
     ->setName('<your_store_name>') 
     ->setRootCategoryId('<needed_root_category_id>') 
     ->save(); 

//#addStore 
    /** @var $store Mage_Core_Model_Store */ 
    $store = Mage::getModel('core/store'); 
    $store->setCode('<your_store_view_code_here>') 
     ->setWebsiteId($storeGroup->getWebsiteId()) 
     ->setGroupId($storeGroup->getId()) 
     ->setName('<your_store_view_name>') 
     ->setIsActive(1) 
     ->save(); 

Jeśli trzeba zrobić z frontend - dodaj linię Mage::registry('isSecureArea'); przed tym kodem.

+0

Dzięki, działało to cudownie dobrze. Czy możesz mi powiedzieć, jak ustawić podstawowy adres URL dla konkretnej witryny? Dzięki jeszcze raz. – Nithin

+0

Ten [wpis] (http://stackoverflow.com/questions/3601643/magento-set-config-values-of-just-created-website) pomógł mi w ustawieniu wartości konfiguracyjnych dla utworzonej strony internetowej. – Nithin

+0

Dziękuję bardzo ...! Zaoszczędził mój czas ... :) –

Powiązane problemy