Snippets

Tjerk Ameel Magento Website, Store, Storeview creation

Created by Tjerk Ameel
<?php
/**
 * Variables
 */
$logFileName = 'myproject-setup.log';
$websiteCode = 'my_website_code';
$websiteName = 'My Website';
$storeName = 'My Store';
$storeViewCode = 'my_store_view_code';
$storeViewName = 'My Store View';
$unsecureBaseUrl = 'http://www.mywebsite.dev/';
$secureBaseUrl = $unsecureBaseUrl;


/**
 * Generic code below
 */
$installer = $this;
/* @var $installer Mage_Core_Model_Resource_Setup */
$installer->startSetup();

// Create Website
Mage::log("Creating '$websiteName' website...", Zend_Log::DEBUG, $logFileName, true);
$websiteModel = Mage::getModel('core/website');
$websiteModel->load($websiteCode);
$websiteModel->setName($websiteName);
$websiteModel->setCode($websiteCode);
$websiteModel->setSortOrder(10);
$websiteModel->save();

// Create Store
Mage::log("Creating '$storeName' store...", Zend_Log::DEBUG, $logFileName, true);
$groupModel = Mage::getModel('core/store_group');
$groupModel->load($storeName, 'name');
$groupModel->setName($storeName);
$groupModel->setWebsiteId($websiteModel->getId());
$groupModel->setRootCategoryId(2);
$groupModel->save();
Mage::dispatchEvent('store_group_save', array('group' => $groupModel));

// Create Storeview
Mage::log("Creating '$storeViewName' Store View for '$storeName'...", Zend_Log::DEBUG, $logFileName, true);
$storeModel = Mage::getModel('core/store');
$storeModel->load($storeViewCode, 'code');
$storeModel->setName($storeViewName);
$storeModel->setWebsiteId($groupModel->getWebsiteId());
$storeModel->setGroupId($groupModel->getId());
$storeModel->setCode($storeViewCode);
$storeModel->setIsActive(true);
$storeModel->save();
Mage::app()->reinitStores();
Mage::dispatchEvent('store_add', array('store' => $storeModel));

// Setting up base URLs
Mage::log("Setting up '$storeViewCode' base url config...", Zend_Log::DEBUG, $logFileName, true);
$installer->setConfigData('web/secure/base_url', $secureBaseUrl, 'websites', $websiteModel->getId());
$installer->setConfigData('web/unsecure/base_url', $unsecureBaseUrl, 'websites', $websiteModel->getId());


$installer->endSetup();

Comments (0)

HTTPS SSH

You can clone a snippet to your computer for local editing. Learn more.