visual-merchandising-product-listing-campaign-creator - Version 1.1.1

Version Notes

Any questions or concerns, please email cs@tagalys.com and we will get back to you in less than 24 hours.

Download this release

Release Info

Developer Palani
Extension visual-merchandising-product-listing-campaign-creator
Version 1.1.1
Comparing to
See all releases


Code changes from version 1.1.0 to 1.1.1

app/code/community/Tagalys/Core/Helper/Data.php CHANGED
@@ -17,40 +17,52 @@ class Tagalys_Core_Helper_Data extends Mage_Core_Helper_Abstract {
17
  return false;
18
  }
19
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
20
  public function getProductCategories($id) {
21
- $clist = "";
22
- $temp = array();
23
- $productObj = Mage::getModel('catalog/product')->load($id);
24
- $categoryIds = $productObj->getCategoryIds();
25
- $catId = array();
26
  foreach ($categoryIds as $key => $value) {
27
  $category = Mage::getModel('catalog/category')->load($value);
28
  if ($category->getIsActive()) {
29
- $catId[] = $value;
30
  }
31
  }
32
- foreach ($catId as $key => $value) {
33
- $m = Mage::getModel('catalog/category')
34
- ->load($value)
35
- ->getParentCategory();
36
-
37
- $tempval = explode("1/2",$m->getPath());
38
- if (!empty($tempval[1])) {
39
- $path = $tempval[1]."/".$value;
40
- $category = explode("/", $path);
41
- foreach ($category as $category_id) {
42
- $categoryList = array();
43
- if ($category_id != 1 && $category_id != 2) {
44
- $_cat = Mage::getModel('catalog/category')->setStoreId(Mage::app()->getStore()->getId())->load($category_id);
45
- $sub_categories = array("id" => $_cat->getId() , "label" => $_cat->getName());
46
- $categoryList[] = array("id" => $m->getId() , "label" => $m->getName(), "items" => array($sub_categories));
47
- }
48
- }
49
- $temp[] = $categoryList[0];
50
- }
51
  }
52
- return $temp;
 
53
  }
 
54
  public function getStoresForTagalys() {
55
  $config_stores = Mage::getModel('tagalys_core/config')->getTagalysConfig("stores");
56
 
@@ -60,6 +72,7 @@ class Tagalys_Core_Helper_Data extends Mage_Core_Helper_Abstract {
60
  }
61
  return array();
62
  }
 
63
  public function getAllWebsiteStores() {
64
  foreach (Mage::app()->getWebsites() as $website) {
65
  foreach ($website->getGroups() as $group) {
17
  return false;
18
  }
19
 
20
+ public function detailsFromCategoryTree($categoriesTree) {
21
+ $detailsTree = array();
22
+ foreach($categoriesTree as $categoryId => $subCategoriesTree) {
23
+ $category = Mage::getModel('catalog/category')->load($categoryId);
24
+ $thisCategoryDetails = array("id" => $category->getId() , "label" => $category->getName());
25
+ $subCategoriesCount = count($subCategoriesTree);
26
+ if ($subCategoriesCount > 0) {
27
+ $thisCategoryDetails['items'] = $this->detailsFromCategoryTree($subCategoriesTree);
28
+ }
29
+ array_push($detailsTree, $thisCategoryDetails);
30
+ }
31
+ return $detailsTree;
32
+ }
33
+
34
+ public function mergeIntoCategoriesTree($categoriesTree, $pathIds) {
35
+ $pathIdsCount = count($pathIds);
36
+ if (!array_key_exists($pathIds[0], $categoriesTree)) {
37
+ $categoriesTree[$pathIds[0]] = array();
38
+ }
39
+ if ($pathIdsCount > 1) {
40
+ $categoriesTree[$pathIds[0]] = $this->mergeIntoCategoriesTree($categoriesTree[$pathIds[0]], array_slice($pathIds, 1));
41
+ }
42
+ return $categoriesTree;
43
+ }
44
+
45
  public function getProductCategories($id) {
46
+ $product = Mage::getModel('catalog/product')->load($id);
47
+ $categoryIds = $product->getCategoryIds();
48
+ $activeCategoryPaths = array();
 
 
49
  foreach ($categoryIds as $key => $value) {
50
  $category = Mage::getModel('catalog/category')->load($value);
51
  if ($category->getIsActive()) {
52
+ $activeCategoryPaths[] = $category->getPath();
53
  }
54
  }
55
+ $activeCategoriesTree = array();
56
+ foreach($activeCategoryPaths as $activeCategoryPath) {
57
+ $pathIds = explode('/', $activeCategoryPath);
58
+ // skip the first two levels which are 'Root Catalog' and the Store's root
59
+ $pathIds = array_splice($pathIds, 2);
60
+ $activeCategoriesTree = $this->mergeIntoCategoriesTree($activeCategoriesTree, $pathIds);
 
 
 
 
 
 
 
 
 
 
 
 
 
61
  }
62
+ $activeCategoryDetailsTree = $this->detailsFromCategoryTree($activeCategoriesTree);
63
+ return $activeCategoryDetailsTree;
64
  }
65
+
66
  public function getStoresForTagalys() {
67
  $config_stores = Mage::getModel('tagalys_core/config')->getTagalysConfig("stores");
68
 
72
  }
73
  return array();
74
  }
75
+
76
  public function getAllWebsiteStores() {
77
  foreach (Mage::app()->getWebsites() as $website) {
78
  foreach ($website->getGroups() as $group) {
app/code/community/Tagalys/Core/Helper/Service.php CHANGED
@@ -10,6 +10,7 @@ class Tagalys_Core_Helper_Service extends Mage_Core_Helper_Abstract {
10
  $utc_now = new DateTime("now", new DateTimeZone('UTC'));
11
  $time_now = $utc_now->format(DateTime::ATOM);
12
  $attr_data = array();
 
13
  $attributes = $details_model->getProductAttributes($product_id, $store_id, array_keys((array) $product_data));
14
  $product_data = $details_model->getProductFields($product_id, $store_id);
15
  $product_data->synced_at = $time_now;
10
  $utc_now = new DateTime("now", new DateTimeZone('UTC'));
11
  $time_now = $utc_now->format(DateTime::ATOM);
12
  $attr_data = array();
13
+ Mage::app()->setCurrentStore($store_id);
14
  $attributes = $details_model->getProductAttributes($product_id, $store_id, array_keys((array) $product_data));
15
  $product_data = $details_model->getProductFields($product_id, $store_id);
16
  $product_data->synced_at = $time_now;
app/code/community/Tagalys/Core/etc/config.xml CHANGED
@@ -6,7 +6,7 @@
6
  <tagalys>
7
  <package>
8
  <name>Mpages</name>
9
- <version>1.1.0</version>
10
  </package>
11
  </tagalys>
12
  </default>
6
  <tagalys>
7
  <package>
8
  <name>Mpages</name>
9
+ <version>1.1.1</version>
10
  </package>
11
  </tagalys>
12
  </default>
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>visual-merchandising-product-listing-campaign-creator</name>
4
- <version>1.1.0</version>
5
  <stability>stable</stability>
6
  <license>Tagalys</license>
7
  <channel>community</channel>
@@ -12,9 +12,9 @@
12
  Visual Merchandising allows you to to create, modify or delete product listing pages that can be used from campaigns in SEO, SEM, Social Media and show collections at your online store. Visual Merchandisers do not require any assistance from IT or Tech teams allowing them to focus on managing the platform.</description>
13
  <notes>Any questions or concerns, please email cs@tagalys.com and we will get back to you in less than 24 hours. </notes>
14
  <authors><author><name>Palani</name><user>Palani</user><email>pc@tagalys.com</email></author></authors>
15
- <date>2017-04-19</date>
16
- <time>16:36:28</time>
17
- <contents><target name="mageetc"><dir><dir name="modules"><file name="Tagalys_Core.xml" hash="7576ed5aa125c580f0b791018f24a0e9"/><file name="Tagalys_SearchSuggestions.xml" hash="dbf6f4ff1859ef2df72560c9282af435"/><file name="Tagalys_Search.xml" hash="820b96f53d2f0e86cb49906a4dda7f41"/><file name="Tagalys_Mpages.xml" hash="6ccb4f45669c98fd746c6abd92ab32ca"/></dir></dir></target><target name="magecommunity"><dir><dir name="Tagalys"><dir name="Core"><dir name="Block"><dir name="Adminhtml"><dir name="Tagalys"><dir name="Edit"><file name="Form.php" hash="31cae34d1e9bd5cb0c881ae5a6fc03c0"/><dir name="Tab"><file name="Apicredentials.php" hash="9005c30790a51ad077cb4be46a07b766"/><file name="Mpages.php" hash="ba526eb77efd4000ae96404bd04aa638"/><file name="Search.php" hash="fef14680d0feb63bb4e928296c3b9032"/><file name="Searchsuggestions.php" hash="5c87af24ad22c663da17e0a1ffe9a655"/><file name="Support.php" hash="c68547cfe57cbccdcbcf7c3eb35ed6b3"/><file name="Sync.php" hash="849f7bb77ff568e7f29cf63d54e7faa8"/><file name="Syncsettings.php" hash="eecdbdee1c7b3a0e7b978f46b6879acc"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><file name="Tabs.php" hash="20d85d9037ba7a885c33030657900c88"/><file name=".DS_Store" hash="711f187349473a2c6e6d564d4a2faeb9"/></dir><file name="Edit.php" hash="9da04e9a4aec76ce5f5bd88c453390cd"/><file name=".DS_Store" hash="2f95379345a665b8fd261ff7c2f5a7af"/></dir><file name=".DS_Store" hash="96cf5cac0d87be80da73c36e96971923"/></dir><file name=".DS_Store" hash="8c5a4cb1f6f8e10ade87d78ff4d0bfe4"/></dir><dir name="Helper"><file name="Data.php" hash="9b1d43244175ebd78a57e983a831308b"/><file name="Service.php" hash="3eeaa766255db6636e352f7be47876f5"/><file name="SyncFile.php" hash="5b60934e482b5d2332e7eae44c907a72"/></dir><dir name="Model"><file name="Client.php" hash="30e1a58406d31c97bc249acc8ebeee9c"/><file name="Config.php" hash="784ee62e5d029503f915bfdaf9cff003"/><dir name="Mysql4"><dir name="Config"><file name="Collection.php" hash="0967ac6ac1a049d9e09288641d2b4a58"/></dir><file name="Config.php" hash="3562b9ffdf260e34945f9e7830facc1b"/><dir name="Queue"><file name="Collection.php" hash="db01d5b412ca3f8cbc1cbbe8b1ed3d0d"/></dir><file name="Queue.php" hash="50fd814880c6adf02dcb9babe5874811"/><file name=".DS_Store" hash="d3dec31675796dca442be9f6076210df"/></dir><file name="Observer.php" hash="9197f6fb573484db244c141607872b95"/><file name="ProductDetails.php" hash="0e06fa7061b325734554b05f81673201"/><file name="Queue.php" hash="459a74e66f2a7ccd146f480701574464"/><file name=".DS_Store" hash="3db11e65f616ba2524ebf71cf1300fa5"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="TagalysController.php" hash="ae3d1b6cc8d229e98130704b8e010e17"/></dir><file name="SyncfilesController.php" hash="1b8476cbb4d02ec87b7742e4dc9fff4b"/><file name=".DS_Store" hash="db462bf5da1a15c73197a0fefd3f5b51"/></dir><dir name="etc"><file name="config.xml" hash="268ec165bea0aa481d5bb7c773288ae3"/></dir><dir name="sql"><dir name="tagalys_core_setup"><file name="mysql4-install-0.3.0.php" hash="fca9f934db6850d950dfdcd71dba7dcd"/><file name="mysql4-upgrade-0.1.0-0.3.0.php" hash="1eb2da3bdf0753b6f4904f1fd62af32f"/><file name="mysql4-upgrade-0.2.0-0.3.0.php" hash="1eb2da3bdf0753b6f4904f1fd62af32f"/></dir><file name=".DS_Store" hash="d87f0e93ae82377a5ceeda9bd58740e8"/></dir><file name=".DS_Store" hash="d1024e81b6252a3d102a906452f53021"/></dir><dir name="SearchSuggestions"><dir name="Helper"><file name="Data.php" hash="a88adfc9f92bb01b4fdb851ea4f265d3"/></dir><dir name="Model"><file name="Observer.php" hash="73e90449054eac498e3b4dfd55db33f1"/></dir><dir name="etc"><file name="config.xml" hash="1e1ee26e326c03473e5854f5dae06c59"/></dir></dir><dir name="Search"><dir name="controllers"><file name="IndexController.php" hash="baaeb347db3b8d32d09a83d3369388a8"/></dir><dir name="etc"><file name="config.xml" hash="5e5a0a2d2de927241c1e97f435a382f7"/></dir><file name=".DS_Store" hash="822777d708619165d544d3256174adc2"/></dir><dir name="Mpages"><dir name="controllers"><file name="IndexController.php" hash="1d80e73a3e3d2a51cff12ebbe1b1364e"/></dir><dir name="etc"><file name="config.xml" hash="80d1b3c82d4da93c271376881f663db5"/></dir><file name=".DS_Store" hash="822777d708619165d544d3256174adc2"/></dir></dir></dir></target><target name="magedesign"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="tagalys_core.xml" hash="a0875951441399a46dfb5cb3d346b7d8"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="tagalys_search_suggestions.xml" hash="fc80c019c80782d9b956553c56f236e1"/></dir><dir name="template"><dir name="tagalys_search_suggestions"><file name="search_suggestions.phtml" hash="b55dbbb4f333ca8351772a3c4f2102ea"/></dir><dir name="tagalys_search"><file name="index.phtml" hash="45947e71dd01470b5d1664a7e7eaa5bd"/></dir><dir name="tagalys_mpages"><file name="index.phtml" hash="8ad2aeed80bc1d9b86649ac34e5eaa2f"/></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="tagalys"><file name="tagalys-configuration.css" hash="fa3b8f3a4d1bebbbcef261f10e4652b7"/></dir></dir><dir name="images"><dir name="tagalys"><file name="tagalys-logo.png" hash="b26278b173e29b21edc16ddd06ca0192"/></dir></dir></dir></dir></dir></dir></target><target name="mage"><dir><dir name="js"><file name="tagalys-configuration.js" hash="310c28a4b52225884d06a9e596758053"/></dir></dir></target></contents>
18
  <compatible/>
19
  <dependencies><required><php><min>5.3.0</min><max>7.0.10</max></php></required></dependencies>
20
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>visual-merchandising-product-listing-campaign-creator</name>
4
+ <version>1.1.1</version>
5
  <stability>stable</stability>
6
  <license>Tagalys</license>
7
  <channel>community</channel>
12
  Visual Merchandising allows you to to create, modify or delete product listing pages that can be used from campaigns in SEO, SEM, Social Media and show collections at your online store. Visual Merchandisers do not require any assistance from IT or Tech teams allowing them to focus on managing the platform.</description>
13
  <notes>Any questions or concerns, please email cs@tagalys.com and we will get back to you in less than 24 hours. </notes>
14
  <authors><author><name>Palani</name><user>Palani</user><email>pc@tagalys.com</email></author></authors>
15
+ <date>2017-04-20</date>
16
+ <time>10:54:55</time>
17
+ <contents><target name="mageetc"><dir><dir name="modules"><file name="Tagalys_Core.xml" hash="7576ed5aa125c580f0b791018f24a0e9"/><file name="Tagalys_SearchSuggestions.xml" hash="dbf6f4ff1859ef2df72560c9282af435"/><file name="Tagalys_Search.xml" hash="820b96f53d2f0e86cb49906a4dda7f41"/><file name="Tagalys_Mpages.xml" hash="6ccb4f45669c98fd746c6abd92ab32ca"/></dir></dir></target><target name="magecommunity"><dir><dir name="Tagalys"><dir name="Core"><dir name="Block"><dir name="Adminhtml"><dir name="Tagalys"><dir name="Edit"><file name="Form.php" hash="31cae34d1e9bd5cb0c881ae5a6fc03c0"/><dir name="Tab"><file name="Apicredentials.php" hash="9005c30790a51ad077cb4be46a07b766"/><file name="Mpages.php" hash="ba526eb77efd4000ae96404bd04aa638"/><file name="Search.php" hash="fef14680d0feb63bb4e928296c3b9032"/><file name="Searchsuggestions.php" hash="5c87af24ad22c663da17e0a1ffe9a655"/><file name="Support.php" hash="c68547cfe57cbccdcbcf7c3eb35ed6b3"/><file name="Sync.php" hash="849f7bb77ff568e7f29cf63d54e7faa8"/><file name="Syncsettings.php" hash="eecdbdee1c7b3a0e7b978f46b6879acc"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><file name="Tabs.php" hash="20d85d9037ba7a885c33030657900c88"/><file name=".DS_Store" hash="711f187349473a2c6e6d564d4a2faeb9"/></dir><file name="Edit.php" hash="9da04e9a4aec76ce5f5bd88c453390cd"/><file name=".DS_Store" hash="2f95379345a665b8fd261ff7c2f5a7af"/></dir><file name=".DS_Store" hash="96cf5cac0d87be80da73c36e96971923"/></dir><file name=".DS_Store" hash="8c5a4cb1f6f8e10ade87d78ff4d0bfe4"/></dir><dir name="Helper"><file name="Data.php" hash="a58dbfb1712015d7c4097c5efd4c8ad4"/><file name="Service.php" hash="7eda8b6e644818b607c122d80ba2f68d"/><file name="SyncFile.php" hash="5b60934e482b5d2332e7eae44c907a72"/></dir><dir name="Model"><file name="Client.php" hash="30e1a58406d31c97bc249acc8ebeee9c"/><file name="Config.php" hash="784ee62e5d029503f915bfdaf9cff003"/><dir name="Mysql4"><dir name="Config"><file name="Collection.php" hash="0967ac6ac1a049d9e09288641d2b4a58"/></dir><file name="Config.php" hash="3562b9ffdf260e34945f9e7830facc1b"/><dir name="Queue"><file name="Collection.php" hash="db01d5b412ca3f8cbc1cbbe8b1ed3d0d"/></dir><file name="Queue.php" hash="50fd814880c6adf02dcb9babe5874811"/><file name=".DS_Store" hash="d3dec31675796dca442be9f6076210df"/></dir><file name="Observer.php" hash="9197f6fb573484db244c141607872b95"/><file name="ProductDetails.php" hash="0e06fa7061b325734554b05f81673201"/><file name="Queue.php" hash="459a74e66f2a7ccd146f480701574464"/><file name=".DS_Store" hash="3db11e65f616ba2524ebf71cf1300fa5"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="TagalysController.php" hash="ae3d1b6cc8d229e98130704b8e010e17"/></dir><file name="SyncfilesController.php" hash="1b8476cbb4d02ec87b7742e4dc9fff4b"/><file name=".DS_Store" hash="db462bf5da1a15c73197a0fefd3f5b51"/></dir><dir name="etc"><file name="config.xml" hash="428df3c01ee2ec6067bf65ec72ec3fea"/></dir><dir name="sql"><dir name="tagalys_core_setup"><file name="mysql4-install-0.3.0.php" hash="fca9f934db6850d950dfdcd71dba7dcd"/><file name="mysql4-upgrade-0.1.0-0.3.0.php" hash="1eb2da3bdf0753b6f4904f1fd62af32f"/><file name="mysql4-upgrade-0.2.0-0.3.0.php" hash="1eb2da3bdf0753b6f4904f1fd62af32f"/></dir><file name=".DS_Store" hash="d87f0e93ae82377a5ceeda9bd58740e8"/></dir><file name=".DS_Store" hash="d1024e81b6252a3d102a906452f53021"/></dir><dir name="SearchSuggestions"><dir name="Helper"><file name="Data.php" hash="a88adfc9f92bb01b4fdb851ea4f265d3"/></dir><dir name="Model"><file name="Observer.php" hash="73e90449054eac498e3b4dfd55db33f1"/></dir><dir name="etc"><file name="config.xml" hash="1e1ee26e326c03473e5854f5dae06c59"/></dir></dir><dir name="Search"><dir name="controllers"><file name="IndexController.php" hash="baaeb347db3b8d32d09a83d3369388a8"/></dir><dir name="etc"><file name="config.xml" hash="5e5a0a2d2de927241c1e97f435a382f7"/></dir><file name=".DS_Store" hash="822777d708619165d544d3256174adc2"/></dir><dir name="Mpages"><dir name="controllers"><file name="IndexController.php" hash="1d80e73a3e3d2a51cff12ebbe1b1364e"/></dir><dir name="etc"><file name="config.xml" hash="80d1b3c82d4da93c271376881f663db5"/></dir><file name=".DS_Store" hash="822777d708619165d544d3256174adc2"/></dir></dir></dir></target><target name="magedesign"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="layout"><file name="tagalys_core.xml" hash="a0875951441399a46dfb5cb3d346b7d8"/></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="tagalys_search_suggestions.xml" hash="fc80c019c80782d9b956553c56f236e1"/></dir><dir name="template"><dir name="tagalys_search_suggestions"><file name="search_suggestions.phtml" hash="b55dbbb4f333ca8351772a3c4f2102ea"/></dir><dir name="tagalys_search"><file name="index.phtml" hash="45947e71dd01470b5d1664a7e7eaa5bd"/></dir><dir name="tagalys_mpages"><file name="index.phtml" hash="8ad2aeed80bc1d9b86649ac34e5eaa2f"/></dir></dir></dir></dir></dir></dir></target><target name="mageskin"><dir><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="css"><dir name="tagalys"><file name="tagalys-configuration.css" hash="fa3b8f3a4d1bebbbcef261f10e4652b7"/></dir></dir><dir name="images"><dir name="tagalys"><file name="tagalys-logo.png" hash="b26278b173e29b21edc16ddd06ca0192"/></dir></dir></dir></dir></dir></dir></target><target name="mage"><dir><dir name="js"><file name="tagalys-configuration.js" hash="310c28a4b52225884d06a9e596758053"/></dir></dir></target></contents>
18
  <compatible/>
19
  <dependencies><required><php><min>5.3.0</min><max>7.0.10</max></php></required></dependencies>
20
  </package>