string(63) "/2010/07/14/magento-model-playing-with-mage_core_model_website/"
Home » Magento Model

Magento Model – Playing with Mage_Core_Model_Website

14 July 2010 732 views No Comment

API Doc – The Website Model


Located in /Core/Model/Website.php (line 35)

Varien_Object
   |
   --Mage_Core_Model_Abstract
      |
      --Mage_Core_Model_Website

How to gather info about website stores ?

In our example, we have 1 website which contains 1 store with 3 store views : (1) Default Store View, (2) Debug Store View, (3) US Store View.

With Php Script :

<?php
require_once('app/Mage.php');

Mage::app();

// fetch websites collection
$websites = Mage::getModel('core/website')
            ->getCollection()
            ->joinGroupAndStore();

// parse websites;
foreach($websites as $website) {
  printf("%s\n", str_repeat('-', 50));
  $data = $website->getData();
  foreach($data as $key => $item) {
    printf("%-30s: %s\n", $key, $item);
  }
}

/*
OUTPUT :

--------------------------------------------------
website_id                    : 1
code                          : base
name                          : Main Website
sort_order                    : 0
default_group_id              : 1
is_default                    : 1
group_id                      : 1
group_title                   : Main Website Store
store_id                      : 2
store_title                   : Debug Store View
--------------------------------------------------
website_id                    : 1
code                          : base
name                          : Main Website
sort_order                    : 0
default_group_id              : 1
is_default                    : 1
group_id                      : 1
group_title                   : Main Website Store
store_id                      : 1
store_title                   : Default Store View
--------------------------------------------------
website_id                    : 1
code                          : base
name                          : Main Website
sort_order                    : 0
default_group_id              : 1
is_default                    : 1
group_id                      : 1
group_title                   : Main Website Store
store_id                      : 3
store_title                   : US Store View

*/

?>

With SQL :

SELECT
    `main_table`.*,
    `group_table`.`group_id`,
    `group_table`.`name` AS `group_title`,
    `store_table`.`store_id`,
    `store_table`.`name` AS `store_title`
  FROM `core_website` AS `main_table`
  LEFT JOIN `core_store_group` AS `group_table`
      ON main_table.website_id=group_table.website_id
  LEFT JOIN `core_store` AS `store_table`
      ON group_table.group_id=store_table.group_id
  WHERE (main_table.website_id>0)
  ORDER BY
    main_table.sort_order ASC,
    main_table.name ASC,
    group_table.name ASC,
    CASE WHEN store_table.store_id = 0 THEN 0 ELSE 1 END ASC,
    store_table.sort_order ASC,
    store_table.name ASC;

Magento Multiple Stores Diagram (Magento Version 1.4.1.0)

Magento Diagram - Website, Store, Store View
1 Star2 Stars3 Stars4 Stars5 Stars (No Ratings Yet)
Loading ... Loading ...

Comments are closed.