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 | Personalized-localized-and-Intelligent-Site-Search |
Version | 1.4.2 |
Comparing to | |
See all releases |
Code changes from version 1.4.1 to 1.4.2
app/code/community/Tagalys/Core/Helper/Service.php
CHANGED
@@ -2,7 +2,7 @@
|
|
2 |
class Tagalys_Core_Helper_Service extends Mage_Core_Helper_Abstract {
|
3 |
protected $_storeId;
|
4 |
|
5 |
-
public function getProductPayload($product_id, $store_id) {
|
6 |
$core_helper = Mage::helper('tagalys_core');
|
7 |
$details_model = Mage::getModel("tagalys_core/productDetails");
|
8 |
|
@@ -12,7 +12,7 @@ class Tagalys_Core_Helper_Service extends Mage_Core_Helper_Abstract {
|
|
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->__tags = $attributes;
|
17 |
|
18 |
$product_data->synced_at = $time_now;
|
2 |
class Tagalys_Core_Helper_Service extends Mage_Core_Helper_Abstract {
|
3 |
protected $_storeId;
|
4 |
|
5 |
+
public function getProductPayload($product_id, $store_id, $forceRegenerateThumbnail = false) {
|
6 |
$core_helper = Mage::helper('tagalys_core');
|
7 |
$details_model = Mage::getModel("tagalys_core/productDetails");
|
8 |
|
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, $forceRegenerateThumbnail);
|
16 |
$product_data->__tags = $attributes;
|
17 |
|
18 |
$product_data->synced_at = $time_now;
|
app/code/community/Tagalys/Core/Helper/SyncFile.php
CHANGED
@@ -16,8 +16,8 @@ class Tagalys_Core_Helper_SyncFile extends Varien_Io_File {
|
|
16 |
$this->_sync_files_folder_with_path = Mage::getBaseDir('media'). DS .'tagalys';
|
17 |
$this->checkAndCreateFolder($this->_sync_files_folder_with_path);
|
18 |
$this->_sync_files_path = $this->_sync_files_folder_with_path . DS;
|
19 |
-
$this->per_page =
|
20 |
-
$this->cron_instance_max_products =
|
21 |
// parent::__construct();
|
22 |
}
|
23 |
|
@@ -364,7 +364,11 @@ class Tagalys_Core_Helper_SyncFile extends Varien_Io_File {
|
|
364 |
$circuit_breaker += 1;
|
365 |
$products = $select->limit($this->per_page, $sync_file_status['completed_count'])->query();
|
366 |
foreach($products as $product) {
|
367 |
-
$
|
|
|
|
|
|
|
|
|
368 |
$this->streamWrite(json_encode(array("perform" => "index", "payload" => $product_details)) ."\r\n");
|
369 |
$sync_file_status['completed_count'] += 1;
|
370 |
$cron_instance_completed_products += 1;
|
16 |
$this->_sync_files_folder_with_path = Mage::getBaseDir('media'). DS .'tagalys';
|
17 |
$this->checkAndCreateFolder($this->_sync_files_folder_with_path);
|
18 |
$this->_sync_files_path = $this->_sync_files_folder_with_path . DS;
|
19 |
+
$this->per_page = 50;
|
20 |
+
$this->cron_instance_max_products = 500;
|
21 |
// parent::__construct();
|
22 |
}
|
23 |
|
364 |
$circuit_breaker += 1;
|
365 |
$products = $select->limit($this->per_page, $sync_file_status['completed_count'])->query();
|
366 |
foreach($products as $product) {
|
367 |
+
$forceRegenerateThumbnail = false;
|
368 |
+
if ($type == 'updates') {
|
369 |
+
$forceRegenerateThumbnail = true;
|
370 |
+
}
|
371 |
+
$product_details = (array) Mage::helper("tagalys_core/service")->getProductPayload($product['entity_id'], $store_id, $forceRegenerateThumbnail);
|
372 |
$this->streamWrite(json_encode(array("perform" => "index", "payload" => $product_details)) ."\r\n");
|
373 |
$sync_file_status['completed_count'] += 1;
|
374 |
$cron_instance_completed_products += 1;
|
app/code/community/Tagalys/Core/Model/ProductDetails.php
CHANGED
@@ -4,9 +4,9 @@ class Tagalys_Core_Model_ProductDetails extends Mage_Core_Model_Abstract {
|
|
4 |
protected $syncfield;
|
5 |
protected $inventorySyncField;
|
6 |
|
7 |
-
public function getProductFields($productId, $
|
8 |
try {
|
9 |
-
$this->_storeId = $
|
10 |
$core_helper = Mage::helper('tagalys_core');
|
11 |
$product = Mage::getModel('catalog/product')->load($productId);
|
12 |
if (is_null($this->_storeId)) {
|
@@ -46,7 +46,7 @@ class Tagalys_Core_Model_ProductDetails extends Mage_Core_Model_Abstract {
|
|
46 |
$utc_now = new DateTime("now", new DateTimeZone('UTC'));
|
47 |
$time_now = $utc_now->format(DateTime::ATOM);
|
48 |
$product_data->synced_at = $time_now;
|
49 |
-
$productFields->image_url =
|
50 |
$fields = array('created_at');
|
51 |
foreach ($fields as $key => $name) {
|
52 |
$fieldValue = $product->getResource()->getAttribute($name)->getFrontend()->getValue($product);
|
@@ -155,4 +155,40 @@ class Tagalys_Core_Model_ProductDetails extends Mage_Core_Model_Abstract {
|
|
155 |
|
156 |
return ($attributeObj);
|
157 |
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
158 |
}
|
4 |
protected $syncfield;
|
5 |
protected $inventorySyncField;
|
6 |
|
7 |
+
public function getProductFields($productId, $storeId, $forceRegenerateThumbnail) {
|
8 |
try {
|
9 |
+
$this->_storeId = $storeId;
|
10 |
$core_helper = Mage::helper('tagalys_core');
|
11 |
$product = Mage::getModel('catalog/product')->load($productId);
|
12 |
if (is_null($this->_storeId)) {
|
46 |
$utc_now = new DateTime("now", new DateTimeZone('UTC'));
|
47 |
$time_now = $utc_now->format(DateTime::ATOM);
|
48 |
$product_data->synced_at = $time_now;
|
49 |
+
$productFields->image_url = $this->getProductImageUrl($product, $storeId, $forceRegenerateThumbnail);
|
50 |
$fields = array('created_at');
|
51 |
foreach ($fields as $key => $name) {
|
52 |
$fieldValue = $product->getResource()->getAttribute($name)->getFrontend()->getValue($product);
|
155 |
|
156 |
return ($attributeObj);
|
157 |
}
|
158 |
+
public function getProductImageUrl($product, $storeId, $forceRegenerateThumbnail) {
|
159 |
+
try {
|
160 |
+
$productImagePath = $product->getImage();
|
161 |
+
$baseProductImagePath = Mage::getBaseDir('media') . DS . "catalog" . DS . "product" . $productImagePath;
|
162 |
+
if(file_exists($baseProductImagePath)) {
|
163 |
+
$imageDetails = getimagesize($baseProductImagePath);
|
164 |
+
$width = $imageDetails[0];
|
165 |
+
$height = $imageDetails[1];
|
166 |
+
if ($width > 1 && $height > 1) {
|
167 |
+
$resizedProductImagePath = Mage::getBaseDir('media') . DS . 'tagalys' . DS . 'product_thumbnails' . $productImagePath;
|
168 |
+
if ($forceRegenerateThumbnail || !file_exists($resizedProductImagePath)) {
|
169 |
+
if (file_exists($resizedProductImagePath)) {
|
170 |
+
unlink($resizedProductImagePath);
|
171 |
+
}
|
172 |
+
$imageObj = new Varien_Image($baseProductImagePath);
|
173 |
+
$imageObj->constrainOnly(TRUE);
|
174 |
+
$imageObj->keepAspectRatio(TRUE);
|
175 |
+
$imageObj->keepFrame(FALSE);
|
176 |
+
$imageObj->resize(300, 300);
|
177 |
+
$imageObj->save($resizedProductImagePath);
|
178 |
+
}
|
179 |
+
if (file_exists($resizedProductImagePath)) {
|
180 |
+
return str_replace('http:', '', Mage::app()->getStore()->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA) . 'tagalys' . DS . 'product_thumbnails' . $productImagePath);
|
181 |
+
} else {
|
182 |
+
// placeholder
|
183 |
+
$placeholder_image = Mage::getStoreConfig("catalog/placeholder/small_image_placeholder");
|
184 |
+
$media_base_url = Mage::app()->getStore()->getBaseUrl(Mage_Core_Model_Store::URL_TYPE_MEDIA);
|
185 |
+
$media_url = $media_base_url . Mage::getModel('catalog/product_media_config')->getBaseMediaUrlAddition();
|
186 |
+
return str_replace('http:', '', $media_url . DS . 'placeholder' . DS . $placeholder_image);
|
187 |
+
}
|
188 |
+
}
|
189 |
+
}
|
190 |
+
} catch(Exception $e) {
|
191 |
+
|
192 |
+
}
|
193 |
+
}
|
194 |
}
|
app/code/community/Tagalys/Core/etc/config.xml
CHANGED
@@ -6,7 +6,7 @@
|
|
6 |
<tagalys>
|
7 |
<package>
|
8 |
<name>Search</name>
|
9 |
-
<version>1.4.
|
10 |
</package>
|
11 |
</tagalys>
|
12 |
</default>
|
6 |
<tagalys>
|
7 |
<package>
|
8 |
<name>Search</name>
|
9 |
+
<version>1.4.2</version>
|
10 |
</package>
|
11 |
</tagalys>
|
12 |
</default>
|
package.xml
CHANGED
@@ -1,7 +1,7 @@
|
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Personalized-localized-and-Intelligent-Site-Search</name>
|
4 |
-
<version>1.4.
|
5 |
<stability>stable</stability>
|
6 |
<license>Tagalys</license>
|
7 |
<channel>community</channel>
|
@@ -10,9 +10,9 @@
|
|
10 |
<description>The extension powers search suggestions and resulting search results. Upon clicking the search bar, show visitors the most popular or trending searches in your ecommerce store. When a visitor starts typing, we auto complete the query into suggestions from the active product-tag-attribute database. </description>
|
11 |
<notes>Any questions or concerns, please email cs@tagalys.com and we will get back to you in less than 24 hours. </notes>
|
12 |
<authors><author><name>Palani</name><user>Palani</user><email>pc@tagalys.com</email></author></authors>
|
13 |
-
<date>2017-05-
|
14 |
-
<time>
|
15 |
-
<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"/><file name="Tagalys_Analytics.xml" hash="59ce2628610a4624235a5c820beac2d2"/></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="1fa634f35204a06d06fa4c7f762c3259"/><file name="Similarproducts.php" hash="390c3a93c5851a6d784e82650be20ae5"/><file name="Support.php" hash="c68547cfe57cbccdcbcf7c3eb35ed6b3"/><file name="Sync.php" hash="849f7bb77ff568e7f29cf63d54e7faa8"/><file name="Syncsettings.php" hash="77ecb1594c7b409e2055ff8394b85aa8"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><file name="Tabs.php" hash="6868651b592381ff8081c8247ebf5214"/><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="d50fec78e8a30b7f4d019fd6d0e5c7ed"/><file name="Service.php" hash="
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.3.0</min><max>7.0.10</max></php></required></dependencies>
|
18 |
</package>
|
1 |
<?xml version="1.0"?>
|
2 |
<package>
|
3 |
<name>Personalized-localized-and-Intelligent-Site-Search</name>
|
4 |
+
<version>1.4.2</version>
|
5 |
<stability>stable</stability>
|
6 |
<license>Tagalys</license>
|
7 |
<channel>community</channel>
|
10 |
<description>The extension powers search suggestions and resulting search results. Upon clicking the search bar, show visitors the most popular or trending searches in your ecommerce store. When a visitor starts typing, we auto complete the query into suggestions from the active product-tag-attribute database. </description>
|
11 |
<notes>Any questions or concerns, please email cs@tagalys.com and we will get back to you in less than 24 hours. </notes>
|
12 |
<authors><author><name>Palani</name><user>Palani</user><email>pc@tagalys.com</email></author></authors>
|
13 |
+
<date>2017-05-16</date>
|
14 |
+
<time>05:51:44</time>
|
15 |
+
<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"/><file name="Tagalys_Analytics.xml" hash="59ce2628610a4624235a5c820beac2d2"/></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="1fa634f35204a06d06fa4c7f762c3259"/><file name="Similarproducts.php" hash="390c3a93c5851a6d784e82650be20ae5"/><file name="Support.php" hash="c68547cfe57cbccdcbcf7c3eb35ed6b3"/><file name="Sync.php" hash="849f7bb77ff568e7f29cf63d54e7faa8"/><file name="Syncsettings.php" hash="77ecb1594c7b409e2055ff8394b85aa8"/><file name=".DS_Store" hash="194577a7e20bdcc7afbb718f502c134c"/></dir><file name="Tabs.php" hash="6868651b592381ff8081c8247ebf5214"/><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="d50fec78e8a30b7f4d019fd6d0e5c7ed"/><file name="Service.php" hash="c633adf3d5bd356a04b24a791854130c"/><file name="SyncFile.php" hash="5373a774fe2452d068be0ae2806dd01a"/></dir><dir name="Model"><file name="Client.php" hash="962269bc508298338b86b48601a7854c"/><file name="Config.php" hash="135012904392f8d26f5c5eaedd3d9c71"/><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="885c41230182aafb4157ea28262a3230"/><file name="Queue.php" hash="459a74e66f2a7ccd146f480701574464"/><file name=".DS_Store" hash="3db11e65f616ba2524ebf71cf1300fa5"/></dir><dir name="controllers"><dir name="Adminhtml"><file name="TagalysController.php" hash="67e746a969ad1b43dcc2268c15ce8f26"/></dir><file name="SyncfilesController.php" hash="1b8476cbb4d02ec87b7742e4dc9fff4b"/><file name=".DS_Store" hash="db462bf5da1a15c73197a0fefd3f5b51"/></dir><dir name="etc"><file name="config.xml" hash="088d5e7e26861cdb2784ffdefbdf8e92"/></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 name="Analytics"><dir name="Block"><file name="Productview.php" hash="117109f50c13a14efc4d5740d9e1eace"/></dir><dir name="Model"><file name="Observer.php" hash="650e1c3bacab113e25958af98195de51"/></dir><dir name="controllers"><file name="IndexController.php" hash="3eee2034348dc00d06d91f0f849b7796"/></dir><dir name="etc"><file name="config.xml" hash="ad31a8918cafb214865a7e55fad09383"/></dir></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="3d3e59b076a4e39c924e122810555b72"/><file name="tagalys_analytics.xml" hash="3d669cedf80245f91745b9e4de5d6012"/></dir><dir name="template"><dir name="tagalys_search_suggestions"><file name="search_suggestions.phtml" hash="d453c441c48c930bea5e2861e4179b3b"/></dir><dir name="tagalys_search"><file name="index.phtml" hash="0b22a6ca318a194c77e945e937dc11cd"/></dir><dir name="tagalys_mpages"><file name="index.phtml" hash="95a99380caaf01e9190517371d5dc225"/></dir><dir name="tagalys_analytics"><file name="product_view.phtml" hash="08d97d2aaafb09b868bde334b9a5942d"/></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="e32466267eb8e54a32119ac8e49c6589"/></dir></dir></target></contents>
|
16 |
<compatible/>
|
17 |
<dependencies><required><php><min>5.3.0</min><max>7.0.10</max></php></required></dependencies>
|
18 |
</package>
|