Snippets

Tjerk Ameel Magento Website, Store, Storeview creation

Created by Tjerk Ameel

File upgrade-0.1.0-0.1.1.php Added

  • Ignore whitespace
  • Hide word diff
+<?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();
HTTPS SSH

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