Version Notes
TurnTo Admin Extension
2.0 Adds support for Single Sign On
2.1 Re-wrote catalog feed generator
2.1.6 - Better catalog support in catalog feed generator.
2.2.0 - Support for sku average rating feed
2.2.2 - Minor bug fix
2.2.4 - Fixed excessive load time on configuration screen.
2.2.5 - Catalog Feed tweaks
2.2.7 - Support for Magento Security Patch (SUPEE-6788)
2.2.9 - Historical Feed bug fix
2.2.10 - Minor bug fix for historical feed exporter
2.2.11 - Fixed circular reference in category tree. Optimized memory usage in catalog feed generator.
2.3.0 - Added ability to push the historical feed nightly
2.3.1 - Added UPC, MPN, EAN, ASIN, JAN and ISBN to TurnTo configuration screen and catalog feed
2.3.2 - Allow users to deselect GTINs on configuration screen
2.3.3 - Added Brand to the TurnTo configuration screen as a configurable attribute, which is included in the catalog feed.
2.3.4 - Allow all types of attributes in the brand drop-down, not just varchar.
Release Info
Developer | TurnTo Networks |
Extension | socialcommerce_suite_by_turnto |
Version | 2.3.4 |
Comparing to | |
See all releases |
Code changes from version 2.3.0 to 2.3.4
- app/code/community/Turnto/Admin/Block/Adminhtml/System/Config/Attributes.php +28 -0
- app/code/community/Turnto/Admin/Block/Adminhtml/System/Config/AttributesAll.php +28 -0
- app/code/community/Turnto/Admin/Helper/Data.php +51 -41
- app/code/community/Turnto/Admin/controllers/IndexController.php +190 -73
- app/code/community/Turnto/Admin/etc/adminhtml.xml +0 -47
- app/code/community/Turnto/Admin/etc/config.xml +9 -2
- app/code/community/Turnto/Admin/etc/system.xml +72 -2
- app/code/community/Turnto/Login/controllers/IndexController.php +1 -1
- app/code/community/Turnto/Login/etc/config.xml +1 -1
- app/design/adminhtml/default/default/template/turnto/catalog_feed_tab.phtml +32 -37
- app/design/frontend/base/default/layout/turnto_login.xml +180 -0
- app/design/frontend/{default → base}/default/template/turnto/login/login.phtml +0 -0
- app/design/frontend/{default → base}/default/template/turnto/login/login_form.phtml +0 -0
- app/design/frontend/{default → base}/default/template/turnto/login/reg.phtml +0 -0
- app/design/frontend/{default → base}/default/template/turnto/login/reg_form.phtml +0 -0
- app/design/frontend/default/default/layout/turnto_login.xml +0 -80
- package.xml +18 -30
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Turnto_Admin_Block_Adminhtml_System_Config_Attributes
|
4 |
+
{
|
5 |
+
public function __construct()
|
6 |
+
{
|
7 |
+
|
8 |
+
}
|
9 |
+
|
10 |
+
private static $validTypes = array('varchar');
|
11 |
+
|
12 |
+
public function toOptionArray() {
|
13 |
+
$attributes = Mage::getResourceModel('catalog/product_attribute_collection');
|
14 |
+
|
15 |
+
$attributesForDisplay = array();
|
16 |
+
|
17 |
+
array_push($attributesForDisplay, array('value' => '', 'label' => ''));
|
18 |
+
foreach ($attributes as $productAttr) { /** @var Mage_Catalog_Model_Resource_Eav_Attribute $productAttr */
|
19 |
+
if (in_array($productAttr->getBackendType(), self::$validTypes)) {
|
20 |
+
if ($productAttr->getFrontendLabel() != null && $productAttr->getFrontendLabel() != '') {
|
21 |
+
array_push($attributesForDisplay, array('value' => $productAttr->getAttributeCode(), 'label' => $productAttr->getFrontendLabel()));
|
22 |
+
}
|
23 |
+
}
|
24 |
+
}
|
25 |
+
|
26 |
+
return $attributesForDisplay;
|
27 |
+
}
|
28 |
+
}
|
@@ -0,0 +1,28 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?php
|
2 |
+
|
3 |
+
class Turnto_Admin_Block_Adminhtml_System_Config_AttributesAll
|
4 |
+
{
|
5 |
+
public function __construct()
|
6 |
+
{
|
7 |
+
|
8 |
+
}
|
9 |
+
|
10 |
+
//private static $validTypes = array('varchar');
|
11 |
+
|
12 |
+
public function toOptionArray() {
|
13 |
+
$attributes = Mage::getResourceModel('catalog/product_attribute_collection');
|
14 |
+
|
15 |
+
$attributesForDisplay = array();
|
16 |
+
|
17 |
+
array_push($attributesForDisplay, array('value' => '', 'label' => ''));
|
18 |
+
foreach ($attributes as $productAttr) { /** @var Mage_Catalog_Model_Resource_Eav_Attribute $productAttr */
|
19 |
+
//if (in_array($productAttr->getBackendType(), self::$validTypes)) {
|
20 |
+
if ($productAttr->getFrontendLabel() != null && $productAttr->getFrontendLabel() != '') {
|
21 |
+
array_push($attributesForDisplay, array('value' => $productAttr->getAttributeCode(), 'label' => $productAttr->getFrontendLabel()));
|
22 |
+
}
|
23 |
+
//}
|
24 |
+
}
|
25 |
+
|
26 |
+
return $attributesForDisplay;
|
27 |
+
}
|
28 |
+
}
|
@@ -172,7 +172,9 @@ class Turnto_Admin_Helper_Data extends Mage_Core_Helper_Data
|
|
172 |
|
173 |
public function generateHistoricalOrdersFeed($startDate, $storeId, $fileName) {
|
174 |
$path = Mage::getBaseDir('media') . DS . 'turnto/';
|
175 |
-
|
|
|
|
|
176 |
|
177 |
$handle = fopen($path . $fileName, 'w');
|
178 |
|
@@ -201,7 +203,7 @@ class Turnto_Admin_Helper_Data extends Mage_Core_Helper_Data
|
|
201 |
$itemlineid = 0;
|
202 |
foreach ($order->getAllVisibleItems() as $item) {
|
203 |
//ORDERID
|
204 |
-
fwrite($handle, $order->
|
205 |
fwrite($handle, "\t");
|
206 |
//ORDERDATE
|
207 |
fwrite($handle, $order->getCreatedAtDate()->toString('Y-MM-d'));
|
@@ -270,7 +272,7 @@ class Turnto_Admin_Helper_Data extends Mage_Core_Helper_Data
|
|
270 |
$items = $shipment->getItemsCollection();
|
271 |
foreach ($items as $it) {
|
272 |
// check if this shipment contains the item that was passed in
|
273 |
-
if ($item->getId() == $it->
|
274 |
return $shipment->getCreatedAtDate();
|
275 |
}
|
276 |
}
|
@@ -281,55 +283,63 @@ class Turnto_Admin_Helper_Data extends Mage_Core_Helper_Data
|
|
281 |
|
282 |
public function pushHistoricalOrdersFeed() {
|
283 |
$path = Mage::getBaseDir('media') . DS . 'turnto/';
|
284 |
-
|
|
|
|
|
285 |
|
286 |
$logFile = 'turnto_historical_feed_job.log';
|
287 |
|
288 |
Mage::log('Started pushHistoricalOrdersFeed', null, $logFile);
|
289 |
|
290 |
-
|
291 |
-
|
292 |
-
|
293 |
-
|
294 |
-
|
295 |
-
|
296 |
-
|
297 |
-
|
298 |
-
|
299 |
-
|
300 |
-
|
301 |
-
|
302 |
-
|
303 |
-
|
|
|
304 |
|
305 |
-
|
306 |
-
|
307 |
-
|
|
|
308 |
|
309 |
-
|
310 |
-
|
311 |
-
|
312 |
-
|
313 |
|
314 |
-
|
315 |
-
|
316 |
-
|
317 |
-
|
318 |
-
|
319 |
-
rtrim($fields_string, '&');
|
320 |
|
321 |
-
|
322 |
-
|
323 |
-
|
324 |
-
|
325 |
-
|
326 |
-
|
|
|
327 |
|
328 |
-
|
329 |
-
|
|
|
330 |
|
331 |
-
|
332 |
|
333 |
-
|
|
|
|
|
|
|
334 |
}
|
335 |
}
|
172 |
|
173 |
public function generateHistoricalOrdersFeed($startDate, $storeId, $fileName) {
|
174 |
$path = Mage::getBaseDir('media') . DS . 'turnto/';
|
175 |
+
if (!file_exists($path)) {
|
176 |
+
mkdir($path, 0755);
|
177 |
+
}
|
178 |
|
179 |
$handle = fopen($path . $fileName, 'w');
|
180 |
|
203 |
$itemlineid = 0;
|
204 |
foreach ($order->getAllVisibleItems() as $item) {
|
205 |
//ORDERID
|
206 |
+
fwrite($handle, $order->getId());
|
207 |
fwrite($handle, "\t");
|
208 |
//ORDERDATE
|
209 |
fwrite($handle, $order->getCreatedAtDate()->toString('Y-MM-d'));
|
272 |
$items = $shipment->getItemsCollection();
|
273 |
foreach ($items as $it) {
|
274 |
// check if this shipment contains the item that was passed in
|
275 |
+
if ($item->getId() == $it->getOrderItemId()) {
|
276 |
return $shipment->getCreatedAtDate();
|
277 |
}
|
278 |
}
|
283 |
|
284 |
public function pushHistoricalOrdersFeed() {
|
285 |
$path = Mage::getBaseDir('media') . DS . 'turnto/';
|
286 |
+
if (!file_exists($path)) {
|
287 |
+
mkdir($path, 0755);
|
288 |
+
}
|
289 |
|
290 |
$logFile = 'turnto_historical_feed_job.log';
|
291 |
|
292 |
Mage::log('Started pushHistoricalOrdersFeed', null, $logFile);
|
293 |
|
294 |
+
try {
|
295 |
+
$fileName = 'magento_auto_histfeed.csv';
|
296 |
+
$storeId = Mage::getStoreConfig('turnto_admin/general/storeId');
|
297 |
+
$storeId = $storeId ? $storeId : 1;
|
298 |
+
$this->generateHistoricalOrdersFeed("-2 days", $storeId, $fileName);
|
299 |
+
|
300 |
+
$file = $path . $fileName;
|
301 |
+
$siteKey = Mage::getStoreConfig('turnto_admin/general/site_key');
|
302 |
+
$authKey = Mage::getStoreConfig('turnto_admin/general/site_auth');
|
303 |
+
$baseUrl = Mage::getStoreConfig('turnto_admin/general/url');
|
304 |
+
if (!$baseUrl) {
|
305 |
+
$baseUrl = "http://www.turnto.com";
|
306 |
+
}
|
307 |
+
$url = $baseUrl . "/feedUpload/postfile";
|
308 |
+
$feedStyle = "tab-style.1";
|
309 |
|
310 |
+
Mage::log('Filename: "' . $fileName . '"', null, $logFile);
|
311 |
+
Mage::log('Store Id: "' . $storeId . '"', null, $logFile);
|
312 |
+
Mage::log('siteKey: "' . $siteKey . '"', null, $logFile);
|
313 |
+
Mage::log('authKey: "' . $authKey . '"', null, $logFile);
|
314 |
|
315 |
+
if (!$siteKey || !$authKey) {
|
316 |
+
Mage::log('No siteKey or authKey found in configuration', null, $logFile);
|
317 |
+
return;
|
318 |
+
}
|
319 |
|
320 |
+
if (!file_exists($file)) {
|
321 |
+
Mage::log('Could not find the newly created historical feed file. Are the write permission correct on /media/turnto?', null, $logFile);
|
322 |
+
return;
|
323 |
+
}
|
324 |
+
$fields = array('siteKey' => $siteKey, 'authKey' => $authKey, 'feedStyle' => $feedStyle, 'file' => "@$file");
|
|
|
325 |
|
326 |
+
Mage::log('Attempting to post file to ' . $url, null, $logFile);
|
327 |
+
$ch = curl_init($url);
|
328 |
+
curl_setopt($ch, CURLOPT_URL, $url);
|
329 |
+
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
330 |
+
curl_setopt($ch, CURLOPT_POST, 1);
|
331 |
+
curl_setopt($ch, CURLOPT_POSTFIELDS, $fields);
|
332 |
+
curl_setopt($ch, CURLOPT_HEADER, 0);
|
333 |
|
334 |
+
$response = curl_exec($ch);
|
335 |
+
Mage::log('Response from server: ' . $response, null, $logFile);
|
336 |
+
curl_close($ch);
|
337 |
|
338 |
+
Mage::log('Ended pushHistoricalOrdersFeed', null, $logFile);
|
339 |
|
340 |
+
echo $response;
|
341 |
+
} catch (Exception $e) {
|
342 |
+
Mage::log('Exception caught: ' . $e->getMessage(), null, $logFile);
|
343 |
+
}
|
344 |
}
|
345 |
}
|
@@ -20,14 +20,7 @@ class Turnto_Admin_IndexController extends Mage_Core_Controller_Front_Action
|
|
20 |
$websiteId = $params['websiteId'];
|
21 |
}
|
22 |
|
23 |
-
|
24 |
-
$baseMediaUrl = Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'catalog/product';
|
25 |
-
|
26 |
-
$baseUrl = Mage::app()->getStore($storeId)->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK);
|
27 |
-
$baseMediaUrl = Mage::app()->getStore($storeId)->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'catalog/product';
|
28 |
-
|
29 |
-
|
30 |
-
echo "SKU\tIMAGEURL\tTITLE\tPRICE\tCURRENCY\tACTIVE\tITEMURL\tCATEGORY\tKEYWORDS\tREPLACEMENTSKU\tINSTOCK\tVIRTUALPARENTCODE\tCATEGORYPATHJSON\tISCATEGORY\tBRAND";
|
31 |
echo "\n";
|
32 |
|
33 |
$pageSize = 100;
|
@@ -35,96 +28,86 @@ class Turnto_Admin_IndexController extends Mage_Core_Controller_Front_Action
|
|
35 |
->getCollection()
|
36 |
->addStoreFilter($storeId)
|
37 |
->addWebsiteFilter($websiteId)
|
|
|
38 |
->getSize();
|
39 |
|
40 |
$page = 1;
|
41 |
$pages = ceil($count / $pageSize);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
42 |
do {
|
43 |
$collection = Mage::getModel('catalog/product')
|
44 |
->getCollection()
|
45 |
->addAttributeToSelect('*')
|
46 |
->addWebsiteFilter($websiteId)
|
47 |
->addStoreFilter($storeId)
|
|
|
48 |
->setPageSize($pageSize)
|
49 |
->setCurPage($page);
|
50 |
|
51 |
foreach ($collection as $product) {
|
52 |
$parents = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($product->getId());
|
53 |
if (isset($parents[0])) {
|
54 |
-
|
55 |
-
|
56 |
-
|
|
|
57 |
|
58 |
-
|
59 |
-
//
|
60 |
-
|
61 |
-
//
|
62 |
-
|
63 |
-
//
|
64 |
-
|
65 |
-
//
|
66 |
-
|
67 |
-
//
|
68 |
-
|
69 |
-
|
70 |
-
echo $product->getSku();
|
71 |
-
echo "\t";
|
72 |
-
//echo Mage::getModel('catalog/product_media_config')->getMediaUrl( $product->getImage() );
|
73 |
-
// IMAGEURL
|
74 |
-
$imageUrl = null;
|
75 |
-
if ($product->getImage() != null && $product->getImage() != "no_selection") {
|
76 |
-
$imageUrl = Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getImage());
|
77 |
-
} else if ($product->getSmallImage() != null && $product->getSmallImage() != "no_selection") {
|
78 |
-
$imageUrl = Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getSmallImage());
|
79 |
-
} else if ($product->getThumbnail() != null && $product->getThumbnail() != "no_selection") {
|
80 |
-
$imageUrl = Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getThumbnail());
|
81 |
-
}
|
82 |
-
if (!$imageUrl) {
|
83 |
-
echo $product->getImageUrl();
|
84 |
} else {
|
85 |
-
|
86 |
}
|
|
|
|
|
|
|
|
|
87 |
|
88 |
-
|
89 |
-
|
90 |
-
|
91 |
-
|
92 |
-
|
93 |
-
|
94 |
-
|
95 |
-
|
96 |
-
|
97 |
-
|
98 |
-
|
99 |
-
|
100 |
-
|
101 |
-
|
102 |
-
|
103 |
-
|
104 |
-
|
105 |
-
|
106 |
-
|
107 |
-
|
108 |
-
|
109 |
-
|
110 |
-
echo "\t";
|
111 |
-
//VIRTUALPARENTCODE
|
112 |
-
echo "\t";
|
113 |
-
//INSTOCK
|
114 |
-
echo "\t";
|
115 |
-
//CATEGORYPATHJSON
|
116 |
-
echo "\t";
|
117 |
-
//ISCATEGORY
|
118 |
-
echo "n";
|
119 |
-
echo "\t";
|
120 |
-
//BRAND
|
121 |
-
echo $product->getAttributeText('manufacturer');
|
122 |
-
echo "\n";
|
123 |
}
|
124 |
$page++;
|
125 |
$collection->clear();
|
126 |
} while ($page <= $pages);
|
127 |
|
|
|
128 |
$categories = Mage::getModel('catalog/category')->setStoreId($storeId)->getCollection()->addAttributeToSelect('*');
|
129 |
if ($categories) {
|
130 |
foreach ($categories as $category) {
|
@@ -163,6 +146,18 @@ class Turnto_Admin_IndexController extends Mage_Core_Controller_Front_Action
|
|
163 |
echo "Y";
|
164 |
echo "\t";
|
165 |
//BRAND
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
166 |
echo "\n";
|
167 |
}
|
168 |
}
|
@@ -175,6 +170,128 @@ class Turnto_Admin_IndexController extends Mage_Core_Controller_Front_Action
|
|
175 |
|
176 |
}
|
177 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
178 |
public function versionAction() {
|
179 |
echo Mage::getConfig()->getNode()->modules->Turnto_Admin->version;
|
180 |
}
|
20 |
$websiteId = $params['websiteId'];
|
21 |
}
|
22 |
|
23 |
+
echo "SKU\tIMAGEURL\tTITLE\tPRICE\tCURRENCY\tACTIVE\tITEMURL\tCATEGORY\tKEYWORDS\tREPLACEMENTSKU\tINSTOCK\tVIRTUALPARENTCODE\tCATEGORYPATHJSON\tISCATEGORY\tBRAND\tUPC\tMPN\tISBN\tEAN\tJAN\tASIN";
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
24 |
echo "\n";
|
25 |
|
26 |
$pageSize = 100;
|
28 |
->getCollection()
|
29 |
->addStoreFilter($storeId)
|
30 |
->addWebsiteFilter($websiteId)
|
31 |
+
->addAttributeToFilter('type_id', array('eq' => 'simple'))
|
32 |
->getSize();
|
33 |
|
34 |
$page = 1;
|
35 |
$pages = ceil($count / $pageSize);
|
36 |
+
$parentIdToGtins = array();
|
37 |
+
$upcCode = Mage::getStoreConfig('turnto_admin/general/upc_attribute');
|
38 |
+
$mpnCode = Mage::getStoreConfig('turnto_admin/general/mpn_attribute');
|
39 |
+
$isbnCode = Mage::getStoreConfig('turnto_admin/general/isbn_attribute');
|
40 |
+
$eanCode = Mage::getStoreConfig('turnto_admin/general/ean_attribute');
|
41 |
+
$janCode = Mage::getStoreConfig('turnto_admin/general/jan_attribute');
|
42 |
+
$asinCode = Mage::getStoreConfig('turnto_admin/general/asin_attribute');
|
43 |
+
$brandCode = Mage::getStoreConfig('turnto_admin/general/brand_attribute');
|
44 |
+
|
45 |
do {
|
46 |
$collection = Mage::getModel('catalog/product')
|
47 |
->getCollection()
|
48 |
->addAttributeToSelect('*')
|
49 |
->addWebsiteFilter($websiteId)
|
50 |
->addStoreFilter($storeId)
|
51 |
+
->addAttributeToFilter('type_id', array('eq' => 'simple'))
|
52 |
->setPageSize($pageSize)
|
53 |
->setCurPage($page);
|
54 |
|
55 |
foreach ($collection as $product) {
|
56 |
$parents = Mage::getModel('catalog/product_type_configurable')->getParentIdsByChild($product->getId());
|
57 |
if (isset($parents[0])) {
|
58 |
+
foreach ($parents as $parentId) {
|
59 |
+
if (!array_key_exists($parentId, $parentIdToGtins)) {
|
60 |
+
$parentIdToGtins[$parentId] = array('upc' => array(), 'mpn' => array(), 'isbn' => array(), 'jan' => array(), 'ean' => array(), 'asin' => array());
|
61 |
+
}
|
62 |
|
63 |
+
self::pushValueIfNotNull($parentIdToGtins[$parentId]['upc'], self::getProductAttributeValue($product, $storeId, $upcCode));
|
64 |
+
//MPN
|
65 |
+
self::pushValueIfNotNull($parentIdToGtins[$parentId]['mpn'], self::getProductAttributeValue($product, $storeId, $mpnCode));
|
66 |
+
//ISBN
|
67 |
+
self::pushValueIfNotNull($parentIdToGtins[$parentId]['isbn'], self::getProductAttributeValue($product, $storeId, $isbnCode));
|
68 |
+
//EAN
|
69 |
+
self::pushValueIfNotNull($parentIdToGtins[$parentId]['ean'], self::getProductAttributeValue($product, $storeId, $eanCode));
|
70 |
+
//JAN
|
71 |
+
self::pushValueIfNotNull($parentIdToGtins[$parentId]['jan'], self::getProductAttributeValue($product, $storeId, $janCode));
|
72 |
+
//ASIN
|
73 |
+
self::pushValueIfNotNull($parentIdToGtins[$parentId]['asin'], self::getProductAttributeValue($product, $storeId, $asinCode));
|
74 |
+
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
75 |
} else {
|
76 |
+
self::outputProduct($product, $parentIdToGtins, $storeId, $upcCode, $mpnCode, $isbnCode, $eanCode, $janCode, $asinCode, $brandCode);
|
77 |
}
|
78 |
+
}
|
79 |
+
$page++;
|
80 |
+
$collection->clear();
|
81 |
+
} while ($page <= $pages);
|
82 |
|
83 |
+
// other products
|
84 |
+
$count = Mage::getModel('catalog/product')
|
85 |
+
->getCollection()
|
86 |
+
->addStoreFilter($storeId)
|
87 |
+
->addWebsiteFilter($websiteId)
|
88 |
+
->addAttributeToFilter('type_id', array('neq' => 'simple'))
|
89 |
+
->getSize();
|
90 |
+
$page = 1;
|
91 |
+
$pages = ceil($count / $pageSize);
|
92 |
+
|
93 |
+
do {
|
94 |
+
$collection = Mage::getModel('catalog/product')
|
95 |
+
->getCollection()
|
96 |
+
->addAttributeToSelect('*')
|
97 |
+
->addWebsiteFilter($websiteId)
|
98 |
+
->addStoreFilter($storeId)
|
99 |
+
->addAttributeToFilter('type_id', array('neq' => 'simple'))
|
100 |
+
->setPageSize($pageSize)
|
101 |
+
->setCurPage($page);
|
102 |
+
|
103 |
+
foreach ($collection as $product) {
|
104 |
+
self::outputProduct($product, $parentIdToGtins, $storeId, $upcCode, $mpnCode, $isbnCode, $eanCode, $janCode, $asinCode, $brandCode);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
105 |
}
|
106 |
$page++;
|
107 |
$collection->clear();
|
108 |
} while ($page <= $pages);
|
109 |
|
110 |
+
|
111 |
$categories = Mage::getModel('catalog/category')->setStoreId($storeId)->getCollection()->addAttributeToSelect('*');
|
112 |
if ($categories) {
|
113 |
foreach ($categories as $category) {
|
146 |
echo "Y";
|
147 |
echo "\t";
|
148 |
//BRAND
|
149 |
+
echo "\t";
|
150 |
+
//UPC
|
151 |
+
echo "\t";
|
152 |
+
//MPN
|
153 |
+
echo "\t";
|
154 |
+
//ISBN
|
155 |
+
echo "\t";
|
156 |
+
//EAN
|
157 |
+
echo "\t";
|
158 |
+
//JAN
|
159 |
+
echo "\t";
|
160 |
+
//ASIN
|
161 |
echo "\n";
|
162 |
}
|
163 |
}
|
170 |
|
171 |
}
|
172 |
|
173 |
+
private function getGTINsCommaSeparated($gtins) {
|
174 |
+
return join(',', $gtins);
|
175 |
+
}
|
176 |
+
|
177 |
+
private function getProductAttributeValue($product, $storeId, $code) {
|
178 |
+
if ($code != null && $code != '') {
|
179 |
+
$attributeText = $product->getAttributeText($code);
|
180 |
+
if (!$attributeText) {
|
181 |
+
$attributeText = $product->getData($code);
|
182 |
+
}
|
183 |
+
if ($attributeText != null) {
|
184 |
+
return $attributeText;
|
185 |
+
}
|
186 |
+
}
|
187 |
+
return '';
|
188 |
+
}
|
189 |
+
|
190 |
+
private function outputProduct($product, $parentIdToGtins, $storeId, $upcCode, $mpnCode, $isbnCode, $eanCode, $janCode, $asinCode, $brandCode) {
|
191 |
+
//SKU
|
192 |
+
echo $product->getSku();
|
193 |
+
echo "\t";
|
194 |
+
//echo Mage::getModel('catalog/product_media_config')->getMediaUrl( $product->getImage() );
|
195 |
+
// IMAGEURL
|
196 |
+
$imageUrl = null;
|
197 |
+
if ($product->getImage() != null && $product->getImage() != "no_selection") {
|
198 |
+
$imageUrl = Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getImage());
|
199 |
+
} else if ($product->getSmallImage() != null && $product->getSmallImage() != "no_selection") {
|
200 |
+
$imageUrl = Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getSmallImage());
|
201 |
+
} else if ($product->getThumbnail() != null && $product->getThumbnail() != "no_selection") {
|
202 |
+
$imageUrl = Mage::getModel('catalog/product_media_config')->getMediaUrl($product->getThumbnail());
|
203 |
+
}
|
204 |
+
if (!$imageUrl) {
|
205 |
+
echo $product->getImageUrl();
|
206 |
+
} else {
|
207 |
+
echo $imageUrl;
|
208 |
+
}
|
209 |
+
|
210 |
+
echo "\t";
|
211 |
+
//TITLE
|
212 |
+
echo $product->getName();
|
213 |
+
echo "\t";
|
214 |
+
//PRICE
|
215 |
+
echo $product->getPrice();
|
216 |
+
echo "\t";
|
217 |
+
//CURRENCY
|
218 |
+
echo "\t";
|
219 |
+
//ACTIVE
|
220 |
+
echo 'Y';
|
221 |
+
echo "\t";
|
222 |
+
//ITEMURL
|
223 |
+
echo $product->getProductUrl();
|
224 |
+
echo "\t";
|
225 |
+
//CATEGORY
|
226 |
+
$ids = $product->getCategoryIds();
|
227 |
+
echo(isset($ids[0]) ? 'mag_category_'.$ids[0] : '');
|
228 |
+
echo "\t";
|
229 |
+
// KEYWORDS
|
230 |
+
echo "\t";
|
231 |
+
// REPLACEMENTSKU
|
232 |
+
echo "\t";
|
233 |
+
//VIRTUALPARENTCODE
|
234 |
+
echo "\t";
|
235 |
+
//INSTOCK
|
236 |
+
echo "\t";
|
237 |
+
//CATEGORYPATHJSON
|
238 |
+
echo "\t";
|
239 |
+
//ISCATEGORY
|
240 |
+
echo "n";
|
241 |
+
echo "\t";
|
242 |
+
//Brand
|
243 |
+
echo self::getProductAttributeValue($product, $storeId, $brandCode);
|
244 |
+
echo "\t";
|
245 |
+
$productId = $product->getId();
|
246 |
+
if ($parentIdToGtins[$productId]) {
|
247 |
+
// this product is a parent for another product. roll-up the GTINs
|
248 |
+
// UPCs rolled up
|
249 |
+
echo self::getGTINsCommaSeparated($parentIdToGtins[$productId]['upc']);
|
250 |
+
echo "\t";
|
251 |
+
// MPNs rolled up
|
252 |
+
echo self::getGTINsCommaSeparated($parentIdToGtins[$productId]['mpn']);
|
253 |
+
echo "\t";
|
254 |
+
// ISBNs rolled up
|
255 |
+
echo self::getGTINsCommaSeparated($parentIdToGtins[$productId]['isbn']);
|
256 |
+
echo "\t";
|
257 |
+
// EANs rolled up
|
258 |
+
echo self::getGTINsCommaSeparated($parentIdToGtins[$productId]['ean']);
|
259 |
+
echo "\t";
|
260 |
+
// JANs rolled up
|
261 |
+
echo self::getGTINsCommaSeparated($parentIdToGtins[$productId]['jan']);
|
262 |
+
echo "\t";
|
263 |
+
// ASINs rolled up
|
264 |
+
echo self::getGTINsCommaSeparated($parentIdToGtins[$productId]['asin']);
|
265 |
+
} else {
|
266 |
+
// this is a simple product just output the single GTINs
|
267 |
+
//UPC
|
268 |
+
echo self::getProductAttributeValue($product, $storeId, $upcCode);
|
269 |
+
echo "\t";
|
270 |
+
//MPN
|
271 |
+
echo self::getProductAttributeValue($product, $storeId, $mpnCode);
|
272 |
+
echo "\t";
|
273 |
+
//ISBN
|
274 |
+
echo self::getProductAttributeValue($product, $storeId, $isbnCode);
|
275 |
+
echo "\t";
|
276 |
+
//EAN
|
277 |
+
echo self::getProductAttributeValue($product, $storeId, $eanCode);
|
278 |
+
echo "\t";
|
279 |
+
//JAN
|
280 |
+
echo self::getProductAttributeValue($product, $storeId, $janCode);
|
281 |
+
echo "\t";
|
282 |
+
//ASIN
|
283 |
+
echo self::getProductAttributeValue($product, $storeId, $asinCode);
|
284 |
+
}
|
285 |
+
|
286 |
+
echo "\n";
|
287 |
+
}
|
288 |
+
|
289 |
+
private function pushValueIfNotNull(&$arr, $val) {
|
290 |
+
if ($val != null && $val != '') {
|
291 |
+
array_push($arr, $val);
|
292 |
+
}
|
293 |
+
}
|
294 |
+
|
295 |
public function versionAction() {
|
296 |
echo Mage::getConfig()->getNode()->modules->Turnto_Admin->version;
|
297 |
}
|
@@ -1,47 +0,0 @@
|
|
1 |
-
<config>
|
2 |
-
<!--<menu>-->
|
3 |
-
<!--<turntoadminmenu translate="title" module="adminhelper1">-->
|
4 |
-
<!--<title>TurnTo</title>-->
|
5 |
-
<!--<sort_order>200</sort_order>-->
|
6 |
-
<!--<children>-->
|
7 |
-
<!--<item1>-->
|
8 |
-
<!--<title>Integration</title>-->
|
9 |
-
<!--<action>adminhtml/turnto</action>-->
|
10 |
-
<!--<sort_order>1</sort_order>-->
|
11 |
-
<!--</item1>-->
|
12 |
-
<!--<item2>-->
|
13 |
-
<!--<title>Moderation</title>-->
|
14 |
-
<!--<action>adminhtml/turnto/redirect</action>-->
|
15 |
-
<!--<sort_order>2</sort_order>-->
|
16 |
-
<!--</item2>-->
|
17 |
-
<!--<item3>-->
|
18 |
-
<!--<title>Reporting</title>-->
|
19 |
-
<!--<action>adminhtml/turnto/redirect</action>-->
|
20 |
-
<!--<sort_order>3</sort_order>-->
|
21 |
-
<!--</item3>-->
|
22 |
-
<!--</children>-->
|
23 |
-
<!--</turntoadminmenu>-->
|
24 |
-
<!--</menu>-->
|
25 |
-
<!--<acl>-->
|
26 |
-
<!--<resources>-->
|
27 |
-
<!--<all>-->
|
28 |
-
<!--<title>Allow Everything</title>-->
|
29 |
-
<!--</all>-->
|
30 |
-
<!--<admin>-->
|
31 |
-
<!--<children>-->
|
32 |
-
<!--<system>-->
|
33 |
-
<!--<children>-->
|
34 |
-
<!--<config>-->
|
35 |
-
<!--<children>-->
|
36 |
-
<!--<turnto_admin>-->
|
37 |
-
<!--<title>Turnto Products Ratings</title>-->
|
38 |
-
<!--</turnto_admin>-->
|
39 |
-
<!--</children>-->
|
40 |
-
<!--</config>-->
|
41 |
-
<!--</children>-->
|
42 |
-
<!--</system>-->
|
43 |
-
<!--</children>-->
|
44 |
-
<!--</admin>-->
|
45 |
-
<!--</resources>-->
|
46 |
-
<!--</acl>-->
|
47 |
-
</config>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -3,7 +3,7 @@
|
|
3 |
<config>
|
4 |
<modules>
|
5 |
<Turnto_Admin>
|
6 |
-
<version>2.
|
7 |
</Turnto_Admin>
|
8 |
</modules>
|
9 |
|
@@ -141,6 +141,13 @@
|
|
141 |
<general>
|
142 |
<static_url>http://static.www.turnto.com</static_url>
|
143 |
<url>http://www.turnto.com</url>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
144 |
</general>
|
145 |
</turnto_admin>
|
146 |
</default>
|
@@ -156,7 +163,7 @@
|
|
156 |
</turnto_products_ratings>
|
157 |
<turnto_historical_orders_feed>
|
158 |
<schedule>
|
159 |
-
<cron_expr
|
160 |
</schedule>
|
161 |
<run>
|
162 |
<model>turnto_admin/observer::pushHistoricalOrdersFeed</model>
|
3 |
<config>
|
4 |
<modules>
|
5 |
<Turnto_Admin>
|
6 |
+
<version>2.3.4</version>
|
7 |
</Turnto_Admin>
|
8 |
</modules>
|
9 |
|
141 |
<general>
|
142 |
<static_url>http://static.www.turnto.com</static_url>
|
143 |
<url>http://www.turnto.com</url>
|
144 |
+
<upc_attribute nil="true"/>
|
145 |
+
<mpn_attribute nil="true"/>
|
146 |
+
<isbn_attribute nil="true"/>
|
147 |
+
<ean_attribute nil="true"/>
|
148 |
+
<jan_attribute nil="true"/>
|
149 |
+
<asin_attribute nil="true"/>
|
150 |
+
<brand_attribute nil="true"/>
|
151 |
</general>
|
152 |
</turnto_admin>
|
153 |
</default>
|
163 |
</turnto_products_ratings>
|
164 |
<turnto_historical_orders_feed>
|
165 |
<schedule>
|
166 |
+
<cron_expr>0 1 * * *</cron_expr>
|
167 |
</schedule>
|
168 |
<run>
|
169 |
<model>turnto_admin/observer::pushHistoricalOrdersFeed</model>
|
@@ -69,12 +69,82 @@
|
|
69 |
<validate>required-entry</validate>
|
70 |
<comment>Default is http://www.turnto.com. Should not ever be changed, unless instructed by TurnTo.</comment>
|
71 |
</url>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
72 |
</fields>
|
73 |
</general>
|
74 |
<feedconfig translate="label" >
|
75 |
<label>Turnto Feed Configuration</label>
|
76 |
<frontend_type>text</frontend_type>
|
77 |
-
<sort_order>
|
78 |
<show_in_default>1</show_in_default>
|
79 |
<show_in_website>1</show_in_website>
|
80 |
<show_in_store>1</show_in_store>
|
@@ -102,7 +172,7 @@
|
|
102 |
<label>Historical Orders Feed Push</label>
|
103 |
<tab>turnto_extensions</tab>
|
104 |
<frontend_type>text</frontend_type>
|
105 |
-
<sort_order>
|
106 |
<show_in_default>1</show_in_default>
|
107 |
<show_in_website>1</show_in_website>
|
108 |
<show_in_store>1</show_in_store>
|
69 |
<validate>required-entry</validate>
|
70 |
<comment>Default is http://www.turnto.com. Should not ever be changed, unless instructed by TurnTo.</comment>
|
71 |
</url>
|
72 |
+
<!-- UPC -->
|
73 |
+
<upc_attribute>
|
74 |
+
<label>UPC Attribute</label>
|
75 |
+
<frontend_type>select</frontend_type>
|
76 |
+
<source_model>Turnto_Admin_Block_Adminhtml_System_Config_Attributes</source_model>
|
77 |
+
<sort_order>120</sort_order>
|
78 |
+
<show_in_default>1</show_in_default>
|
79 |
+
<show_in_website>1</show_in_website>
|
80 |
+
<show_in_store>1</show_in_store>
|
81 |
+
</upc_attribute>
|
82 |
+
<!-- MPN -->
|
83 |
+
<mpn_attribute>
|
84 |
+
<label>MPN Attribute</label>
|
85 |
+
<frontend_type>select</frontend_type>
|
86 |
+
<source_model>Turnto_Admin_Block_Adminhtml_System_Config_Attributes</source_model>
|
87 |
+
<sort_order>130</sort_order>
|
88 |
+
<show_in_default>1</show_in_default>
|
89 |
+
<show_in_website>1</show_in_website>
|
90 |
+
<show_in_store>1</show_in_store>
|
91 |
+
</mpn_attribute>
|
92 |
+
<!-- ISBN -->
|
93 |
+
<isbn_attribute>
|
94 |
+
<label>ISBN Attribute</label>
|
95 |
+
<frontend_type>select</frontend_type>
|
96 |
+
<source_model>Turnto_Admin_Block_Adminhtml_System_Config_Attributes</source_model>
|
97 |
+
<sort_order>140</sort_order>
|
98 |
+
<show_in_default>1</show_in_default>
|
99 |
+
<show_in_website>1</show_in_website>
|
100 |
+
<show_in_store>1</show_in_store>
|
101 |
+
</isbn_attribute>
|
102 |
+
<!-- EAN -->
|
103 |
+
<ean_attribute>
|
104 |
+
<label>EAN Attribute</label>
|
105 |
+
<frontend_type>select</frontend_type>
|
106 |
+
<source_model>Turnto_Admin_Block_Adminhtml_System_Config_Attributes</source_model>
|
107 |
+
<sort_order>150</sort_order>
|
108 |
+
<show_in_default>1</show_in_default>
|
109 |
+
<show_in_website>1</show_in_website>
|
110 |
+
<show_in_store>1</show_in_store>
|
111 |
+
</ean_attribute>
|
112 |
+
<!-- JAN -->
|
113 |
+
<jan_attribute>
|
114 |
+
<label>JAN Attribute</label>
|
115 |
+
<frontend_type>select</frontend_type>
|
116 |
+
<source_model>Turnto_Admin_Block_Adminhtml_System_Config_Attributes</source_model>
|
117 |
+
<sort_order>160</sort_order>
|
118 |
+
<show_in_default>1</show_in_default>
|
119 |
+
<show_in_website>1</show_in_website>
|
120 |
+
<show_in_store>1</show_in_store>
|
121 |
+
</jan_attribute>
|
122 |
+
<!-- ASIN -->
|
123 |
+
<asin_attribute>
|
124 |
+
<label>ASIN Attribute</label>
|
125 |
+
<frontend_type>select</frontend_type>
|
126 |
+
<source_model>Turnto_Admin_Block_Adminhtml_System_Config_Attributes</source_model>
|
127 |
+
<sort_order>170</sort_order>
|
128 |
+
<show_in_default>1</show_in_default>
|
129 |
+
<show_in_website>1</show_in_website>
|
130 |
+
<show_in_store>1</show_in_store>
|
131 |
+
</asin_attribute>
|
132 |
+
<!-- BRAND -->
|
133 |
+
<brand_attribute>
|
134 |
+
<label>Brand Attribute</label>
|
135 |
+
<frontend_type>select</frontend_type>
|
136 |
+
<source_model>Turnto_Admin_Block_Adminhtml_System_Config_AttributesAll</source_model>
|
137 |
+
<sort_order>180</sort_order>
|
138 |
+
<show_in_default>1</show_in_default>
|
139 |
+
<show_in_website>1</show_in_website>
|
140 |
+
<show_in_store>1</show_in_store>
|
141 |
+
</brand_attribute>
|
142 |
</fields>
|
143 |
</general>
|
144 |
<feedconfig translate="label" >
|
145 |
<label>Turnto Feed Configuration</label>
|
146 |
<frontend_type>text</frontend_type>
|
147 |
+
<sort_order>20</sort_order>
|
148 |
<show_in_default>1</show_in_default>
|
149 |
<show_in_website>1</show_in_website>
|
150 |
<show_in_store>1</show_in_store>
|
172 |
<label>Historical Orders Feed Push</label>
|
173 |
<tab>turnto_extensions</tab>
|
174 |
<frontend_type>text</frontend_type>
|
175 |
+
<sort_order>30</sort_order>
|
176 |
<show_in_default>1</show_in_default>
|
177 |
<show_in_website>1</show_in_website>
|
178 |
<show_in_store>1</show_in_store>
|
@@ -3,7 +3,7 @@ class Turnto_Login_IndexController extends Mage_Core_Controller_Front_Action {
|
|
3 |
public function indexAction()
|
4 |
{
|
5 |
$this->loadLayout();
|
6 |
-
|
7 |
$this->renderLayout();
|
8 |
}
|
9 |
|
3 |
public function indexAction()
|
4 |
{
|
5 |
$this->loadLayout();
|
6 |
+
|
7 |
$this->renderLayout();
|
8 |
}
|
9 |
|
@@ -3,7 +3,7 @@
|
|
3 |
<config>
|
4 |
<modules>
|
5 |
<Turnto_Login>
|
6 |
-
<version>2.
|
7 |
</Turnto_Login>
|
8 |
</modules>
|
9 |
|
3 |
<config>
|
4 |
<modules>
|
5 |
<Turnto_Login>
|
6 |
+
<version>2.3.4</version>
|
7 |
</Turnto_Login>
|
8 |
</modules>
|
9 |
|
@@ -1,27 +1,21 @@
|
|
1 |
<h4>Catalog Feed</h4>
|
2 |
-
<p
|
3 |
<br>
|
4 |
<i><?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK) . 'turntocatalogfeed';?><?php if(count(Mage::registry('websites')) > 1) { ?>?websiteId=WEBSITE_ID<?php } ?><?php if(count(Mage::registry('stores')) > 1) { ?>&storeId=STORE_ID<?php } ?></i>
|
5 |
<br>
|
|
|
6 |
<?php if(count(Mage::registry('stores')) > 1 || count(Mage::registry('websites'))) { ?>
|
7 |
-
<b>NOTE: You appear to have multiple sites or stores on your magento installation so you will need to supply a scope in the URL. Replace <i>WEBSITE_ID</i> and <i>STORE_ID</i> in the url above with the appropriate values from the drop-downs below (just the number. For instance: siteId=1)</b>
|
8 |
-
<br>
|
9 |
-
<?php } ?>
|
10 |
-
<br>
|
11 |
-
in the <b>Catalog Feed Url:</b> input field.
|
12 |
-
<br>
|
13 |
-
<br>
|
14 |
-
This will set up the automation of the catalog feed in order to keep you products up to date. </p>
|
15 |
<br>
|
|
|
16 |
<br>
|
|
|
|
|
17 |
<br>
|
18 |
-
To manually create a catalog feed press Generate to build a catalog feed. This feed can be downloaded and uploaded via the TurnTo management form.
|
19 |
|
20 |
-
|
21 |
-
<
|
22 |
-
<input name="
|
23 |
-
<
|
24 |
-
<table>
|
25 |
<!--
|
26 |
<tr>
|
27 |
<td>Site Key:</td>
|
@@ -34,43 +28,44 @@ To manually create a catalog feed press Generate to build a catalog feed. This f
|
|
34 |
-->
|
35 |
<tr>
|
36 |
<?php
|
37 |
-
echo '<td>
|
38 |
-
|
39 |
foreach (Mage::registry('websites') as $website) {
|
40 |
-
echo '<
|
41 |
}
|
42 |
-
echo '</
|
43 |
?>
|
44 |
</tr>
|
|
|
45 |
<tr>
|
46 |
<?php
|
47 |
-
echo '<td>
|
48 |
-
echo '<
|
49 |
foreach (Mage::registry('stores') as $store) {
|
50 |
-
echo '<
|
51 |
}
|
52 |
-
echo '</
|
53 |
?>
|
54 |
</tr>
|
55 |
-
<tr
|
56 |
-
<td></td
|
57 |
-
<td align="right"
|
58 |
-
|
59 |
-
|
60 |
-
|
61 |
-
</tr
|
62 |
</table>
|
63 |
|
64 |
|
65 |
|
66 |
|
67 |
|
68 |
-
|
69 |
-
$file = Mage::getBaseDir('media') . DS . 'turnto/catfeed.csv';
|
70 |
-
|
71 |
-
if(file_exists($file)){
|
72 |
-
echo '<br /><br /><a href="/media/turnto/catfeed.csv">Download catalog feed</a> - created '.date('m/d/Y G:i',filectime($file));
|
73 |
-
}
|
74 |
-
?>
|
75 |
</form>
|
76 |
|
1 |
<h4>Catalog Feed</h4>
|
2 |
+
<p>Go to your Settings in the TurnTo Admin console and enter the following in the <b>Catalog Feed Url</b> input field:
|
3 |
<br>
|
4 |
<i><?php echo Mage::getBaseUrl(Mage_Core_Model_Store::URL_TYPE_LINK) . 'turntocatalogfeed';?><?php if(count(Mage::registry('websites')) > 1) { ?>?websiteId=WEBSITE_ID<?php } ?><?php if(count(Mage::registry('stores')) > 1) { ?>&storeId=STORE_ID<?php } ?></i>
|
5 |
<br>
|
6 |
+
This will set up the automation of the catalog feed in order to keep you products up to date.
|
7 |
<?php if(count(Mage::registry('stores')) > 1 || count(Mage::registry('websites'))) { ?>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
8 |
<br>
|
9 |
+
<b>NOTE: You appear to have multiple sites or stores on your magento installation so you will need to supply a scope in the URL. Replace <i>WEBSITE_ID</i> and <i>STORE_ID</i> in the url above with the appropriate values from the list below (just the number. For instance: websiteId=1&storeId=1)</b>
|
10 |
<br>
|
11 |
+
<?php } ?>
|
12 |
+
</p>
|
13 |
<br>
|
|
|
14 |
|
15 |
+
<!--<form id="cat_feed_form" name="cat_feed_form" method="post" action="--><?php //echo $this->getUrl('*/*/post') ?><!--">-->
|
16 |
+
<!-- <input name="form_key" type="hidden" value="--><?php //echo Mage::getSingleton('core/session')->getFormKey() ?><!--" />-->
|
17 |
+
<!-- <input name="feed_type" type="hidden" value="catalog" />-->
|
18 |
+
<!-- <table>-->
|
|
|
19 |
<!--
|
20 |
<tr>
|
21 |
<td>Site Key:</td>
|
28 |
-->
|
29 |
<tr>
|
30 |
<?php
|
31 |
+
echo '<td>Websites:</td>';
|
32 |
+
echo '<ul>';
|
33 |
foreach (Mage::registry('websites') as $website) {
|
34 |
+
echo '<li>'.$website->getId().': '.$website->getName().'</li>';
|
35 |
}
|
36 |
+
echo '</ul></td>'
|
37 |
?>
|
38 |
</tr>
|
39 |
+
<tr><br /></tr>
|
40 |
<tr>
|
41 |
<?php
|
42 |
+
echo '<td>Stores:</td>';
|
43 |
+
echo '<ul>';
|
44 |
foreach (Mage::registry('stores') as $store) {
|
45 |
+
echo '<li>'.$store->getId().': '.$store->getName().'</li>';
|
46 |
}
|
47 |
+
echo '</ul></td>'
|
48 |
?>
|
49 |
</tr>
|
50 |
+
<!-- <tr>-->
|
51 |
+
<!-- <td></td>-->
|
52 |
+
<!-- <td align="right">-->
|
53 |
+
<!---->
|
54 |
+
<!--<input id="submit" name="submit" value="Generate" type="submit" /></td>-->
|
55 |
+
<!---->
|
56 |
+
<!-- </tr>-->
|
57 |
</table>
|
58 |
|
59 |
|
60 |
|
61 |
|
62 |
|
63 |
+
<!-- --><?php //
|
64 |
+
// $file = Mage::getBaseDir('media') . DS . 'turnto/catfeed.csv';
|
65 |
+
//
|
66 |
+
// if(file_exists($file)){
|
67 |
+
// echo '<br /><br /><a href="/media/turnto/catfeed.csv">Download catalog feed</a> - created '.date('m/d/Y G:i',filectime($file));
|
68 |
+
// }
|
69 |
+
// ?>
|
70 |
</form>
|
71 |
|
@@ -0,0 +1,180 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
+
<layout version="0.1.0">
|
3 |
+
|
4 |
+
<turnto_login_index_index>
|
5 |
+
<reference name="root">
|
6 |
+
<action method="setTemplate">
|
7 |
+
<template>turnto/login/login.phtml</template>
|
8 |
+
<!--<template>customer/form/login.phtml</template>-->
|
9 |
+
</action>
|
10 |
+
</reference>
|
11 |
+
<reference name="content">
|
12 |
+
<block type="customer/form_login" name="customer_form_login" template="turnto/login/login_form.phtml"/>
|
13 |
+
</reference>
|
14 |
+
<block type="page/html_head" name="head" as="head">
|
15 |
+
<action method="addJs">
|
16 |
+
<script>prototype/prototype.js</script>
|
17 |
+
</action>
|
18 |
+
<action method="addJs" ifconfig="dev/js/deprecation">
|
19 |
+
<script>prototype/deprecation.js</script>
|
20 |
+
</action>
|
21 |
+
<action method="addJs">
|
22 |
+
<script>lib/ccard.js</script>
|
23 |
+
</action>
|
24 |
+
<action method="addJs">
|
25 |
+
<script>prototype/validation.js</script>
|
26 |
+
</action>
|
27 |
+
<action method="addJs">
|
28 |
+
<script>scriptaculous/builder.js</script>
|
29 |
+
</action>
|
30 |
+
<action method="addJs">
|
31 |
+
<script>scriptaculous/effects.js</script>
|
32 |
+
</action>
|
33 |
+
<action method="addJs">
|
34 |
+
<script>scriptaculous/dragdrop.js</script>
|
35 |
+
</action>
|
36 |
+
<action method="addJs">
|
37 |
+
<script>scriptaculous/controls.js</script>
|
38 |
+
</action>
|
39 |
+
<action method="addJs">
|
40 |
+
<script>scriptaculous/slider.js</script>
|
41 |
+
</action>
|
42 |
+
<action method="addJs">
|
43 |
+
<script>varien/js.js</script>
|
44 |
+
</action>
|
45 |
+
<action method="addJs">
|
46 |
+
<script>varien/form.js</script>
|
47 |
+
</action>
|
48 |
+
<action method="addJs">
|
49 |
+
<script>varien/menu.js</script>
|
50 |
+
</action>
|
51 |
+
<action method="addJs">
|
52 |
+
<script>mage/translate.js</script>
|
53 |
+
</action>
|
54 |
+
<action method="addJs">
|
55 |
+
<script>mage/cookies.js</script>
|
56 |
+
</action>
|
57 |
+
|
58 |
+
<block type="page/js_cookie" name="js_cookies" template="page/js/cookie.phtml"/>
|
59 |
+
|
60 |
+
<action method="addCss">
|
61 |
+
<stylesheet>css/styles.css</stylesheet>
|
62 |
+
</action>
|
63 |
+
<action method="addItem">
|
64 |
+
<type>skin_css</type>
|
65 |
+
<name>css/styles-ie.css</name>
|
66 |
+
<params/>
|
67 |
+
<if>lt IE 8</if>
|
68 |
+
</action>
|
69 |
+
<action method="addCss">
|
70 |
+
<stylesheet>css/widgets.css</stylesheet>
|
71 |
+
</action>
|
72 |
+
<action method="addCss">
|
73 |
+
<stylesheet>css/print.css</stylesheet>
|
74 |
+
<params>media="print"</params>
|
75 |
+
</action>
|
76 |
+
|
77 |
+
<action method="addItem">
|
78 |
+
<type>js</type>
|
79 |
+
<name>lib/ds-sleight.js</name>
|
80 |
+
<params/>
|
81 |
+
<if>lt IE 7</if>
|
82 |
+
</action>
|
83 |
+
<action method="addItem">
|
84 |
+
<type>skin_js</type>
|
85 |
+
<name>js/ie6.js</name>
|
86 |
+
<params/>
|
87 |
+
<if>lt IE 7</if>
|
88 |
+
</action>
|
89 |
+
</block>
|
90 |
+
</turnto_login_index_index>
|
91 |
+
|
92 |
+
|
93 |
+
<turnto_login_index_reg>
|
94 |
+
<reference name="root">
|
95 |
+
<action method="setTemplate">
|
96 |
+
<template>turnto/login/reg.phtml</template>
|
97 |
+
<!--<template>customer/form/login.phtml</template>-->
|
98 |
+
</action>
|
99 |
+
</reference>
|
100 |
+
<reference name="content">
|
101 |
+
<block type="customer/form_register" name="customer_form_register" template="turnto/login/reg_form.phtml"/>
|
102 |
+
</reference>
|
103 |
+
<block type="page/html_head" name="head" as="head">
|
104 |
+
<action method="addJs">
|
105 |
+
<script>prototype/prototype.js</script>
|
106 |
+
</action>
|
107 |
+
<action method="addJs" ifconfig="dev/js/deprecation">
|
108 |
+
<script>prototype/deprecation.js</script>
|
109 |
+
</action>
|
110 |
+
<action method="addJs">
|
111 |
+
<script>lib/ccard.js</script>
|
112 |
+
</action>
|
113 |
+
<action method="addJs">
|
114 |
+
<script>prototype/validation.js</script>
|
115 |
+
</action>
|
116 |
+
<action method="addJs">
|
117 |
+
<script>scriptaculous/builder.js</script>
|
118 |
+
</action>
|
119 |
+
<action method="addJs">
|
120 |
+
<script>scriptaculous/effects.js</script>
|
121 |
+
</action>
|
122 |
+
<action method="addJs">
|
123 |
+
<script>scriptaculous/dragdrop.js</script>
|
124 |
+
</action>
|
125 |
+
<action method="addJs">
|
126 |
+
<script>scriptaculous/controls.js</script>
|
127 |
+
</action>
|
128 |
+
<action method="addJs">
|
129 |
+
<script>scriptaculous/slider.js</script>
|
130 |
+
</action>
|
131 |
+
<action method="addJs">
|
132 |
+
<script>varien/js.js</script>
|
133 |
+
</action>
|
134 |
+
<action method="addJs">
|
135 |
+
<script>varien/form.js</script>
|
136 |
+
</action>
|
137 |
+
<action method="addJs">
|
138 |
+
<script>varien/menu.js</script>
|
139 |
+
</action>
|
140 |
+
<action method="addJs">
|
141 |
+
<script>mage/translate.js</script>
|
142 |
+
</action>
|
143 |
+
<action method="addJs">
|
144 |
+
<script>mage/cookies.js</script>
|
145 |
+
</action>
|
146 |
+
|
147 |
+
<block type="page/js_cookie" name="js_cookies" template="page/js/cookie.phtml"/>
|
148 |
+
|
149 |
+
<action method="addCss">
|
150 |
+
<stylesheet>css/styles.css</stylesheet>
|
151 |
+
</action>
|
152 |
+
<action method="addItem">
|
153 |
+
<type>skin_css</type>
|
154 |
+
<name>css/styles-ie.css</name>
|
155 |
+
<params/>
|
156 |
+
<if>lt IE 8</if>
|
157 |
+
</action>
|
158 |
+
<action method="addCss">
|
159 |
+
<stylesheet>css/widgets.css</stylesheet>
|
160 |
+
</action>
|
161 |
+
<action method="addCss">
|
162 |
+
<stylesheet>css/print.css</stylesheet>
|
163 |
+
<params>media="print"</params>
|
164 |
+
</action>
|
165 |
+
|
166 |
+
<action method="addItem">
|
167 |
+
<type>js</type>
|
168 |
+
<name>lib/ds-sleight.js</name>
|
169 |
+
<params/>
|
170 |
+
<if>lt IE 7</if>
|
171 |
+
</action>
|
172 |
+
<action method="addItem">
|
173 |
+
<type>skin_js</type>
|
174 |
+
<name>js/ie6.js</name>
|
175 |
+
<params/>
|
176 |
+
<if>lt IE 7</if>
|
177 |
+
</action>
|
178 |
+
</block>
|
179 |
+
</turnto_login_index_reg>
|
180 |
+
</layout>
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
@@ -1,80 +0,0 @@
|
|
1 |
-
<?xml version="1.0" encoding="UTF-8"?>
|
2 |
-
<layout version="0.1.0">
|
3 |
-
|
4 |
-
<turnto_login_index_index>
|
5 |
-
<reference name="root">
|
6 |
-
<action method="setTemplate">
|
7 |
-
<template>turnto/login/login.phtml</template>
|
8 |
-
<!--<template>customer/form/login.phtml</template>-->
|
9 |
-
</action>
|
10 |
-
</reference>
|
11 |
-
<reference name="content">
|
12 |
-
<block type="customer/form_login" name="customer_form_login" template="turnto/login/login_form.phtml"/>
|
13 |
-
</reference>
|
14 |
-
<block type="page/html_head" name="head" as="head">
|
15 |
-
<action method="addJs"><script>prototype/prototype.js</script></action>
|
16 |
-
<action method="addJs" ifconfig="dev/js/deprecation"><script>prototype/deprecation.js</script></action>
|
17 |
-
<action method="addJs"><script>lib/ccard.js</script></action>
|
18 |
-
<action method="addJs"><script>prototype/validation.js</script></action>
|
19 |
-
<action method="addJs"><script>scriptaculous/builder.js</script></action>
|
20 |
-
<action method="addJs"><script>scriptaculous/effects.js</script></action>
|
21 |
-
<action method="addJs"><script>scriptaculous/dragdrop.js</script></action>
|
22 |
-
<action method="addJs"><script>scriptaculous/controls.js</script></action>
|
23 |
-
<action method="addJs"><script>scriptaculous/slider.js</script></action>
|
24 |
-
<action method="addJs"><script>varien/js.js</script></action>
|
25 |
-
<action method="addJs"><script>varien/form.js</script></action>
|
26 |
-
<action method="addJs"><script>varien/menu.js</script></action>
|
27 |
-
<action method="addJs"><script>mage/translate.js</script></action>
|
28 |
-
<action method="addJs"><script>mage/cookies.js</script></action>
|
29 |
-
|
30 |
-
<block type="page/js_cookie" name="js_cookies" template="page/js/cookie.phtml"/>
|
31 |
-
|
32 |
-
<action method="addCss"><stylesheet>css/styles.css</stylesheet></action>
|
33 |
-
<action method="addItem"><type>skin_css</type><name>css/styles-ie.css</name><params/><if>lt IE 8</if></action>
|
34 |
-
<action method="addCss"><stylesheet>css/widgets.css</stylesheet></action>
|
35 |
-
<action method="addCss"><stylesheet>css/print.css</stylesheet><params>media="print"</params></action>
|
36 |
-
|
37 |
-
<action method="addItem"><type>js</type><name>lib/ds-sleight.js</name><params/><if>lt IE 7</if></action>
|
38 |
-
<action method="addItem"><type>skin_js</type><name>js/ie6.js</name><params/><if>lt IE 7</if></action>
|
39 |
-
</block>
|
40 |
-
</turnto_login_index_index>
|
41 |
-
|
42 |
-
|
43 |
-
<turnto_login_index_reg>
|
44 |
-
<reference name="root">
|
45 |
-
<action method="setTemplate">
|
46 |
-
<template>turnto/login/reg.phtml</template>
|
47 |
-
<!--<template>customer/form/login.phtml</template>-->
|
48 |
-
</action>
|
49 |
-
</reference>
|
50 |
-
<reference name="content">
|
51 |
-
<block type="customer/form_register" name="customer_form_register" template="turnto/login/reg_form.phtml"/>
|
52 |
-
</reference>
|
53 |
-
<block type="page/html_head" name="head" as="head">
|
54 |
-
<action method="addJs"><script>prototype/prototype.js</script></action>
|
55 |
-
<action method="addJs" ifconfig="dev/js/deprecation"><script>prototype/deprecation.js</script></action>
|
56 |
-
<action method="addJs"><script>lib/ccard.js</script></action>
|
57 |
-
<action method="addJs"><script>prototype/validation.js</script></action>
|
58 |
-
<action method="addJs"><script>scriptaculous/builder.js</script></action>
|
59 |
-
<action method="addJs"><script>scriptaculous/effects.js</script></action>
|
60 |
-
<action method="addJs"><script>scriptaculous/dragdrop.js</script></action>
|
61 |
-
<action method="addJs"><script>scriptaculous/controls.js</script></action>
|
62 |
-
<action method="addJs"><script>scriptaculous/slider.js</script></action>
|
63 |
-
<action method="addJs"><script>varien/js.js</script></action>
|
64 |
-
<action method="addJs"><script>varien/form.js</script></action>
|
65 |
-
<action method="addJs"><script>varien/menu.js</script></action>
|
66 |
-
<action method="addJs"><script>mage/translate.js</script></action>
|
67 |
-
<action method="addJs"><script>mage/cookies.js</script></action>
|
68 |
-
|
69 |
-
<block type="page/js_cookie" name="js_cookies" template="page/js/cookie.phtml"/>
|
70 |
-
|
71 |
-
<action method="addCss"><stylesheet>css/styles.css</stylesheet></action>
|
72 |
-
<action method="addItem"><type>skin_css</type><name>css/styles-ie.css</name><params/><if>lt IE 8</if></action>
|
73 |
-
<action method="addCss"><stylesheet>css/widgets.css</stylesheet></action>
|
74 |
-
<action method="addCss"><stylesheet>css/print.css</stylesheet><params>media="print"</params></action>
|
75 |
-
|
76 |
-
<action method="addItem"><type>js</type><name>lib/ds-sleight.js</name><params/><if>lt IE 7</if></action>
|
77 |
-
<action method="addItem"><type>skin_js</type><name>js/ie6.js</name><params/><if>lt IE 7</if></action>
|
78 |
-
</block>
|
79 |
-
</turnto_login_index_reg>
|
80 |
-
</layout>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@ -1,31 +1,19 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
-
<package>
|
3 |
-
|
4 |
-
|
5 |
-
|
6 |
-
|
7 |
-
|
8 |
-
|
9 |
-
|
10 |
-
|
11 |
-
|
12 |
-
|
13 |
-
2.
|
14 |
-
2.
|
15 |
-
2.
|
16 |
-
2.
|
17 |
-
2.
|
18 |
-
2.
|
19 |
-
2.
|
20 |
-
2.2.7 - Support for Magento Security Patch (SUPEE-6788)
|
21 |
-
2.2.9 - Historical Feed bug fix
|
22 |
-
2.2.10 - Minor bug fix for historical feed exporter
|
23 |
-
2.2.11 - Fixed circular reference in category tree. Optimized memory usage in catalog feed generator.
|
24 |
-
2.3.0 - Added ability to push the historical feed nightly</notes>
|
25 |
-
<authors><author><name>TurnTo</name><user>TurnTo</user><email>contact@turnto.com</email></author></authors>
|
26 |
-
<date>2016-02-03</date>
|
27 |
-
<time>15:43:25</time>
|
28 |
-
<contents><target name="magecommunity"><dir name="Turnto"><dir name="Admin"><dir name="Block"><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="Feed.php" hash="84d005b13b3e39da048078bfc275bdf5"/></dir></dir></dir><file name="CatalogFeed.php" hash="f974cfdc687bf5edb3fdccb879547200"/><file name="HistoricalFeed.php" hash="a4d2b29c6d8bb2ed59aa884e02abc23b"/><file name="Overview.php" hash="51c8ed09153f1dc3b3d02aa0ab83f195"/><file name="RatingsFeed.php" hash="264cf15842c2738f1b77bce6ff9b9f0a"/><dir name="Review"><file name="Helper.php" hash="2ecc1a9252af9d40666b4f3a6603b522"/></dir><file name="ShowTabsAdminBlock.php" hash="403c3a8f95c65e361471b28fae25d2e3"/></dir><dir name="Helper"><file name="Data.php" hash="815707c134f0809156a3510fe4c1dfa3"/></dir><dir name="Model"><dir name="Catalog"><file name="Product.php" hash="5325442b4449b7eb75547f50698400a6"/></dir><file name="Observer.php" hash="ab972bf9ec9edb07345828fb4e69141d"/><file name="Rating.php" hash="2f3d43beb74018b394d7bf6ba1098e5c"/><dir name="Resource"><dir name="Rating"><file name="Collection.php" hash="2f0709f0f5f3bde0725c2db266f16e7d"/></dir><file name="Rating.php" hash="0a7f9415ba76c6e121e0f3281479a4df"/></dir></dir><dir name="controllers"><dir name="Adminhtml"><file name="IndexController.php" hash="d78518e5502f5c19ff02892e2fa9fe78"/><file name="TurntoController.php" hash="f8c35059af46ed080a7a2d28c917042b"/></dir><file name="IndexController.php" hash="770506bcae219ba1ffefa9f5d03bade8"/></dir><dir name="etc"><file name="adminhtml.xml" hash="2583ebaabc3e8844fe27e70d1b519f3a"/><file name="config.xml" hash="2c836a50bf4d822e08910300ec0188a1"/><file name="system.xml" hash="59125e06282c4feb985e4e8854092249"/></dir><dir name="sql"><dir name="turnto_admin_setup"><file name="mysql4-install-2.2.0.php" hash="747fc729ae7587b41c3f3cce62aba82b"/></dir></dir></dir><dir name="Login"><dir name="Block"><file name="Login.php" hash="a51bc0ee76d20a9f4cb32bb21420ecd9"/><file name="Reg.php" hash="4eece8d78391b6578b0ba5e2c764dba5"/></dir><dir name="Helper"><file name="Data.php" hash="e87f15957335101d5ae643befcc06817"/></dir><dir name="controllers"><file name="IndexController.php" hash="087867555ca6d8174fb1301f3b558720"/></dir><dir name="etc"><file name="config.xml" hash="104b76b3d6e9ecbd8d5411fb82703208"/></dir></dir></dir></target><target name="mageetc"><dir name="modules"><file name="Turnto_Admin.xml" hash="0932b63ab068e1e8b12ff7b997ae83ee"/><file name="Turnto_Login.xml" hash="734c463c75970bd14ac7d7a90fa2de11"/></dir></target><target name="magedesign"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="turnto"><dir name="adminhtml"><dir name="system"><dir name="config"><file name="feed.phtml" hash="c4b453ab154a34408bc34021630653bf"/></dir></dir></dir><file name="catalog_feed_tab.phtml" hash="1fd3b2a33022b15b84906e6cb93c1098"/><file name="historical_feed_tab.phtml" hash="14b3a1940e98f3f44db732afd1c81946"/><file name="overview.phtml" hash="4cc20b32c3b0cd36cd349f0be44e4615"/><file name="product_ratings_feed_tab.phtml" hash="3733a056ab45f0af0b6a93ea30e257e0"/></dir></dir></dir></dir></dir><dir name="frontend"><dir name="default"><dir name="default"><dir name="template"><dir name="turnto"><dir name="login"><file name="login.phtml" hash="7ec602a8ca09180f324229a77ea3e2db"/><file name="login_form.phtml" hash="a176124e54fc105d09e8a219114d9cfe"/><file name="reg.phtml" hash="7ec602a8ca09180f324229a77ea3e2db"/><file name="reg_form.phtml" hash="8d513aa7b9b582f748f5a484f2e81568"/></dir></dir></dir><dir name="layout"><file name="turnto_login.xml" hash="e9c1993c14add5a7be5c4079547d3609"/></dir></dir></dir></dir></target></contents>
|
29 |
-
<compatible/>
|
30 |
-
<dependencies><required><php><min>5.0.0</min><max>6.0.0</max></php></required></dependencies>
|
31 |
-
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
+
<package><name>socialcommerce_suite_by_turnto</name><version>2.3.4</version><stability>stable</stability><license>MIT</license><channel>community</channel><extends></extends><summary>Connect your shoppers to your customers</summary><description>The TurnTo Social Commerce Suite helps you put the good will you have earned from your customers to work by opening direct communications between your shoppers and your past customers.</description><notes>TurnTo Admin Extension
|
3 |
+
|
4 |
+
2.0 Adds support for Single Sign On
|
5 |
+
2.1 Re-wrote catalog feed generator
|
6 |
+
2.1.6 - Better catalog support in catalog feed generator.
|
7 |
+
2.2.0 - Support for sku average rating feed
|
8 |
+
2.2.2 - Minor bug fix
|
9 |
+
2.2.4 - Fixed excessive load time on configuration screen.
|
10 |
+
2.2.5 - Catalog Feed tweaks
|
11 |
+
2.2.7 - Support for Magento Security Patch (SUPEE-6788)
|
12 |
+
2.2.9 - Historical Feed bug fix
|
13 |
+
2.2.10 - Minor bug fix for historical feed exporter
|
14 |
+
2.2.11 - Fixed circular reference in category tree. Optimized memory usage in catalog feed generator.
|
15 |
+
2.3.0 - Added ability to push the historical feed nightly
|
16 |
+
2.3.1 - Added UPC, MPN, EAN, ASIN, JAN and ISBN to TurnTo configuration screen and catalog feed
|
17 |
+
2.3.2 - Allow users to deselect GTINs on configuration screen
|
18 |
+
2.3.3 - Added Brand to the TurnTo configuration screen as a configurable attribute, which is included in the catalog feed.
|
19 |
+
2.3.4 - Allow all types of attributes in the brand drop-down, not just varchar.</notes><authors><author><name>TurnTo</name><user>TurnTo</user><email>contact@turnto.com</email></author></authors><date>2016-05-19</date><time>7:45:19</time><compatible></compatible><dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies><contents><target name="mage"><dir name="app"><dir name="code"><dir name="community"><dir name="Turnto"><dir name="Admin"><dir name="Block"><file name="CatalogFeed.php" hash="f974cfdc687bf5edb3fdccb879547200"/><file name="HistoricalFeed.php" hash="a4d2b29c6d8bb2ed59aa884e02abc23b"/><file name="Overview.php" hash="51c8ed09153f1dc3b3d02aa0ab83f195"/><file name="RatingsFeed.php" hash="264cf15842c2738f1b77bce6ff9b9f0a"/><file name="ShowTabsAdminBlock.php" hash="403c3a8f95c65e361471b28fae25d2e3"/><dir name="Adminhtml"><dir name="System"><dir name="Config"><file name="Attributes.php" hash="07f84525b23f32db1eac6bd77318c067"/><file name="AttributesAll.php" hash="ea7cbaadf904db6c09a26175b8de3919"/><file name="Feed.php" hash="84d005b13b3e39da048078bfc275bdf5"/></dir></dir></dir><dir name="Review"><file name="Helper.php" hash="2ecc1a9252af9d40666b4f3a6603b522"/></dir></dir><dir name="controllers"><file name="IndexController.php" hash="68788e8a3a72056f5d7f97308cefedf2"/><dir name="Adminhtml"><file name="IndexController.php" hash="d78518e5502f5c19ff02892e2fa9fe78"/><file name="TurntoController.php" hash="f8c35059af46ed080a7a2d28c917042b"/></dir></dir><dir name="etc"><file name="config.xml" hash="4054e54cdca432a03353c21982386115"/><file name="system.xml" hash="e28746535072fa59a2cb73e7e90d668e"/></dir><dir name="Helper"><file name="Data.php" hash="a314c55de2898e5bcca63c464d6f198f"/></dir><dir name="Model"><file name="Observer.php" hash="ab972bf9ec9edb07345828fb4e69141d"/><file name="Rating.php" hash="2f3d43beb74018b394d7bf6ba1098e5c"/><dir name="Catalog"><file name="Product.php" hash="5325442b4449b7eb75547f50698400a6"/></dir><dir name="Resource"><file name="Rating.php" hash="0a7f9415ba76c6e121e0f3281479a4df"/><dir name="Rating"><file name="Collection.php" hash="2f0709f0f5f3bde0725c2db266f16e7d"/></dir></dir></dir><dir name="sql"><dir name="turnto_admin_setup"><file name="mysql4-install-2.2.0.php" hash="747fc729ae7587b41c3f3cce62aba82b"/></dir></dir></dir><dir name="Login"><dir name="Block"><file name="Login.php" hash="a51bc0ee76d20a9f4cb32bb21420ecd9"/><file name="Reg.php" hash="4eece8d78391b6578b0ba5e2c764dba5"/></dir><dir name="controllers"><file name="IndexController.php" hash="ee190f8ad424a227a68a8052b60e9158"/></dir><dir name="etc"><file name="config.xml" hash="e6396ea5fec6c629c2e92ecd2e699f42"/></dir><dir name="Helper"><file name="Data.php" hash="e87f15957335101d5ae643befcc06817"/></dir></dir></dir></dir></dir><dir name="design"><dir name="adminhtml"><dir name="default"><dir name="default"><dir name="template"><dir name="turnto"><file name="catalog_feed_tab.phtml" hash="2a37f6daa5261ee972d4938a9f328893"/><file name="historical_feed_tab.phtml" hash="14b3a1940e98f3f44db732afd1c81946"/><file name="overview.phtml" hash="4cc20b32c3b0cd36cd349f0be44e4615"/><file name="product_ratings_feed_tab.phtml" hash="3733a056ab45f0af0b6a93ea30e257e0"/><dir name="adminhtml"><dir name="system"><dir name="config"><file name="feed.phtml" hash="c4b453ab154a34408bc34021630653bf"/></dir></dir></dir></dir></dir></dir></dir></dir><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="turnto_login.xml" hash="618272fcb19620431cd7b27369e34eb4"/></dir><dir name="template"><dir name="turnto"><dir name="login"><file name="login.phtml" hash="7ec602a8ca09180f324229a77ea3e2db"/><file name="login_form.phtml" hash="a176124e54fc105d09e8a219114d9cfe"/><file name="reg.phtml" hash="7ec602a8ca09180f324229a77ea3e2db"/><file name="reg_form.phtml" hash="8d513aa7b9b582f748f5a484f2e81568"/></dir></dir></dir></dir></dir></dir></dir><dir name="etc"><dir name="modules"><file name="Turnto_Admin.xml" hash="0932b63ab068e1e8b12ff7b997ae83ee"/><file name="Turnto_Login.xml" hash="734c463c75970bd14ac7d7a90fa2de11"/></dir></dir></dir></target></contents></package>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|