On rajoute les derniers modules et on modifie les CSS

This commit is contained in:
2020-10-20 16:45:41 +02:00
parent 25cb197711
commit bd1927da6f
334 changed files with 39634 additions and 1825 deletions

View File

@@ -4,6 +4,16 @@ All notable changes to this project will be documented in this file.
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [1.4.1] - 2020-09-30
### Added
- Additional countries in Intra-Dom list
### Fixed
- Fix FTD behaviour when changing service
- Fix customer name when pickup-point delivery
- Fix thermal printing in Ethernet mode
- Fix country list in module configuration
## [1.4.0] - 2020-07-31
### Added
- Compatibility with PrestaShop 1.7.7 for Admin Orders

View File

@@ -1,5 +1,5 @@
# Colissimo Official App
:white_check_mark: Current stable version: v1.4.0
:white_check_mark: Current stable version: v1.4.1
## Compatibility

View File

@@ -296,6 +296,7 @@ class ColissimoLabelGenerator
);
$this->request->setSenderAddress($senderAddr);
/** @var Address $customerAddrDb */
$customerDeliveryAddr = $this->data['customer_addr'];
if ($colissimoService->type == ColissimoService::TYPE_RELAIS) {
$customerAddrDb = $this->data['customer_addr_inv'];
} else {
@@ -306,8 +307,8 @@ class ColissimoLabelGenerator
'codeBarForReference' => true,
'address' => array(
'companyName' => $customerAddrDb->company,
'lastName' => $customerAddrDb->lastname,
'firstName' => $customerAddrDb->firstname,
'lastName' => $customerDeliveryAddr->lastname,
'firstName' => $customerDeliveryAddr->firstname,
'line2' => $customerAddrDb->address1,
'line3' => $customerAddrDb->address2,
'countryCode' => Country::getIsoById($customerAddrDb->id_country),
@@ -504,6 +505,10 @@ class ColissimoLabelGenerator
$this->request->buildRequest();
$client = new ColissimoClient();
$client->setRequest($this->request);
$this->logger->info(
sprintf('Order #%d (%s) - Request', $this->data['order']->id, $this->data['order']->reference),
array('request' => json_decode($this->request->getRequest(true), true))
);
/** @var ColissimoGenerateLabelResponse $response */
$response = $client->request();
$this->logger->info(

View File

@@ -50,7 +50,7 @@ class ColissimoTools
public static $isoOutreMerZone2 = array('NC', 'PF', 'WF', 'TF');
/** @var array $isoOutreMerZone1Special Outre-Mer zone 1, special rules with Inter-Dom & FR shipments */
public static $isoOutreMerZone1Special = array('GP', 'MQ');
public static $isoOutreMerZone1Special = array('GP', 'MQ', 'BL', 'MF');
//@formatter:off
/** @var array $isoOutreMerReturnSpecial Outre-Mer special : we can make return from these ISO to only these same ISO + 3 FR ISO */
@@ -1050,13 +1050,13 @@ class ColissimoTools
*/
public static function createAddressFromPickupPoint($pickupPoint, $order, $phone)
{
$customer = new Customer((int) $order->id_customer);
$idCountry = Country::getByIso($pickupPoint->iso_country);
$deliveryAddress = new Address((int) $order->id_address_delivery);
$pickupPointAddress = new Address();
$pickupPointAddress->id_customer = (int) $order->id_customer;
$pickupPointAddress->alias = 'COLISSIMO POINT PICKUP '.(int) $pickupPoint->id;
$pickupPointAddress->lastname = pSQL($customer->lastname);
$pickupPointAddress->firstname = pSQL($customer->firstname);
$pickupPointAddress->lastname = pSQL($deliveryAddress->lastname);
$pickupPointAddress->firstname = pSQL($deliveryAddress->firstname);
$pickupPointAddress->company = pSQL($pickupPoint->company_name);
$pickupPointAddress->address1 = pSQL($pickupPoint->address1);
$pickupPointAddress->address2 = pSQL($pickupPoint->address2);

View File

@@ -92,7 +92,7 @@ class Colissimo extends CarrierModule
$this->name = 'colissimo';
$this->tab = 'shipping_logistics';
$this->version = '1.4.0';
$this->version = '1.4.1';
$this->module_key = 'cce3f48c72001910b4bbda7b7492b5ba';
$this->author = 'Colissimo';
$this->need_instance = 0;

View File

@@ -2,7 +2,7 @@
<module>
<name>colissimo</name>
<displayName><![CDATA[Colissimo - Officiel : G&eacute;rer vos exp&eacute;ditions avec Colissimo.]]></displayName>
<version><![CDATA[1.4.0]]></version>
<version><![CDATA[1.4.1]]></version>
<description><![CDATA[Ce module vous permettra d&rsquo;int&eacute;grer l&rsquo;affichage des points de retrait sur votre site, d&rsquo;imprimer vos &eacute;tiquettes&nbsp;depuis votre back office ou Coliship et&nbsp;de proposer le suivi des exp&eacute;ditions &agrave; vos clients.]]></description>
<author><![CDATA[Colissimo]]></author>
<tab><![CDATA[shipping_logistics]]></tab>

View File

@@ -1215,6 +1215,17 @@ class AdminColissimoAffranchissementController extends ModuleAdminController
$insurance = 0;
}
}
$isoOutreMerFtd = ColissimoTools::$isoOutreMer;
if (($key = array_search('YT', $isoOutreMerFtd)) !== false) {
unset($isoOutreMerFtd[$key]);
}
if (($key = array_search('PM', $isoOutreMerFtd)) !== false) {
unset($isoOutreMerFtd[$key]);
}
$productCode = $colissimoService->product_code;
$isoCustomerAddr = Country::getIsoById((int) $deliveryAddr->id_country);
$ftd = in_array($isoCustomerAddr, $isoOutreMerFtd) && $productCode == 'CDS' ? 1 : 0;
$data = array(
'id_order' => $idOrder,
'address_valid' => ColissimoTools::validateDeliveryAddress($deliveryAddr),
@@ -1223,18 +1234,21 @@ class AdminColissimoAffranchissementController extends ModuleAdminController
'relais' => $colissimoService->type === ColissimoService::TYPE_RELAIS,
'service' => $colissimoService->commercial_name,
'insurance' => $insurance,
'ftd' => $ftd,
);
$this->context->smarty->assign(array('order' => $data, 'key' => $idColissimoOrder));
$htmlAddress = $this->createTemplate('_partials/td-affranchissement-delivery-address.tpl')->fetch();
$htmlService = $this->createTemplate('_partials/td-affranchissement-service.tpl')->fetch();
$htmlInsurance = $this->createTemplate('_partials/td-affranchissement-insurance.tpl')->fetch();
$htmlFtd = $this->createTemplate('_partials/td-affranchissement-ftd.tpl')->fetch();
$return = array(
'error' => false,
'html_address' => $htmlAddress,
'html_service' => $htmlService,
'html_insurance' => $htmlInsurance,
'html_ftd' => $htmlFtd,
'order' => $data,
);
$this->ajaxDie(json_encode($return));

View File

@@ -684,7 +684,7 @@ class AdminColissimoLabelController extends ModuleAdminController
if (isset($documents['label'])) {
$requests = array();
if (Configuration::get('COLISSIMO_USE_THERMAL_PRINTER') && Configuration::get('COLISSIMO_USE_ETHERNET')) {
$params = 'port=ETHERNET&adresseIp='.Configuration::get('COLISSIMO_PRINTER_IP_ADDR');
$params = 'port=ETHERNET&protocole=&adresseIp='.Configuration::get('COLISSIMO_PRINTER_IP_ADDR');
} else {
$params = 'port=USB&protocole='.Configuration::get('COLISSIMO_USB_PROTOCOLE').'&adresseIp=';
}
@@ -718,7 +718,7 @@ class AdminColissimoLabelController extends ModuleAdminController
public function ajaxProcessPrintLabelThermal()
{
if (Configuration::get('COLISSIMO_USE_THERMAL_PRINTER') && Configuration::get('COLISSIMO_USE_ETHERNET')) {
$params = 'port=ETHERNET&adresseIp='.Configuration::get('COLISSIMO_PRINTER_IP_ADDR');
$params = 'port=ETHERNET&protocole=&adresseIp='.Configuration::get('COLISSIMO_PRINTER_IP_ADDR');
} else {
$params = 'port=USB&protocole='.Configuration::get('COLISSIMO_USB_PROTOCOLE').'&adresseIp=';
}

View File

@@ -54,29 +54,155 @@ class ColissimoTrackingModuleFrontController extends ModuleFrontController
/** @var array $days */
public $days = array(
1 => array('fr' => 'lundi', 'en' => 'monday,', 'de' => 'Montag,', 'nl' => 'maandag', 'it' => 'lunedi', 'es' => 'lunes,'),
2 => array('fr' => 'mardi', 'en' => 'tuesday,', 'de' => 'Dienstag,', 'nl' => 'dinsdag', 'it' => 'martedì', 'es' => 'martes,'),
3 => array('fr' => 'mercredi', 'en' => 'wednesday,', 'de' => 'Mittwoch,', 'nl' => 'woensdag', 'it' => 'mercoledì', 'es' => 'miércoles,'),
4 => array('fr' => 'jeudi', 'en' => 'thursday,', 'de' => 'Donnerstag,', 'nl' => 'donderdag', 'it' => 'giovedi', 'es' => 'jueves,'),
5 => array('fr' => 'vendredi', 'en' => 'friday,', 'de' => 'Freitag,', 'nl' => 'vrijdag', 'it' => 'venerdì', 'es' => 'viernes,'),
6 => array('fr' => 'samedi', 'en' => 'saturday,', 'de' => 'Samstag,', 'nl' => 'zaterdag', 'it' => 'sabato', 'es' => 'sábado,'),
7 => array('fr' => 'dimanche', 'en' => 'sunday,', 'de' => 'Sonntag,', 'nl' => 'zondag', 'it' => 'domenica', 'es' => 'domingo,'),
1 => array(
'fr' => 'lundi',
'en' => 'monday,',
'de' => 'Montag,',
'nl' => 'maandag',
'it' => 'lunedi',
'es' => 'lunes,',
),
2 => array(
'fr' => 'mardi',
'en' => 'tuesday,',
'de' => 'Dienstag,',
'nl' => 'dinsdag',
'it' => 'martedì',
'es' => 'martes,',
),
3 => array(
'fr' => 'mercredi',
'en' => 'wednesday,',
'de' => 'Mittwoch,',
'nl' => 'woensdag',
'it' => 'mercoledì',
'es' => 'miércoles,',
),
4 => array(
'fr' => 'jeudi',
'en' => 'thursday,',
'de' => 'Donnerstag,',
'nl' => 'donderdag',
'it' => 'giovedi',
'es' => 'jueves,',
),
5 => array(
'fr' => 'vendredi',
'en' => 'friday,',
'de' => 'Freitag,',
'nl' => 'vrijdag',
'it' => 'venerdì',
'es' => 'viernes,',
),
6 => array(
'fr' => 'samedi',
'en' => 'saturday,',
'de' => 'Samstag,',
'nl' => 'zaterdag',
'it' => 'sabato',
'es' => 'sábado,',
),
7 => array(
'fr' => 'dimanche',
'en' => 'sunday,',
'de' => 'Sonntag,',
'nl' => 'zondag',
'it' => 'domenica',
'es' => 'domingo,',
),
);
/** @var array $months */
public $months = array(
1 => array('fr' => 'janvier', 'en' => 'january', 'de' => 'januar', 'nl' => 'januari', 'it' => 'gennaio', 'es' => 'de enero'),
2 => array('fr' => 'février', 'en' => 'february', 'de' => 'februar', 'nl' => 'februari', 'it' => 'febbraio', 'es' => 'de febrero'),
3 => array('fr' => 'mars', 'en' => 'march', 'de' => 'märz', 'nl' => 'maart', 'it' => 'marzo', 'es' => 'de marzo'),
4 => array('fr' => 'avril', 'en' => 'april', 'de' => 'april', 'nl' => 'april', 'it' => 'aprile', 'es' => 'de abril'),
1 => array(
'fr' => 'janvier',
'en' => 'january',
'de' => 'januar',
'nl' => 'januari',
'it' => 'gennaio',
'es' => 'de enero',
),
2 => array(
'fr' => 'février',
'en' => 'february',
'de' => 'februar',
'nl' => 'februari',
'it' => 'febbraio',
'es' => 'de febrero',
),
3 => array(
'fr' => 'mars',
'en' => 'march',
'de' => 'märz',
'nl' => 'maart',
'it' => 'marzo',
'es' => 'de marzo',
),
4 => array(
'fr' => 'avril',
'en' => 'april',
'de' => 'april',
'nl' => 'april',
'it' => 'aprile',
'es' => 'de abril',
),
5 => array('fr' => 'mai', 'en' => 'may', 'de' => 'mai', 'nl' => 'mei', 'it' => 'maggio', 'es' => 'de mayo'),
6 => array('fr' => 'juin', 'en' => 'june', 'de' => 'juni', 'nl' => 'juni', 'it' => 'giugno', 'es' => 'de junio'),
7 => array('fr' => 'juillet', 'en' => 'july', 'de' => 'juli', 'nl' => 'juli', 'it' => 'luglio', 'es' => 'de julio'),
8 => array('fr' => 'août', 'en' => 'august', 'de' => 'august', 'nl' => 'augustus', 'it' => 'agosto', 'es' => 'de agosto'),
9 => array('fr' => 'septembre', 'en' => 'september', 'de' => 'september', 'nl' => 'september', 'it' => 'settembre', 'es' => 'de septiembre'),
10 => array('fr' => 'octobre', 'en' => 'october', 'de' => 'oktober', 'nl' => 'oktober', 'it' => 'ottobre', 'es' => 'de octubre'),
11 => array('fr' => 'novembre', 'en' => 'november', 'de' => 'november', 'nl' => 'november', 'it' => 'novembre', 'es' => 'de noviembre'),
12 => array('fr' => 'décembre', 'en' => 'december', 'de' => 'dezember', 'nl' => 'december', 'it' => 'dicembre', 'es' => 'de diciembre'),
6 => array(
'fr' => 'juin',
'en' => 'june',
'de' => 'juni',
'nl' => 'juni',
'it' => 'giugno',
'es' => 'de junio',
),
7 => array(
'fr' => 'juillet',
'en' => 'july',
'de' => 'juli',
'nl' => 'juli',
'it' => 'luglio',
'es' => 'de julio',
),
8 => array(
'fr' => 'août',
'en' => 'august',
'de' => 'august',
'nl' => 'augustus',
'it' => 'agosto',
'es' => 'de agosto',
),
9 => array(
'fr' => 'septembre',
'en' => 'september',
'de' => 'september',
'nl' => 'september',
'it' => 'settembre',
'es' => 'de septiembre',
),
10 => array(
'fr' => 'octobre',
'en' => 'october',
'de' => 'oktober',
'nl' => 'oktober',
'it' => 'ottobre',
'es' => 'de octubre',
),
11 => array(
'fr' => 'novembre',
'en' => 'november',
'de' => 'november',
'nl' => 'november',
'it' => 'novembre',
'es' => 'de noviembre',
),
12 => array(
'fr' => 'décembre',
'en' => 'december',
'de' => 'dezember',
'nl' => 'december',
'it' => 'dicembre',
'es' => 'de diciembre',
),
);
/**
@@ -161,35 +287,17 @@ class ColissimoTrackingModuleFrontController extends ModuleFrontController
parent::initContent();
$hash = md5($this->order->reference.$this->order->secure_key);
$labels = $this->colissimoOrder->getShipments($this->context->language->id);
$this->context->smarty->assign(
array(
'colissimo_img_path' => $this->module->getPathUri().'views/img/',
'order_reference' => $this->order->reference,
'order_hash' => $hash,
'no_labels' => (!$labels || empty($labels)) ? 1 : 0,
)
);
$this->context->smarty->assign(array(
'colissimo_img_path' => $this->module->getPathUri().'views/img/',
'order_reference' => $this->order->reference,
'order_hash' => $hash,
'no_labels' => (!$labels || empty($labels)) ? 1 : 0,
'noindex' => true,
'nofollow' => true,
));
$this->setTemplate($this->module->psFolder.'/tracking.tpl');
}
/**
* @param array $events
* @return array
* @throws PrestaShopException
*/
// public function getEvents($events)
// {
// $return = array();
// foreach ($events as $event) {
// $return[] = array_merge(
// array('dateDisplay' => Tools::displayDate(date('Y-m-d H:i:s', $event['date'] / 1000))),
// $event
// );
// }
//
// return $return;
// }
/**
* @throws Exception
* @throws PrestaShopDatabaseException
@@ -310,10 +418,10 @@ class ColissimoTrackingModuleFrontController extends ModuleFrontController
}
$shipment = array(
'messages' => $trackingResponse->messages,
'user_messages' => $trackingResponse->userMessages,
'messages' => $trackingResponse->messages,
'user_messages' => $trackingResponse->userMessages,
'steps_timeline' => $trackingResponse->timeline,
'steps_details' => $trackingResponse->events,
'steps_details' => $trackingResponse->events,
'parcel_details' => $trackingResponse->parcelDetails,
);
$this->context->smarty->assign(array('shipment' => $shipment));

View File

@@ -31,3 +31,5 @@
[2020-10-05 18:36:06] Colissimo_1_4_0_Install.INFO: Saved service RETOUR: 16 [] []
[2020-10-05 18:36:06] Colissimo_1_4_0_Install.INFO: Saved service RETOUR: 17 [] []
[2020-10-05 18:36:06] Colissimo_1_4_0_Install.INFO: Tracking codes created. 0 errors thrown. [] []
[2020-10-19 16:15:47] Colissimo_1_4_1_ModuleUpgrade.INFO: Module upgrade. Version 1.4.1 [] []
[2020-10-19 16:15:47] Colissimo_1_4_1_ModuleUpgrade.INFO: Module upgraded. [] []

View File

@@ -0,0 +1,48 @@
<?php
/**
* 2007-2020 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/osl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2020 PrestaShop SA
* @license http://opensource.org/licenses/osl-3.0.php Open Software License (OSL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*/
if (!defined('_PS_VERSION_')) {
exit;
}
/**
* Upgrade to 1.4.1
*
* @param $module Colissimo
* @return bool
*/
function upgrade_module_1_4_1($module)
{
$logsEnabled = Configuration::get('COLISSIMO_LOGS');
Configuration::updateValue('COLISSIMO_LOGS', 1);
$module->initLogger();
$module->logger->setChannel('ModuleUpgrade');
$module->logger->info('Module upgrade. Version 1.4.1');
$module->logger->info('Module upgraded.');
Configuration::updateValue('COLISSIMO_LOGS', (int) $logsEnabled);
return true;
}

View File

@@ -88,6 +88,7 @@
row.find('td.colissimo-delivery-addr').html(data.html_address);
row.find('td.colissimo-service').html(data.html_service);
row.find('td.colissimo-insurance').html(data.html_insurance);
row.find('td.colissimo-ta').html(data.html_ftd);
if (data.order.relais) {
row.find('td.colissimo-d150 input[type="checkbox"]').prop('disabled', true);
} else {

View File

@@ -0,0 +1,29 @@
{*
* 2007-2020 PrestaShop
*
* NOTICE OF LICENSE
*
* This source file is subject to the Academic Free License (AFL 3.0)
* that is bundled with this package in the file LICENSE.txt.
* It is also available through the world-wide-web at this URL:
* http://opensource.org/licenses/afl-3.0.php
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to license@prestashop.com so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to http://www.prestashop.com for more information.
*
* @author PrestaShop SA <contact@prestashop.com>
* @copyright 2007-2020 PrestaShop SA
* @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0)
* International Registered Trademark & Property of PrestaShop SA
*}
<input {if !$order.ftd}disabled="disabled"{/if}
type="checkbox"
name="colissimo_ta_{$key|intval}"
/>

View File

@@ -89,7 +89,7 @@
{include file="../_partials/td-affranchissement-insurance.tpl"}
</td>
<td class="text-center colissimo-ta">
<input {if !$order.ftd}disabled="disabled"{/if} type="checkbox" name="colissimo_ta_{$key|intval}"/>
{include file="../_partials/td-affranchissement-ftd.tpl"}
</td>
<td class="text-center colissimo-d150">
<input {if $order.relais}disabled="disabled"{/if} type="checkbox" name="colissimo_d150_{$key|intval}"/>

View File

@@ -404,22 +404,14 @@
<span>{l s='Country' mod='colissimo'}</span>
</label>
<div class="col-lg-9">
<select name="sender_country" class="chosen fixed-width-lg" style="display: none;">
<select id="colissimo-country" name="sender_country" class="cls-chosen fixed-width-xl" style="display: none;">
{foreach from=$address_countries key=iso item=name}
<option value="{$iso|escape:'html':'UTF-8'}"
{if $form_data['sender_country'] == $iso }selected{/if}>
{$name|escape:'html':'UTF-8'}
</option>
<option value="{$iso|escape:'html':'UTF-8'}"
{if $form_data['sender_country'] == $iso }selected{/if}>
{$name|escape:'html':'UTF-8'}
</option>
{/foreach}
</select>
<div class="chosen-container chosen-container-single chosen-container-single-nosearch"
style="width: 250px;"
title="">
</div>
</div>
<div class="col-lg-9 col-lg-offset-3"></div>
</div>
@@ -576,7 +568,6 @@
id="return-address2"
name="return_address2"
class="input fixed-width-xxl"
required="required"
value="{$form_data['return_address2']|escape:'htmlall':'UTF-8'}"
data-maxchar="35"
maxlength="35">
@@ -596,7 +587,6 @@
id="return-address3"
name="return_address3"
class="input fixed-width-xxl"
required="required"
value="{$form_data['return_address3']|escape:'htmlall':'UTF-8'}"
data-maxchar="35"
maxlength="35">
@@ -616,7 +606,6 @@
id="return-address4"
name="return_address4"
class="input fixed-width-xxl"
required="required"
value="{$form_data['return_address4']|escape:'htmlall':'UTF-8'}"
data-maxchar="35"
maxlength="35">
@@ -664,7 +653,7 @@
<span>{l s='Country' mod='colissimo'}</span>
</label>
<div class="col-lg-9">
<select name="return_country" class="chosen fixed-width-lg" style="display: none;">
<select name="return_country" class="cls-chosen fixed-width-lg" style="display: none;">
{foreach from=$address_countries key=iso item=name}
<option value="{$iso|escape:'html':'UTF-8'}"
{if $form_data['return_country'] == $iso }selected{/if}>
@@ -672,20 +661,6 @@
</option>
{/foreach}
</select>
<div class="chosen-container chosen-container-single chosen-container-single-nosearch"
style="width: 100%;"
title="">
<a class="chosen-single" tabindex="-1">
<span>France</span>
<div><b></b></div>
</a>
<div class="chosen-drop">
<div class="chosen-search">
<input type="text" autocomplete="off" readonly="">
</div>
<ul class="chosen-results"></ul>
</div>
</div>
</div>
<div class="col-lg-9 col-lg-offset-3"></div>
</div>
@@ -729,7 +704,7 @@
</div>
</div>
<div class="panel-footer">
<button type="submit" class="btn btn-default pull-right" name="submitColissimoreturnAddressConfigForm">
<button type="submit" class="btn btn-default pull-right" name="submitColissimoReturnAddressConfigForm">
<i class="process-icon-save"></i> {l s='Save' mod='colissimo'}
</button>
</div>
@@ -757,5 +732,9 @@
testWSCredentials(colissimoCheckCredentials);
});
});
$('select.cls-chosen').each(function(k, item){
$(item).chosen({disable_search_threshold: 5, search_contains: true, width: '200px', });
});
</script>
{/literal}