algoliasearch - Version 1.3.5

Version Notes

- Review admin panel
- Handle click on the glass
- Fix Instant search alone
- Handle grouped/configurable attributes

Download this release

Release Info

Developer Algolia Team
Extension algoliasearch
Version 1.3.5
Comparing to
See all releases


Code changes from version 1.3.4 to 1.3.5

app/code/community/Algolia/Algoliasearch/Block/System/Config/Form/Field/Customrankingproduct.php CHANGED
@@ -24,9 +24,9 @@ class Algolia_Algoliasearch_Block_System_Config_Form_Field_Customrankingproduct
24
 
25
  switch($columnId) {
26
  case 'attribute': // Populate the attribute column with a list of searchable attributes
27
- $searchableAttributes = $config->getProductAdditionalAttributes();
28
 
29
- foreach ($searchableAttributes as $attribute)
30
  $aOptions[$attribute['attribute']] = $attribute['attribute'];
31
 
32
  break;
24
 
25
  switch($columnId) {
26
  case 'attribute': // Populate the attribute column with a list of searchable attributes
27
+ $attributes = $config->getProductAdditionalAttributes();
28
 
29
+ foreach ($attributes as $attribute)
30
  $aOptions[$attribute['attribute']] = $attribute['attribute'];
31
 
32
  break;
app/code/community/Algolia/Algoliasearch/Block/System/Config/Form/Field/Facets.php CHANGED
@@ -10,18 +10,18 @@ class Algolia_Algoliasearch_Block_System_Config_Form_Field_Facets extends Mage_A
10
  protected function getRenderer($columnId) {
11
  if (!array_key_exists($columnId, $this->selectFields) || !$this->selectFields[$columnId])
12
  {
13
- $product_helper = Mage::helper('algoliasearch/entity_producthelper');
14
-
15
  $aOptions = array();
16
 
17
  $selectField = Mage::app()->getLayout()->createBlock('algoliasearch/system_config_form_field_select')->setIsRenderToJsTemplate(true);
18
 
 
 
19
  switch($columnId) {
20
  case 'attribute': // Populate the attribute column with a list of searchable attributes
21
- $searchableAttributes = $product_helper->getAllAttributes();
22
 
23
- foreach ($searchableAttributes as $key => $label) {
24
- $aOptions[$key] = $key ? $key : $label;
25
  }
26
 
27
  $selectField->setExtraParams('style="width:160px;"');
10
  protected function getRenderer($columnId) {
11
  if (!array_key_exists($columnId, $this->selectFields) || !$this->selectFields[$columnId])
12
  {
 
 
13
  $aOptions = array();
14
 
15
  $selectField = Mage::app()->getLayout()->createBlock('algoliasearch/system_config_form_field_select')->setIsRenderToJsTemplate(true);
16
 
17
+ $config = Mage::helper('algoliasearch/config');
18
+
19
  switch($columnId) {
20
  case 'attribute': // Populate the attribute column with a list of searchable attributes
21
+ $attributes = $config->getProductAdditionalAttributes();
22
 
23
+ foreach ($attributes as $attribute) {
24
+ $aOptions[$attribute['attribute']] = $attribute['attribute'];
25
  }
26
 
27
  $selectField->setExtraParams('style="width:160px;"');
app/code/community/Algolia/Algoliasearch/Block/System/Config/Form/Field/Sorts.php CHANGED
@@ -17,18 +17,18 @@ class Algolia_Algoliasearch_Block_System_Config_Form_Field_Sorts extends Mage_Ad
17
  protected function getRenderer($columnId) {
18
  if (!array_key_exists($columnId, $this->selectFields) || !$this->selectFields[$columnId])
19
  {
20
- $product_helper = Mage::helper('algoliasearch/entity_producthelper');
21
-
22
  $aOptions = array();
23
 
24
  $selectField = Mage::app()->getLayout()->createBlock('algoliasearch/system_config_form_field_select')->setIsRenderToJsTemplate(true);
25
 
 
 
26
  switch($columnId) {
27
  case 'attribute': // Populate the attribute column with a list of searchable attributes
28
- $searchableAttributes = $product_helper->getAllAttributes();
29
 
30
- foreach ($searchableAttributes as $key => $label) {
31
- $aOptions[$key] = $key ? $key : $label;
32
  }
33
 
34
  $selectField->setExtraParams('style="width:160px;"');
17
  protected function getRenderer($columnId) {
18
  if (!array_key_exists($columnId, $this->selectFields) || !$this->selectFields[$columnId])
19
  {
 
 
20
  $aOptions = array();
21
 
22
  $selectField = Mage::app()->getLayout()->createBlock('algoliasearch/system_config_form_field_select')->setIsRenderToJsTemplate(true);
23
 
24
+ $config = Mage::helper('algoliasearch/config');
25
+
26
  switch($columnId) {
27
  case 'attribute': // Populate the attribute column with a list of searchable attributes
28
+ $attributes = $config->getProductAdditionalAttributes();
29
 
30
+ foreach ($attributes as $attribute) {
31
+ $aOptions[$attribute['attribute']] = $attribute['attribute'];
32
  }
33
 
34
  $selectField->setExtraParams('style="width:160px;"');
app/code/community/Algolia/Algoliasearch/Helper/Algoliahelper.php CHANGED
@@ -14,6 +14,11 @@ class Algolia_Algoliasearch_Helper_Algoliahelper extends Mage_Core_Helper_Abstra
14
  protected $client;
15
 
16
  public function __construct()
 
 
 
 
 
17
  {
18
  $config = Mage::helper('algoliasearch/config');
19
 
14
  protected $client;
15
 
16
  public function __construct()
17
+ {
18
+ $this->resetCredentialsFromConfig();
19
+ }
20
+
21
+ public function resetCredentialsFromConfig()
22
  {
23
  $config = Mage::helper('algoliasearch/config');
24
 
app/code/community/Algolia/Algoliasearch/Helper/Data.php CHANGED
@@ -23,7 +23,7 @@ class Algolia_Algoliasearch_Helper_Data extends Mage_Core_Helper_Abstract
23
 
24
  public function __construct()
25
  {
26
- \AlgoliaSearch\Version::$custom_value = " Magento (1.3.4)";
27
 
28
  $this->algolia_helper = Mage::helper('algoliasearch/algoliahelper');
29
 
@@ -53,6 +53,8 @@ class Algolia_Algoliasearch_Helper_Data extends Mage_Core_Helper_Abstract
53
 
54
  public function saveConfigurationToAlgolia($storeId = null)
55
  {
 
 
56
  $this->algolia_helper->setSettings($this->product_helper->getIndexName($storeId), $this->product_helper->getIndexSettings($storeId));
57
  $this->algolia_helper->setSettings($this->category_helper->getIndexName($storeId), $this->category_helper->getIndexSettings($storeId));
58
  $this->algolia_helper->setSettings($this->page_helper->getIndexName($storeId), $this->page_helper->getIndexSettings($storeId));
@@ -228,9 +230,6 @@ class Algolia_Algoliasearch_Helper_Data extends Mage_Core_Helper_Abstract
228
  {
229
  $suggestion->setStoreId($storeId);
230
 
231
- if ($suggestion->getData('is_active') == 0)
232
- continue;
233
-
234
  $suggestion_obj = $this->suggestion_helper->getObject($suggestion);
235
 
236
  if ($suggestion_obj['popularity'] >= $this->config->getMinPopularity() && $suggestion_obj['number_of_results'] >= $this->config->getMinNumberOfResults())
23
 
24
  public function __construct()
25
  {
26
+ \AlgoliaSearch\Version::$custom_value = " Magento (1.3.5)";
27
 
28
  $this->algolia_helper = Mage::helper('algoliasearch/algoliahelper');
29
 
53
 
54
  public function saveConfigurationToAlgolia($storeId = null)
55
  {
56
+ $this->algolia_helper->resetCredentialsFromConfig();
57
+
58
  $this->algolia_helper->setSettings($this->product_helper->getIndexName($storeId), $this->product_helper->getIndexSettings($storeId));
59
  $this->algolia_helper->setSettings($this->category_helper->getIndexName($storeId), $this->category_helper->getIndexSettings($storeId));
60
  $this->algolia_helper->setSettings($this->page_helper->getIndexName($storeId), $this->page_helper->getIndexSettings($storeId));
230
  {
231
  $suggestion->setStoreId($storeId);
232
 
 
 
 
233
  $suggestion_obj = $this->suggestion_helper->getObject($suggestion);
234
 
235
  if ($suggestion_obj['popularity'] >= $this->config->getMinPopularity() && $suggestion_obj['number_of_results'] >= $this->config->getMinNumberOfResults())
app/code/community/Algolia/Algoliasearch/Helper/Entity/Producthelper.php CHANGED
@@ -78,6 +78,9 @@ class Algolia_Algoliasearch_Helper_Entity_Producthelper extends Algolia_Algolias
78
  ->addAttributeToSelect('special_to_date')
79
  ->addAttributeToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED);
80
 
 
 
 
81
  $additionalAttr = $this->config->getProductAdditionalAttributes($storeId);
82
 
83
  foreach ($additionalAttr as &$attr)
@@ -366,17 +369,60 @@ class Algolia_Algoliasearch_Helper_Entity_Producthelper extends Algolia_Algolias
366
 
367
  foreach ($additionalAttributes as $attribute)
368
  {
 
 
 
369
  $value = $product->getData($attribute['attribute']);
370
 
371
  $attribute_ressource = $product->getResource()->getAttribute($attribute['attribute']);
372
 
373
  if ($attribute_ressource)
374
  {
375
- $value = $attribute_ressource->getFrontend()->getValue($product);
376
- }
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
377
 
378
- if ($value)
379
- $customData[$attribute['attribute']] = $value;
 
 
 
 
 
 
 
 
 
380
  }
381
 
382
  $customData = array_merge($customData, $defaultData);
78
  ->addAttributeToSelect('special_to_date')
79
  ->addAttributeToFilter('status', Mage_Catalog_Model_Product_Status::STATUS_ENABLED);
80
 
81
+
82
+
83
+
84
  $additionalAttr = $this->config->getProductAdditionalAttributes($storeId);
85
 
86
  foreach ($additionalAttr as &$attr)
369
 
370
  foreach ($additionalAttributes as $attribute)
371
  {
372
+ if (isset($customData[$attribute['attribute']]))
373
+ continue;
374
+
375
  $value = $product->getData($attribute['attribute']);
376
 
377
  $attribute_ressource = $product->getResource()->getAttribute($attribute['attribute']);
378
 
379
  if ($attribute_ressource)
380
  {
381
+ if ($value === null)
382
+ {
383
+ /** Get values as array in children */
384
+ if ($product->getTypeId() == 'configurable' || $product->getTypeId() == 'grouped')
385
+ {
386
+ $values = array();
387
+
388
+ foreach ($sub_products as $sub_product)
389
+ {
390
+ $sub_product = Mage::getModel('catalog/product')->load($sub_product->getId());
391
+
392
+ $value = $sub_product->getData($attribute['attribute']);
393
+
394
+ if ($value)
395
+ {
396
+ $value_text = $sub_product->getAttributeText($attribute['attribute']);
397
+
398
+ if ($value_text)
399
+ $values[] = $value_text;
400
+ else
401
+ $values[] = $attribute_ressource->getFrontend()->getValue($sub_product);
402
+ }
403
+ }
404
+
405
+ if (count($values) > 0)
406
+ {
407
+ $customData[$attribute['attribute']] = $values;
408
+ }
409
+ }
410
+ }
411
+ else
412
+ {
413
+ $value_text = $product->getAttributeText($attribute['attribute']);
414
 
415
+ if ($value_text)
416
+ $value = $value_text;
417
+ else
418
+ $value = $attribute_ressource->getFrontend()->getValue($product);
419
+
420
+ if ($value)
421
+ {
422
+ $customData[$attribute['attribute']] = $value;
423
+ }
424
+ }
425
+ }
426
  }
427
 
428
  $customData = array_merge($customData, $defaultData);
app/code/community/Algolia/Algoliasearch/etc/config.xml CHANGED
@@ -124,17 +124,17 @@
124
  <is_popup_enabled>1</is_popup_enabled>
125
  <is_instant_enabled>1</is_instant_enabled>
126
  </credentials>
 
 
 
 
 
127
  <instant>
128
  <replace_categories>1</replace_categories>
129
  <instant_selector>.main</instant_selector>
130
- <facets>a:2:{s:18:"_1432907948596_596";a:4:{s:9:"attribute";s:10:"categories";s:4:"type";s:11:"conjunctive";s:10:"other_type";s:0:"";s:5:"label";s:10:"Categories";}s:18:"_1432907963376_376";a:4:{s:9:"attribute";s:14:"price_with_tax";s:4:"type";s:6:"slider";s:10:"other_type";s:0:"";s:5:"label";s:5:"Price";}}</facets>
131
  <sorts>a:3:{s:18:"_1432908018844_844";a:3:{s:9:"attribute";s:14:"price_with_tax";s:4:"sort";s:3:"asc";s:5:"label";s:12:"Lowest price";}s:18:"_1432908022539_539";a:3:{s:9:"attribute";s:14:"price_with_tax";s:4:"sort";s:4:"desc";s:5:"label";s:13:"Highest price";}s:18:"_1433768597454_454";a:3:{s:9:"attribute";s:10:"created_at";s:4:"sort";s:4:"desc";s:5:"label";s:12:"Newest first";}}</sorts>
132
  </instant>
133
- <products>
134
- <product_additional_attributes>a:12:{s:18:"_1427959997377_377";a:4:{s:9:"attribute";s:4:"name";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427960012597_597";a:4:{s:9:"attribute";s:4:"path";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427960251221_221";a:4:{s:9:"attribute";s:17:"short_description";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:9:"unordered";}s:18:"_1427961262735_735";a:4:{s:9:"attribute";s:10:"categories";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427961263735_735";a:4:{s:9:"attribute";s:10:"meta_title";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427961264377_377";a:4:{s:9:"attribute";s:12:"meta_keyword";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427961289908_908";a:4:{s:9:"attribute";s:16:"meta_description";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:9:"unordered";}s:18:"_1427961324936_936";a:4:{s:9:"attribute";s:3:"sku";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427962021621_621";a:4:{s:9:"attribute";s:5:"price";s:10:"searchable";s:1:"0";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427977839554_554";a:4:{s:9:"attribute";s:11:"ordered_qty";s:10:"searchable";s:1:"0";s:11:"retrievable";s:1:"0";s:5:"order";s:7:"ordered";}s:18:"_1428566173508_508";a:4:{s:9:"attribute";s:9:"stock_qty";s:10:"searchable";s:1:"0";s:11:"retrievable";s:1:"0";s:5:"order";s:7:"ordered";}s:17:"_1433929490023_23";a:4:{s:9:"attribute";s:14:"rating_summary";s:10:"searchable";s:1:"0";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}}</product_additional_attributes>
135
- <custom_ranking_product_attributes>a:1:{s:18:"_1427960305274_274";a:2:{s:9:"attribute";s:11:"ordered_qty";s:5:"order";s:4:"desc";}}</custom_ranking_product_attributes>
136
- <results_limit>1000</results_limit>
137
- </products>
138
  <categories>
139
  <category_additional_attributes2>a:7:{s:18:"_1427960339954_954";a:4:{s:9:"attribute";s:4:"name";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427960354437_437";a:4:{s:9:"attribute";s:4:"path";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427961004989_989";a:4:{s:9:"attribute";s:11:"description";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:9:"unordered";}s:18:"_1427961205511_511";a:4:{s:9:"attribute";s:10:"meta_title";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427961216134_134";a:4:{s:9:"attribute";s:13:"meta_keywords";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427961216916_916";a:4:{s:9:"attribute";s:16:"meta_description";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:9:"unordered";}s:18:"_1427977778338_338";a:4:{s:9:"attribute";s:13:"product_count";s:10:"searchable";s:1:"0";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}}</category_additional_attributes2>
140
  <custom_ranking_category_attributes>a:1:{s:18:"_1427961035192_192";a:2:{s:9:"attribute";s:13:"product_count";s:5:"order";s:4:"desc";}}</custom_ranking_category_attributes>
124
  <is_popup_enabled>1</is_popup_enabled>
125
  <is_instant_enabled>1</is_instant_enabled>
126
  </credentials>
127
+ <products>
128
+ <product_additional_attributes>a:13:{s:18:"_1427959997377_377";a:4:{s:9:"attribute";s:4:"name";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427960012597_597";a:4:{s:9:"attribute";s:4:"path";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427960251221_221";a:4:{s:9:"attribute";s:17:"short_description";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:9:"unordered";}s:18:"_1427961262735_735";a:4:{s:9:"attribute";s:10:"categories";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427961263735_735";a:4:{s:9:"attribute";s:10:"meta_title";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427961264377_377";a:4:{s:9:"attribute";s:12:"meta_keyword";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427961289908_908";a:4:{s:9:"attribute";s:16:"meta_description";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:9:"unordered";}s:18:"_1427961324936_936";a:4:{s:9:"attribute";s:3:"sku";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427962021621_621";a:4:{s:9:"attribute";s:14:"price_with_tax";s:10:"searchable";s:1:"0";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427977839554_554";a:4:{s:9:"attribute";s:11:"ordered_qty";s:10:"searchable";s:1:"0";s:11:"retrievable";s:1:"0";s:5:"order";s:7:"ordered";}s:18:"_1428566173508_508";a:4:{s:9:"attribute";s:9:"stock_qty";s:10:"searchable";s:1:"0";s:11:"retrievable";s:1:"0";s:5:"order";s:7:"ordered";}s:17:"_1433929490023_23";a:4:{s:9:"attribute";s:14:"rating_summary";s:10:"searchable";s:1:"0";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1436178594492_492";a:4:{s:9:"attribute";s:10:"created_at";s:10:"searchable";s:1:"0";s:11:"retrievable";s:1:"0";s:5:"order";s:7:"ordered";}}</product_additional_attributes>
129
+ <custom_ranking_product_attributes>a:1:{s:18:"_1427960305274_274";a:2:{s:9:"attribute";s:11:"ordered_qty";s:5:"order";s:4:"desc";}}</custom_ranking_product_attributes>
130
+ <results_limit>1000</results_limit>
131
+ </products>
132
  <instant>
133
  <replace_categories>1</replace_categories>
134
  <instant_selector>.main</instant_selector>
135
+ <facets>a:2:{s:18:"_1432907948596_596";a:4:{s:9:"attribute";s:14:"price_with_tax";s:4:"type";s:6:"slider";s:10:"other_type";s:0:"";s:5:"label";s:5:"Price";}s:18:"_1432907963376_376";a:4:{s:9:"attribute";s:10:"categories";s:4:"type";s:11:"conjunctive";s:10:"other_type";s:0:"";s:5:"label";s:10:"Categories";}}</facets>
136
  <sorts>a:3:{s:18:"_1432908018844_844";a:3:{s:9:"attribute";s:14:"price_with_tax";s:4:"sort";s:3:"asc";s:5:"label";s:12:"Lowest price";}s:18:"_1432908022539_539";a:3:{s:9:"attribute";s:14:"price_with_tax";s:4:"sort";s:4:"desc";s:5:"label";s:13:"Highest price";}s:18:"_1433768597454_454";a:3:{s:9:"attribute";s:10:"created_at";s:4:"sort";s:4:"desc";s:5:"label";s:12:"Newest first";}}</sorts>
137
  </instant>
 
 
 
 
 
138
  <categories>
139
  <category_additional_attributes2>a:7:{s:18:"_1427960339954_954";a:4:{s:9:"attribute";s:4:"name";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427960354437_437";a:4:{s:9:"attribute";s:4:"path";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427961004989_989";a:4:{s:9:"attribute";s:11:"description";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:9:"unordered";}s:18:"_1427961205511_511";a:4:{s:9:"attribute";s:10:"meta_title";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427961216134_134";a:4:{s:9:"attribute";s:13:"meta_keywords";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}s:18:"_1427961216916_916";a:4:{s:9:"attribute";s:16:"meta_description";s:10:"searchable";s:1:"1";s:11:"retrievable";s:1:"1";s:5:"order";s:9:"unordered";}s:18:"_1427977778338_338";a:4:{s:9:"attribute";s:13:"product_count";s:10:"searchable";s:1:"0";s:11:"retrievable";s:1:"1";s:5:"order";s:7:"ordered";}}</category_additional_attributes2>
140
  <custom_ranking_category_attributes>a:1:{s:18:"_1427961035192_192";a:2:{s:9:"attribute";s:13:"product_count";s:5:"order";s:4:"desc";}}</custom_ranking_category_attributes>
app/code/community/Algolia/Algoliasearch/etc/system.xml CHANGED
@@ -33,8 +33,14 @@
33
  <sort_order>10</sort_order>
34
  <show_in_default>1</show_in_default>
35
  <show_in_website>1</show_in_website>
36
- <show_in_store>1</show_in_store>
37
  <expanded>1</expanded>
 
 
 
 
 
 
38
  <fields>
39
  <application_id translate="label">
40
  <label>Application ID</label>
@@ -96,20 +102,73 @@
96
  <show_in_store>1</show_in_store>
97
  <comment>
98
  <![CDATA[
99
- If set to Yes, the products inside the results pages will be searchable with the as-you-type display of the refined results. It requires your theme to expose a <code>top.search</code> template.
100
  ]]>
101
  </comment>
102
  </is_instant_enabled>
103
  </fields>
104
  </credentials>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
105
  <instant>
106
  <label>Instant Search Results Page Configuration</label>
107
  <frontend_type>text</frontend_type>
108
- <sort_order>21</sort_order>
109
  <show_in_default>1</show_in_default>
110
  <show_in_website>1</show_in_website>
111
  <show_in_store>1</show_in_store>
112
  <expanded>1</expanded>
 
 
 
 
 
 
113
  <fields>
114
  <instant_selector translate="label comment">
115
  <label>DOM Selector</label>
@@ -128,7 +187,7 @@
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
- <comment>Configure here the filtering options you want to display on your search results page sidebar. Choose Disjunctive to allow the selection of different value of a facet (e.g., hotels with 4 OR 5 stars). Choose Conjunctive to allow the selection of only one value of a facet (e.g., only "Size M"). (</comment>
132
  </facets>
133
  <sorts>
134
  <label>Sorts</label>
@@ -148,51 +207,10 @@
148
  <show_in_default>1</show_in_default>
149
  <show_in_website>1</show_in_website>
150
  <show_in_store>1</show_in_store>
151
- <comment>Choose here if you want the default category pages to be replaced by the instant-search results page when a category is selected either in the menu of categories or in the drop-down menu.</comment>
152
  </replace_categories>
153
  </fields>
154
  </instant>
155
- <products translate="label">
156
- <label>Product Search Configuration</label>
157
- <frontend_type>text</frontend_type>
158
- <sort_order>30</sort_order>
159
- <show_in_default>1</show_in_default>
160
- <show_in_website>1</show_in_website>
161
- <show_in_store>1</show_in_store>
162
- <expanded>1</expanded>
163
- <fields>
164
- <product_additional_attributes translate="label comment">
165
- <label>Attributes</label>
166
- <frontend_model>algoliasearch/system_config_form_field_customsortorderproduct</frontend_model>
167
- <backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
168
- <sort_order>10</sort_order>
169
- <show_in_default>1</show_in_default>
170
- <show_in_website>1</show_in_website>
171
- <show_in_store>1</show_in_store>
172
- <comment>
173
- <![CDATA[
174
- Choose here the attributes your users can search in and the ones you want to display in the search results. The order of these attributes matters: the higher in the list, the more important to rank the results. A match of a query in the first attribute of a product will put this product before the others in the results. Chose "Ordered" if you want the position of the matched word(s) inside the attribute to matter. A match at the beginning of an attribute will be considered more important: "iPhone 5s" will be ranked before "case for iPhone" for the query "iPhone".<br />
175
- <span style="color: #D83900">&#9888;</span> <code>Retrievable</code> need to be set to <code>Yes</code> in order to be displayed.
176
- ]]>
177
- </comment>
178
- </product_additional_attributes>
179
- <custom_ranking_product_attributes translate="label comment">
180
- <label>Ranking</label>
181
- <frontend_model>algoliasearch/system_config_form_field_customrankingproduct</frontend_model>
182
- <backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
183
- <sort_order>12</sort_order>
184
- <show_in_default>1</show_in_default>
185
- <show_in_website>1</show_in_website>
186
- <show_in_store>1</show_in_store>
187
- <comment>
188
- <![CDATA[
189
- Configure here the attributes that reflect the popularity of your product (number of orders, number of likes, number of views, ...).<br />
190
- <span style="color: #D83900">&#9888;</span> All attributes used here must be included in the Attributes configuration.
191
- ]]>
192
- </comment>
193
- </custom_ranking_product_attributes>
194
- </fields>
195
- </products>
196
  <categories translate="label">
197
  <label>Category Search Configuration</label>
198
  <frontend_type>text</frontend_type>
@@ -201,6 +219,12 @@
201
  <show_in_website>1</show_in_website>
202
  <show_in_store>1</show_in_store>
203
  <expanded>1</expanded>
 
 
 
 
 
 
204
  <fields>
205
  <category_additional_attributes2 translate="label comment">
206
  <label>Attributes</label>
@@ -210,7 +234,12 @@
210
  <show_in_default>1</show_in_default>
211
  <show_in_website>1</show_in_website>
212
  <show_in_store>1</show_in_store>
213
- <comment>Configure here the attributes your users can search in. The order of these attributes matters: the higher in the list, the more important to rank the results.</comment>
 
 
 
 
 
214
  </category_additional_attributes2>
215
  <custom_ranking_category_attributes translate="label comment">
216
  <label>Ranking</label>
@@ -222,8 +251,8 @@
222
  <show_in_store>1</show_in_store>
223
  <comment>
224
  <![CDATA[
225
- Configure here the attributes that reflect the popularity of your categories (number of products, number total sales of the category, ...).<br />
226
- <span style="color: #D83900">&#9888;</span> All attributes used here must be included in the Attributes configuration.
227
  ]]>
228
  </comment>
229
  </custom_ranking_category_attributes>
@@ -237,6 +266,12 @@
237
  <show_in_website>1</show_in_website>
238
  <show_in_store>1</show_in_store>
239
  <expanded>1</expanded>
 
 
 
 
 
 
240
  <fields>
241
  <excluded_pages translate="label comment">
242
  <label>Excluded Pages</label>
@@ -246,7 +281,12 @@
246
  <show_in_default>1</show_in_default>
247
  <show_in_website>1</show_in_website>
248
  <show_in_store>1</show_in_store>
249
- <comment>Configure here the pages you don't want to search in.</comment>
 
 
 
 
 
250
  </excluded_pages>
251
  </fields>
252
  </pages>
@@ -258,6 +298,12 @@
258
  <show_in_website>1</show_in_website>
259
  <show_in_store>1</show_in_store>
260
  <expanded>1</expanded>
 
 
 
 
 
 
261
  <fields>
262
  <min_popularity translate="label comment">
263
  <label>Min popularity</label>
@@ -267,7 +313,7 @@
267
  <show_in_default>1</show_in_default>
268
  <show_in_website>1</show_in_website>
269
  <show_in_store>1</show_in_store>
270
- <comment>The min popularity a query suggestion needs in order to be indexed. Default value is 4.</comment>
271
  </min_popularity>
272
  <min_number_of_results translate="label comment">
273
  <label>Min number of products</label>
@@ -277,7 +323,12 @@
277
  <show_in_default>1</show_in_default>
278
  <show_in_website>1</show_in_website>
279
  <show_in_store>1</show_in_store>
280
- <comment>The min number of results a query suggestion needs to return to be indexed. Default value is 2.</comment>
 
 
 
 
 
281
  </min_number_of_results>
282
  </fields>
283
  </suggestions>
@@ -315,6 +366,12 @@
315
  <show_in_website>1</show_in_website>
316
  <show_in_store>1</show_in_store>
317
  <expanded>1</expanded>
 
 
 
 
 
 
318
  <fields>
319
  <number_product_suggestions translate="label comment">
320
  <label>Number of product suggestions</label>
@@ -324,13 +381,13 @@
324
  <show_in_default>1</show_in_default>
325
  <show_in_website>1</show_in_website>
326
  <show_in_store>1</show_in_store>
327
- <comment>The number of product results displayed in the drop-down menu. Default value is 3.</comment>
328
  </number_product_suggestions>
329
  <number_product_results translate="label comment">
330
  <label>Number of products per page</label>
331
  <frontend_type>text</frontend_type>
332
  <validate>validate-digits</validate>
333
- <sort_order>20</sort_order>
334
  <show_in_default>1</show_in_default>
335
  <show_in_website>1</show_in_website>
336
  <show_in_store>1</show_in_store>
@@ -340,11 +397,11 @@
340
  <label>Number of category suggestions</label>
341
  <frontend_type>text</frontend_type>
342
  <validate>validate-digits</validate>
343
- <sort_order>30</sort_order>
344
  <show_in_default>1</show_in_default>
345
  <show_in_website>1</show_in_website>
346
  <show_in_store>1</show_in_store>
347
- <comment>The number of category results displayed in the drop-down menu. Default value is 5.</comment>
348
  </number_category_suggestions>
349
  <number_page_suggestions translate="label comment">
350
  <label>Number of page suggestions</label>
@@ -354,13 +411,13 @@
354
  <show_in_default>1</show_in_default>
355
  <show_in_website>1</show_in_website>
356
  <show_in_store>1</show_in_store>
357
- <comment>The number of page suggestions displayed in the drop-down menu. Default value is 3.</comment>
358
  </number_page_suggestions>
359
  <number_query_suggestions translate="label comment">
360
  <label>Number of query suggestions</label>
361
  <frontend_type>text</frontend_type>
362
  <validate>validate-digits</validate>
363
- <sort_order>10</sort_order>
364
  <show_in_default>1</show_in_default>
365
  <show_in_website>1</show_in_website>
366
  <show_in_store>1</show_in_store>
@@ -370,7 +427,7 @@
370
  <label>Number of values per facet</label>
371
  <frontend_type>text</frontend_type>
372
  <validate>validate-digits</validate>
373
- <sort_order>40</sort_order>
374
  <show_in_default>1</show_in_default>
375
  <show_in_website>1</show_in_website>
376
  <show_in_store>1</show_in_store>
@@ -380,7 +437,7 @@
380
  <label>Remove branding logo</label>
381
  <frontend_type>select</frontend_type>
382
  <source_model>adminhtml/system_config_source_yesno</source_model>
383
- <sort_order>60</sort_order>
384
  <show_in_default>1</show_in_default>
385
  <show_in_website>1</show_in_website>
386
  <show_in_store>1</show_in_store>
@@ -390,7 +447,7 @@
390
  <label>Add to Cart</label>
391
  <frontend_type>select</frontend_type>
392
  <source_model>adminhtml/system_config_source_yesno</source_model>
393
- <sort_order>70</sort_order>
394
  <show_in_default>1</show_in_default>
395
  <show_in_website>1</show_in_website>
396
  <show_in_store>1</show_in_store>
@@ -442,7 +499,6 @@
442
  <show_in_website>1</show_in_website>
443
  <show_in_store>1</show_in_store>
444
  <comment>The max number of products by indexing job. Default value is 100.</comment>
445
- <depends><active>1</active></depends>
446
  </number_of_element_by_page>
447
  <number_of_job_to_run translate="label comment">
448
  <label>Number of jobs to run each time the cron is run</label>
33
  <sort_order>10</sort_order>
34
  <show_in_default>1</show_in_default>
35
  <show_in_website>1</show_in_website>
36
+ <show_in_store>1</show_in_store>
37
  <expanded>1</expanded>
38
+ <comment>
39
+ <![CDATA[
40
+ <font size="2"> Watch the <a href="https://youtu.be/DUuv9ALS5cM?t=213" target="_blank"><font color="#0066cc">Tutorial</font></a><br /n>
41
+ </font>
42
+ ]]>
43
+ </comment>
44
  <fields>
45
  <application_id translate="label">
46
  <label>Application ID</label>
102
  <show_in_store>1</show_in_store>
103
  <comment>
104
  <![CDATA[
105
+ If set to Yes, the products inside the results pages will be searchable the refined results updated as-you-type. It requires your theme to expose a <code>top.search</code> template.
106
  ]]>
107
  </comment>
108
  </is_instant_enabled>
109
  </fields>
110
  </credentials>
111
+ <products translate="label">
112
+ <label>Product Search Configuration</label>
113
+ <frontend_type>text</frontend_type>
114
+ <sort_order>30</sort_order>
115
+ <show_in_default>1</show_in_default>
116
+ <show_in_website>1</show_in_website>
117
+ <show_in_store>1</show_in_store>
118
+ <expanded>1</expanded>
119
+ <comment>
120
+ <![CDATA[
121
+ <font size="2"> Watch the <a href="https://youtu.be/DUuv9ALS5cM?t=398" target="_blank"><font color="#0066cc">Tutorial</font></a><br /n>
122
+ </font>
123
+ ]]>
124
+ </comment>
125
+ <fields>
126
+ <product_additional_attributes translate="label comment">
127
+ <label>Attributes</label>
128
+ <frontend_model>algoliasearch/system_config_form_field_customsortorderproduct</frontend_model>
129
+ <backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
130
+ <sort_order>10</sort_order>
131
+ <show_in_default>1</show_in_default>
132
+ <show_in_website>1</show_in_website>
133
+ <show_in_store>1</show_in_store>
134
+ <comment>
135
+ <![CDATA[
136
+ Choose here the product attributes your users can search on, the ones you want to use as filters and sorts options and the ones required to display the search results. The order of the searchable attributes matters: a query matching the first searchable attribute of a product will put this product before the others in the results. Chose "Ordered" if you want the position of the matching word(s) inside the attribute to matter. A match at the beginning of an attribute will be considered more important: for the query "iPhone", "iPhone 5s" will be ranked before "case for iPhone".<br />
137
+ <span style="color: #D83900">&#9888;</span> Do not forget to reindex your Algolia Search index after you've modified this panel.
138
+ ]]>
139
+ </comment>
140
+ </product_additional_attributes>
141
+ <custom_ranking_product_attributes translate="label comment">
142
+ <label>Ranking</label>
143
+ <frontend_model>algoliasearch/system_config_form_field_customrankingproduct</frontend_model>
144
+ <backend_model>adminhtml/system_config_backend_serialized_array</backend_model>
145
+ <sort_order>12</sort_order>
146
+ <show_in_default>1</show_in_default>
147
+ <show_in_website>1</show_in_website>
148
+ <show_in_store>1</show_in_store>
149
+ <comment>
150
+ <![CDATA[
151
+ Configure here the attributes that reflect the popularity of your product (number of orders, number of likes, number of views, ...).<br />
152
+ <span style="color: #D83900">&#9888;</span> All attributes used here must be have been initially included in the Attributes configuration panel.
153
+ ]]>
154
+ </comment>
155
+ </custom_ranking_product_attributes>
156
+ </fields>
157
+ </products>
158
  <instant>
159
  <label>Instant Search Results Page Configuration</label>
160
  <frontend_type>text</frontend_type>
161
+ <sort_order>31</sort_order>
162
  <show_in_default>1</show_in_default>
163
  <show_in_website>1</show_in_website>
164
  <show_in_store>1</show_in_store>
165
  <expanded>1</expanded>
166
+ <comment>
167
+ <![CDATA[
168
+ <font size="2"> Watch the <a href="https://youtu.be/DUuv9ALS5cM?t=666" target="_blank"><font color="#0066cc">Tutorial</font></a><br /n>
169
+ </font>
170
+ ]]>
171
+ </comment>
172
  <fields>
173
  <instant_selector translate="label comment">
174
  <label>DOM Selector</label>
187
  <show_in_default>1</show_in_default>
188
  <show_in_website>1</show_in_website>
189
  <show_in_store>1</show_in_store>
190
+ <comment>Configure here the filtering options you want to display on your search results page. Choose Disjunctive to allow the selection of different values of a facet (e.g. hotels with 4 OR 5 stars). Choose Conjunctive to allow the selection of only one value of a facet (e.g. only "Size M").</comment>
191
  </facets>
192
  <sorts>
193
  <label>Sorts</label>
207
  <show_in_default>1</show_in_default>
208
  <show_in_website>1</show_in_website>
209
  <show_in_store>1</show_in_store>
210
+ <comment>Choose here if you want the default Magento category pages to be replaced by an instant-search results page when a category is selected either in the menu of categories or in the drop-down menu.</comment>
211
  </replace_categories>
212
  </fields>
213
  </instant>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
214
  <categories translate="label">
215
  <label>Category Search Configuration</label>
216
  <frontend_type>text</frontend_type>
219
  <show_in_website>1</show_in_website>
220
  <show_in_store>1</show_in_store>
221
  <expanded>1</expanded>
222
+ <comment>
223
+ <![CDATA[
224
+ <font size="2"> Watch the <a href="https://youtu.be/DUuv9ALS5cM?t=805" target="_blank"><font color="#0066cc">Tutorial</font></a><br /n>
225
+ </font>
226
+ ]]>
227
+ </comment>
228
  <fields>
229
  <category_additional_attributes2 translate="label comment">
230
  <label>Attributes</label>
234
  <show_in_default>1</show_in_default>
235
  <show_in_website>1</show_in_website>
236
  <show_in_store>1</show_in_store>
237
+ <comment>
238
+ <![CDATA[
239
+ Configure here the category attributes your users can search on. The order of these attributes matters: the higher in the list, the more important to rank the results.<br />
240
+ <span style="color: #D83900">&#9888;</span> Do not forget to reindex your Algolia Search index after you've modified this panel.
241
+ ]]>
242
+ </comment>
243
  </category_additional_attributes2>
244
  <custom_ranking_category_attributes translate="label comment">
245
  <label>Ranking</label>
251
  <show_in_store>1</show_in_store>
252
  <comment>
253
  <![CDATA[
254
+ Choose here the attributes that reflect the popularity of your categories (number of products, total number of sales of the category,etc.).<br />
255
+ <span style="color: #D83900">&#9888;</span> All attributes used here must be have been included before in the Attributes chart.
256
  ]]>
257
  </comment>
258
  </custom_ranking_category_attributes>
266
  <show_in_website>1</show_in_website>
267
  <show_in_store>1</show_in_store>
268
  <expanded>1</expanded>
269
+ <comment>
270
+ <![CDATA[
271
+ <font size="2"> Watch the <a href="https://youtu.be/DUuv9ALS5cM?t=841" target="_blank"><font color="#0066cc">Tutorial</font></a><br /n>
272
+ </font>
273
+ ]]>
274
+ </comment>
275
  <fields>
276
  <excluded_pages translate="label comment">
277
  <label>Excluded Pages</label>
281
  <show_in_default>1</show_in_default>
282
  <show_in_website>1</show_in_website>
283
  <show_in_store>1</show_in_store>
284
+ <comment>
285
+ <![CDATA[
286
+ Configure here the pages you don't want to search in.<br /n>
287
+ <span style="color: #D83900">&#9888;</span> Do not forget to reindex your Algolia Search Pages index whenever you modify this setting.
288
+ ]]>
289
+ </comment>
290
  </excluded_pages>
291
  </fields>
292
  </pages>
298
  <show_in_website>1</show_in_website>
299
  <show_in_store>1</show_in_store>
300
  <expanded>1</expanded>
301
+ <comment>
302
+ <![CDATA[
303
+ <font size="2"> Watch the <a href="https://youtu.be/DUuv9ALS5cM?t=881" target="_blank"><font color="#0066cc">Tutorial</font></a><br /n>
304
+ </font>
305
+ ]]>
306
+ </comment>
307
  <fields>
308
  <min_popularity translate="label comment">
309
  <label>Min popularity</label>
313
  <show_in_default>1</show_in_default>
314
  <show_in_website>1</show_in_website>
315
  <show_in_store>1</show_in_store>
316
+ <comment>The min number of times a query has been performed in order to be suggested. Default value is 4.</comment>
317
  </min_popularity>
318
  <min_number_of_results translate="label comment">
319
  <label>Min number of products</label>
323
  <show_in_default>1</show_in_default>
324
  <show_in_website>1</show_in_website>
325
  <show_in_store>1</show_in_store>
326
+ <comment>
327
+ <![CDATA[
328
+ The min number of results a query needs to return to be suggested. Default value is 2. <br /n>
329
+ <span style="color: #D83900">&#9888;</span> Updating your suggested queries requires that you reindex your Algolia Search Suggestions index.
330
+ ]]>
331
+ </comment>
332
  </min_number_of_results>
333
  </fields>
334
  </suggestions>
366
  <show_in_website>1</show_in_website>
367
  <show_in_store>1</show_in_store>
368
  <expanded>1</expanded>
369
+ <comment>
370
+ <![CDATA[
371
+ <font size="2"> Watch the <a href="https://youtu.be/DUuv9ALS5cM?t=911" target="_blank"><font color="#0066cc">Tutorial</font></a><br /n>
372
+ </font>
373
+ ]]>
374
+ </comment>
375
  <fields>
376
  <number_product_suggestions translate="label comment">
377
  <label>Number of product suggestions</label>
381
  <show_in_default>1</show_in_default>
382
  <show_in_website>1</show_in_website>
383
  <show_in_store>1</show_in_store>
384
+ <comment>The number of product results displayed in the drop-down menu. Default value is 3. Set the value to 0 if you do not want to display the products section in the menu.</comment>
385
  </number_product_suggestions>
386
  <number_product_results translate="label comment">
387
  <label>Number of products per page</label>
388
  <frontend_type>text</frontend_type>
389
  <validate>validate-digits</validate>
390
+ <sort_order>50</sort_order>
391
  <show_in_default>1</show_in_default>
392
  <show_in_website>1</show_in_website>
393
  <show_in_store>1</show_in_store>
397
  <label>Number of category suggestions</label>
398
  <frontend_type>text</frontend_type>
399
  <validate>validate-digits</validate>
400
+ <sort_order>20</sort_order>
401
  <show_in_default>1</show_in_default>
402
  <show_in_website>1</show_in_website>
403
  <show_in_store>1</show_in_store>
404
+ <comment>The number of category results displayed in the drop-down menu. Default value is 5. Set the value to 0 if you do not want to display the categories section in the menu.</comment>
405
  </number_category_suggestions>
406
  <number_page_suggestions translate="label comment">
407
  <label>Number of page suggestions</label>
411
  <show_in_default>1</show_in_default>
412
  <show_in_website>1</show_in_website>
413
  <show_in_store>1</show_in_store>
414
+ <comment>The number of page suggestions displayed in the drop-down menu. Default value is 3. Set the value to 0 if you do not want to display the pages section in the menu.</comment>
415
  </number_page_suggestions>
416
  <number_query_suggestions translate="label comment">
417
  <label>Number of query suggestions</label>
418
  <frontend_type>text</frontend_type>
419
  <validate>validate-digits</validate>
420
+ <sort_order>30</sort_order>
421
  <show_in_default>1</show_in_default>
422
  <show_in_website>1</show_in_website>
423
  <show_in_store>1</show_in_store>
427
  <label>Number of values per facet</label>
428
  <frontend_type>text</frontend_type>
429
  <validate>validate-digits</validate>
430
+ <sort_order>60</sort_order>
431
  <show_in_default>1</show_in_default>
432
  <show_in_website>1</show_in_website>
433
  <show_in_store>1</show_in_store>
437
  <label>Remove branding logo</label>
438
  <frontend_type>select</frontend_type>
439
  <source_model>adminhtml/system_config_source_yesno</source_model>
440
+ <sort_order>70</sort_order>
441
  <show_in_default>1</show_in_default>
442
  <show_in_website>1</show_in_website>
443
  <show_in_store>1</show_in_store>
447
  <label>Add to Cart</label>
448
  <frontend_type>select</frontend_type>
449
  <source_model>adminhtml/system_config_source_yesno</source_model>
450
+ <sort_order>80</sort_order>
451
  <show_in_default>1</show_in_default>
452
  <show_in_website>1</show_in_website>
453
  <show_in_store>1</show_in_store>
499
  <show_in_website>1</show_in_website>
500
  <show_in_store>1</show_in_store>
501
  <comment>The max number of products by indexing job. Default value is 100.</comment>
 
502
  </number_of_element_by_page>
503
  <number_of_job_to_run translate="label comment">
504
  <label>Number of jobs to run each time the cron is run</label>
app/design/frontend/base/default/template/algoliasearch/topsearch.phtml CHANGED
@@ -34,7 +34,15 @@ if ($config->getNumberOfCategorySuggestions() > 0)
34
  if ($config->getNumberOfPageSuggestions() > 0)
35
  $types[] = $this->__('pages');
36
 
37
- $placeholder = 'Search for ' . implode(', ', array_slice($types, 0, count($types) - 1)) . ' or ' . $types[count($types) - 1];
 
 
 
 
 
 
 
 
38
  $class = $isSearchPage ? 'search-page' : '';
39
 
40
  ?>
@@ -43,7 +51,7 @@ $class = $isSearchPage ? 'search-page' : '';
43
  <div id="algolia-searchbox" class="<?php echo $class; ?>">
44
  <label for="search"><?php echo $this->__('Search:') ?></label>
45
  <input id="search" type="text" name="<?php echo $catalogSearchHelper->getQueryParamName() ?>" class="input-text" autocomplete="off" spellcheck="false" autocorrect="off" autocapitalize="off" placeholder="<?php echo $placeholder; ?>" />
46
- <svg xmlns="http://www.w3.org/2000/svg" class="magnifying-glass" width="24" height="24" viewBox="0 0 128 128" >
47
  <g transform="scale(4)">
48
  <path stroke-width="3" d="M19.5 19.582l9.438 9.438"></path>
49
  <circle stroke-width="3" cx="12" cy="12" r="10.5" fill="none"></circle>
@@ -165,6 +173,7 @@ $class = $isSearchPage ? 'search-page' : '';
165
 
166
  <div id="algolia-right-container">
167
 
 
168
  <div id="instant-search-bar-container">
169
  <div id="instant-search-box">
170
  <label for="instant-search-bar">
@@ -182,6 +191,7 @@ $class = $isSearchPage ? 'search-page' : '';
182
  </svg>
183
  </div>
184
  </div>
 
185
 
186
  <div id="instant-search-results-container"></div>
187
  <div id="instant-search-pagination-container"></div>
@@ -267,6 +277,7 @@ $class = $isSearchPage ? 'search-page' : '';
267
  </div>
268
 
269
  {{#isAddToCartEnabled}}
 
270
  <form action="/checkout/cart/add/product/{{objectID}}" method="post">
271
  <input type="hidden" name="form_key" value="<?php echo $formKey; ?>" />
272
 
@@ -274,6 +285,7 @@ $class = $isSearchPage ? 'search-page' : '';
274
 
275
  <button type="submit">Add to Cart</button>
276
  </form>
 
277
  {{/isAddToCartEnabled}}
278
  </div>
279
  </div>
@@ -994,6 +1006,10 @@ $class = $isSearchPage ? 'search-page' : '';
994
  window.location.href = item.url;
995
  });
996
  });
 
 
 
 
997
  }
998
 
999
  /*****************
@@ -1002,7 +1018,7 @@ $class = $isSearchPage ? 'search-page' : '';
1002
  **
1003
  *****************/
1004
 
1005
- if (algoliaConfig.instant.enabled && <?php echo $isSearchPage ? "true" : "false"; ?>)
1006
  {
1007
  if ($(algoliaConfig.instant.selector).length !== 1)
1008
  throw '[Algolia] Invalid instant-search selector: ' + algoliaConfig.instant.selector;
@@ -1011,6 +1027,8 @@ $class = $isSearchPage ? 'search-page' : '';
1011
  throw '[Algolia] You can\'t have a search input matching "' + algoliaConfig.autocomplete.selector +
1012
  '" inside you instant selector "' + algoliaConfig.instant.selector + '"';
1013
 
 
 
1014
  var wrapperTemplate = algoliaBundle.Hogan.compile($('#instant_wrapper_template').html());
1015
 
1016
  var initialized = false;
@@ -1031,7 +1049,7 @@ $class = $isSearchPage ? 'search-page' : '';
1031
  {
1032
  if (initialized === false)
1033
  {
1034
- $(algoliaConfig.instant.selector).html(wrapperTemplate.render()).show();
1035
  initialized = true;
1036
  }
1037
  /**
@@ -1092,7 +1110,7 @@ $class = $isSearchPage ? 'search-page' : '';
1092
 
1093
  updateSliderValues();
1094
 
1095
- var instant_search_bar = $('#instant-search-bar');
1096
 
1097
  if (instant_search_bar.is(":focus") === false)
1098
  {
@@ -1255,7 +1273,7 @@ $class = $isSearchPage ? 'search-page' : '';
1255
 
1256
  /** Handle input clearing **/
1257
  $('body').on('click', '.clear-button', function () {
1258
- $('#instant-search-bar').val('').focus();
1259
  helper.clearRefinements().setQuery('');
1260
 
1261
  performQueries(true);
@@ -1264,7 +1282,8 @@ $class = $isSearchPage ? 'search-page' : '';
1264
  /**
1265
  * Handle search
1266
  */
1267
- $('body').on('keyup', '#instant-search-bar', function (e) {
 
1268
  e.preventDefault();
1269
 
1270
  helper.setQuery($(this).val());
@@ -1317,7 +1336,9 @@ $class = $isSearchPage ? 'search-page' : '';
1317
  /** Clean input **/
1318
  $(algoliaConfig.autocomplete.selector).attr('autocomplete', 'off').attr('autocorrect', 'off').attr('spellcheck', 'false').attr('autocapitalize', 'off');
1319
 
1320
- getRefinementsFromUrl();
 
 
1321
 
1322
  window.addEventListener("popstate", function(e) {
1323
  getRefinementsFromUrl();
34
  if ($config->getNumberOfPageSuggestions() > 0)
35
  $types[] = $this->__('pages');
36
 
37
+ $or = count($types) > 1 ? ' or ' : '';
38
+
39
+ $placeholder = 'Search';
40
+
41
+ if (count($types) > 0)
42
+ {
43
+ $placeholder = 'Search for ' . implode(', ', array_slice($types, 0, count($types) - 1)) . $or . $types[count($types) - 1];
44
+ }
45
+
46
  $class = $isSearchPage ? 'search-page' : '';
47
 
48
  ?>
51
  <div id="algolia-searchbox" class="<?php echo $class; ?>">
52
  <label for="search"><?php echo $this->__('Search:') ?></label>
53
  <input id="search" type="text" name="<?php echo $catalogSearchHelper->getQueryParamName() ?>" class="input-text" autocomplete="off" spellcheck="false" autocorrect="off" autocapitalize="off" placeholder="<?php echo $placeholder; ?>" />
54
+ <svg id="algolia-glass" xmlns="http://www.w3.org/2000/svg" class="magnifying-glass" width="24" height="24" viewBox="0 0 128 128" >
55
  <g transform="scale(4)">
56
  <path stroke-width="3" d="M19.5 19.582l9.438 9.438"></path>
57
  <circle stroke-width="3" cx="12" cy="12" r="10.5" fill="none"></circle>
173
 
174
  <div id="algolia-right-container">
175
 
176
+ {{#second_bar}}
177
  <div id="instant-search-bar-container">
178
  <div id="instant-search-box">
179
  <label for="instant-search-bar">
191
  </svg>
192
  </div>
193
  </div>
194
+ {{/second_bar}}
195
 
196
  <div id="instant-search-results-container"></div>
197
  <div id="instant-search-pagination-container"></div>
277
  </div>
278
 
279
  {{#isAddToCartEnabled}}
280
+ {{#in_stock}}
281
  <form action="/checkout/cart/add/product/{{objectID}}" method="post">
282
  <input type="hidden" name="form_key" value="<?php echo $formKey; ?>" />
283
 
285
 
286
  <button type="submit">Add to Cart</button>
287
  </form>
288
+ {{/in_stock}}
289
  {{/isAddToCartEnabled}}
290
  </div>
291
  </div>
1006
  window.location.href = item.url;
1007
  });
1008
  });
1009
+
1010
+ $("#algolia-glass").click(function () {
1011
+ $(this).closest('form').submit();
1012
+ });
1013
  }
1014
 
1015
  /*****************
1018
  **
1019
  *****************/
1020
 
1021
+ if (algoliaConfig.instant.enabled && (<?php echo $isSearchPage ? "true" : "false"; ?> || ! algoliaConfig.autocomplete.enabled))
1022
  {
1023
  if ($(algoliaConfig.instant.selector).length !== 1)
1024
  throw '[Algolia] Invalid instant-search selector: ' + algoliaConfig.instant.selector;
1027
  throw '[Algolia] You can\'t have a search input matching "' + algoliaConfig.autocomplete.selector +
1028
  '" inside you instant selector "' + algoliaConfig.instant.selector + '"';
1029
 
1030
+ var instant_selector = ! algoliaConfig.autocomplete.enabled ? "#search" : "#instant-search-bar";
1031
+
1032
  var wrapperTemplate = algoliaBundle.Hogan.compile($('#instant_wrapper_template').html());
1033
 
1034
  var initialized = false;
1049
  {
1050
  if (initialized === false)
1051
  {
1052
+ $(algoliaConfig.instant.selector).html(wrapperTemplate.render({ second_bar: algoliaConfig.autocomplete.enabled })).show();
1053
  initialized = true;
1054
  }
1055
  /**
1110
 
1111
  updateSliderValues();
1112
 
1113
+ var instant_search_bar = $(instant_selector);
1114
 
1115
  if (instant_search_bar.is(":focus") === false)
1116
  {
1273
 
1274
  /** Handle input clearing **/
1275
  $('body').on('click', '.clear-button', function () {
1276
+ $(instant_selector).val('').focus();
1277
  helper.clearRefinements().setQuery('');
1278
 
1279
  performQueries(true);
1282
  /**
1283
  * Handle search
1284
  */
1285
+
1286
+ $('body').on('keyup', instant_selector, function (e) {
1287
  e.preventDefault();
1288
 
1289
  helper.setQuery($(this).val());
1336
  /** Clean input **/
1337
  $(algoliaConfig.autocomplete.selector).attr('autocomplete', 'off').attr('autocorrect', 'off').attr('spellcheck', 'false').attr('autocapitalize', 'off');
1338
 
1339
+ if (<?php echo $isSearchPage ? "true" : "false"; ?> || location.hash.length > 1) {
1340
+ getRefinementsFromUrl();
1341
+ }
1342
 
1343
  window.addEventListener("popstate", function(e) {
1344
  getRefinementsFromUrl();
package.xml CHANGED
@@ -1,7 +1,7 @@
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>algoliasearch</name>
4
- <version>1.3.4</version>
5
  <stability>stable</stability>
6
  <license uri="https://github.com/algolia/algoliasearch-magento/blob/master/LICENSE.txt">MIT</license>
7
  <channel>community</channel>
@@ -11,11 +11,14 @@
11
  &#xD;
12
  This extension replaces Magento's FullText Search module and provide an as-you-type auto-completion menu in your searchbar.&#xD;
13
  </description>
14
- <notes>- Fix url redirection</notes>
 
 
 
15
  <authors><author><name>Algolia Team</name><user>algolia</user><email>support@algolia.com</email></author></authors>
16
- <date>2015-06-29</date>
17
- <time>16:29:26</time>
18
- <contents><target name="mageetc"><dir name="modules"><file name="Algolia_Algoliasearch.xml" hash="17a1452f533423291332642969b41a53"/></dir></target><target name="magecommunity"><dir name="Algolia"><dir name="Algoliasearch"><dir name="Block"><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Custompages.php" hash="f87a9cf7b5559717cd9d6570374dcda7"/><file name="Customrankingcategory.php" hash="6d9575c12dbaecf9054de1cf12736025"/><file name="Customrankingproduct.php" hash="a62d746763c851027e3c3c9d6446d697"/><file name="Customsortorder.php" hash="786c8f8fca2e4b41b8732f5fe270491b"/><file name="Customsortordercategory.php" hash="9908ea7f463138d3047c51b98591db9c"/><file name="Customsortorderproduct.php" hash="ee62901a3911bb7784467e1ca5cd8e84"/><file name="Facets.php" hash="b5aa10b599093eadbd286cdf29bdab00"/><file name="Select.php" hash="6e3cb4c1798775048bebbdc878e90aa9"/><file name="Sorts.php" hash="b2eb71b3ef0198bbea7080f755127071"/></dir></dir></dir></dir></dir><dir name="Helper"><dir name="AlgoliaSearch"><file name="AlgoliaException.php" hash="4acaa7c9142e19d1084295a3b8ba18e2"/><file name="Client.php" hash="961c0b1f3762db7dbd93de2047e22bde"/><file name="ClientContext.php" hash="77d2449636d263162460a7ccaea4e6b6"/><file name="Index.php" hash="5c1eacc54cd503bff296e9bbbd402895"/><file name="Version.php" hash="0c37eb6324361991364e0efd2696e56d"/></dir><file name="Algoliahelper.php" hash="13bdc43f43784f63f4814b05bdbfd1f3"/><file name="Config.php" hash="081a1834dfb79706bb4355057d9c9d86"/><file name="Data.php" hash="6083879f7d8642e46cf512fab3ba65be"/><dir name="Entity"><file name="Categoryhelper.php" hash="0ec97836a0c1de3e3e22ce462fc756c7"/><file name="Helper.php" hash="3b6025b96ac4e41af10953f012abb77a"/><file name="Pagehelper.php" hash="7a0dcb237f6720d1637c48fc05a7d45e"/><file name="Producthelper.php" hash="e55e89a586b70c0b1801fd3ea44e9d36"/><file name="Suggestionhelper.php" hash="52f709b27a94c66aa9f7af8648dcb30a"/></dir><dir name="resources"><file name="ca-bundle.crt" hash="47961e7ef15667c93cd99be01b51f00a"/></dir></dir><dir name="Model"><dir name="Indexer"><file name="Algolia.php" hash="01955e079f1dc397fc98eafcd6b2d669"/><file name="Algoliapages.php" hash="26ea3afee58d07b721c5cd74b3d6c4e3"/><file name="Algoliasuggestions.php" hash="7020d40bae60469d0acc7138ee72a419"/></dir><file name="Observer.php" hash="9a951b810b6472d8ef7335451e5821ea"/><file name="Queue.php" hash="1d3b80b27be56469f69e67f29c933151"/><dir name="Resource"><file name="Engine.php" hash="140515bd1a27cd7644b1efe2d290b0a7"/><dir name="Fulltext"><file name="Collection.php" hash="a981bfa8d811d07e42a31b7072a49d2f"/></dir><file name="Fulltext.php" hash="33566998e9588d6950797908f525b76f"/></dir><dir name="System"><file name="Removewords.php" hash="69c9727a324b657f7cfdf7f5d06e3cbc"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="ea4176ed43885e531f90d1f5369f29ee"/><file name="config.xml" hash="9187c66f4bb0e3d55a353053f4ec49cd"/><file name="system.xml" hash="bbf3bc6e01de08847209ef8048729b52"/></dir><dir name="sql"><dir name="algoliasearch_setup"><file name="mysql4-install-0.1.0.php" hash="fffd964f9c60be7909ec216260c37ba0"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="algoliasearch.xml" hash="f0df0b6ed09d186da4429577aefd346d"/></dir><dir name="template"><dir name="algoliasearch"><file name="topsearch.phtml" hash="ae566eac67cc1049464fb74f4611b85c"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="algoliasearch"><file name="algolia-admin-menu.png" hash="9202a559c30a43d4d4bbc2f9ee774fd9"/><file name="algolia-logo.png" hash="190884b3e8652f3517754ae15bca31de"/><file name="algoliasearch.css" hash="30c6ad2d994a4957add6f159b8439ca3"/><file name="bundle.css" hash="80812f8e0f00180ec21a60ba90718c9b"/><dir name="images"><file name="ui-bg_diagonals-thick_18_b81900_40x40.png" hash="62568c006bb1066f40fd5f9cfe4489be"/><file name="ui-bg_diagonals-thick_20_666666_40x40.png" hash="406541454ec466d93217826588335194"/><file name="ui-bg_flat_10_000000_40x100.png" hash="85243ed808c91ae60d33bda3a6bdee3c"/><file name="ui-bg_glass_100_f6f6f6_1x400.png" hash="f912ffca9b1919ab26c64cf1332c5322"/><file name="ui-bg_glass_100_fdf5ce_1x400.png" hash="a9b41e3f4db0fb9be1cd2c649deb253f"/><file name="ui-bg_glass_65_ffffff_1x400.png" hash="ff9e9b45e03f11808144324fd5350612"/><file name="ui-bg_gloss-wave_35_f6a828_500x100.png" hash="08ece8908c07b1c0d18b8db076ff50fc"/><file name="ui-bg_highlight-soft_100_eeeeee_1x100.png" hash="72fe4b0e1bbb83dfd6787989d3583fbe"/><file name="ui-bg_highlight-soft_75_ffe45c_1x100.png" hash="81262299ac7f591fd1763c1ccee0691f"/><file name="ui-icons_222222_256x240.png" hash="3a3c5468f484f07ac4a320d9e22acb8c"/><file name="ui-icons_228ef1_256x240.png" hash="92b29683b6a48eae7de7eb4b1cfa039c"/><file name="ui-icons_ef8c08_256x240.png" hash="f492970693640894fb54166c75dd2925"/><file name="ui-icons_ffd27a_256x240.png" hash="dda1b6f694b0d196aefc66a1d6d758f6"/><file name="ui-icons_ffffff_256x240.png" hash="41612b0f4a034424f8321c9f824a94da"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="algoliasearch"><file name="bundle.min.js" hash="d4dfb168bc9c04b3618e946edfa235d2"/></dir></dir></target></contents>
19
  <compatible/>
20
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
21
  </package>
1
  <?xml version="1.0"?>
2
  <package>
3
  <name>algoliasearch</name>
4
+ <version>1.3.5</version>
5
  <stability>stable</stability>
6
  <license uri="https://github.com/algolia/algoliasearch-magento/blob/master/LICENSE.txt">MIT</license>
7
  <channel>community</channel>
11
  &#xD;
12
  This extension replaces Magento's FullText Search module and provide an as-you-type auto-completion menu in your searchbar.&#xD;
13
  </description>
14
+ <notes>- Review admin panel&#xD;
15
+ - Handle click on the glass&#xD;
16
+ - Fix Instant search alone&#xD;
17
+ - Handle grouped/configurable attributes</notes>
18
  <authors><author><name>Algolia Team</name><user>algolia</user><email>support@algolia.com</email></author></authors>
19
+ <date>2015-07-09</date>
20
+ <time>17:34:15</time>
21
+ <contents><target name="mageetc"><dir name="modules"><file name="Algolia_Algoliasearch.xml" hash="17a1452f533423291332642969b41a53"/></dir></target><target name="magecommunity"><dir name="Algolia"><dir name="Algoliasearch"><dir name="Block"><dir name="System"><dir name="Config"><dir name="Form"><dir name="Field"><file name="Custompages.php" hash="f87a9cf7b5559717cd9d6570374dcda7"/><file name="Customrankingcategory.php" hash="6d9575c12dbaecf9054de1cf12736025"/><file name="Customrankingproduct.php" hash="6d1b145e37c4f22d5b56f5783ac47511"/><file name="Customsortorder.php" hash="786c8f8fca2e4b41b8732f5fe270491b"/><file name="Customsortordercategory.php" hash="9908ea7f463138d3047c51b98591db9c"/><file name="Customsortorderproduct.php" hash="ee62901a3911bb7784467e1ca5cd8e84"/><file name="Facets.php" hash="097998767edeee986958f421979ea141"/><file name="Select.php" hash="6e3cb4c1798775048bebbdc878e90aa9"/><file name="Sorts.php" hash="fede73c4ecbe39bf0344fbf6de46ed95"/></dir></dir></dir></dir></dir><dir name="Helper"><dir name="AlgoliaSearch"><file name="AlgoliaException.php" hash="4acaa7c9142e19d1084295a3b8ba18e2"/><file name="Client.php" hash="961c0b1f3762db7dbd93de2047e22bde"/><file name="ClientContext.php" hash="77d2449636d263162460a7ccaea4e6b6"/><file name="Index.php" hash="5c1eacc54cd503bff296e9bbbd402895"/><file name="Version.php" hash="0c37eb6324361991364e0efd2696e56d"/></dir><file name="Algoliahelper.php" hash="783a46ec9025fc498e109cd385bd35d7"/><file name="Config.php" hash="081a1834dfb79706bb4355057d9c9d86"/><file name="Data.php" hash="f744aa804e59d277eac56b6f1a3c0d69"/><dir name="Entity"><file name="Categoryhelper.php" hash="0ec97836a0c1de3e3e22ce462fc756c7"/><file name="Helper.php" hash="3b6025b96ac4e41af10953f012abb77a"/><file name="Pagehelper.php" hash="7a0dcb237f6720d1637c48fc05a7d45e"/><file name="Producthelper.php" hash="a8dd2756893bd016b6c0cb56a43d80e2"/><file name="Suggestionhelper.php" hash="52f709b27a94c66aa9f7af8648dcb30a"/></dir><dir name="resources"><file name="ca-bundle.crt" hash="47961e7ef15667c93cd99be01b51f00a"/></dir></dir><dir name="Model"><dir name="Indexer"><file name="Algolia.php" hash="01955e079f1dc397fc98eafcd6b2d669"/><file name="Algoliapages.php" hash="26ea3afee58d07b721c5cd74b3d6c4e3"/><file name="Algoliasuggestions.php" hash="7020d40bae60469d0acc7138ee72a419"/></dir><file name="Observer.php" hash="9a951b810b6472d8ef7335451e5821ea"/><file name="Queue.php" hash="1d3b80b27be56469f69e67f29c933151"/><dir name="Resource"><file name="Engine.php" hash="140515bd1a27cd7644b1efe2d290b0a7"/><dir name="Fulltext"><file name="Collection.php" hash="a981bfa8d811d07e42a31b7072a49d2f"/></dir><file name="Fulltext.php" hash="33566998e9588d6950797908f525b76f"/></dir><dir name="System"><file name="Removewords.php" hash="69c9727a324b657f7cfdf7f5d06e3cbc"/></dir></dir><dir name="etc"><file name="adminhtml.xml" hash="ea4176ed43885e531f90d1f5369f29ee"/><file name="config.xml" hash="56ec644e20b735cddbbca17e80948e3c"/><file name="system.xml" hash="e24b232245284ffc6d97942262dbb890"/></dir><dir name="sql"><dir name="algoliasearch_setup"><file name="mysql4-install-0.1.0.php" hash="fffd964f9c60be7909ec216260c37ba0"/></dir></dir></dir></dir></target><target name="magedesign"><dir name="frontend"><dir name="base"><dir name="default"><dir name="layout"><file name="algoliasearch.xml" hash="f0df0b6ed09d186da4429577aefd346d"/></dir><dir name="template"><dir name="algoliasearch"><file name="topsearch.phtml" hash="b6f4893f1960fec33362a436fe722ebf"/></dir></dir></dir></dir></dir></target><target name="mageskin"><dir name="frontend"><dir name="base"><dir name="default"><dir name="algoliasearch"><file name="algolia-admin-menu.png" hash="9202a559c30a43d4d4bbc2f9ee774fd9"/><file name="algolia-logo.png" hash="190884b3e8652f3517754ae15bca31de"/><file name="algoliasearch.css" hash="30c6ad2d994a4957add6f159b8439ca3"/><file name="bundle.css" hash="80812f8e0f00180ec21a60ba90718c9b"/><dir name="images"><file name="ui-bg_diagonals-thick_18_b81900_40x40.png" hash="62568c006bb1066f40fd5f9cfe4489be"/><file name="ui-bg_diagonals-thick_20_666666_40x40.png" hash="406541454ec466d93217826588335194"/><file name="ui-bg_flat_10_000000_40x100.png" hash="85243ed808c91ae60d33bda3a6bdee3c"/><file name="ui-bg_glass_100_f6f6f6_1x400.png" hash="f912ffca9b1919ab26c64cf1332c5322"/><file name="ui-bg_glass_100_fdf5ce_1x400.png" hash="a9b41e3f4db0fb9be1cd2c649deb253f"/><file name="ui-bg_glass_65_ffffff_1x400.png" hash="ff9e9b45e03f11808144324fd5350612"/><file name="ui-bg_gloss-wave_35_f6a828_500x100.png" hash="08ece8908c07b1c0d18b8db076ff50fc"/><file name="ui-bg_highlight-soft_100_eeeeee_1x100.png" hash="72fe4b0e1bbb83dfd6787989d3583fbe"/><file name="ui-bg_highlight-soft_75_ffe45c_1x100.png" hash="81262299ac7f591fd1763c1ccee0691f"/><file name="ui-icons_222222_256x240.png" hash="3a3c5468f484f07ac4a320d9e22acb8c"/><file name="ui-icons_228ef1_256x240.png" hash="92b29683b6a48eae7de7eb4b1cfa039c"/><file name="ui-icons_ef8c08_256x240.png" hash="f492970693640894fb54166c75dd2925"/><file name="ui-icons_ffd27a_256x240.png" hash="dda1b6f694b0d196aefc66a1d6d758f6"/><file name="ui-icons_ffffff_256x240.png" hash="41612b0f4a034424f8321c9f824a94da"/></dir></dir></dir></dir></dir></target><target name="mage"><dir name="js"><dir name="algoliasearch"><file name="bundle.min.js" hash="d4dfb168bc9c04b3618e946edfa235d2"/></dir></dir></target></contents>
22
  <compatible/>
23
  <dependencies><required><php><min>5.2.0</min><max>6.0.0</max></php></required></dependencies>
24
  </package>