* @copyright 2007-2012 PrestaShop SA * @version Release: $Revision: 14011 $ * @license http://opensource.org/licenses/afl-3.0.php Academic Free License (AFL 3.0) * International Registered Trademark & Property of PrestaShop SA */ if (!defined('_PS_VERSION_')) exit; class BlockSearch extends Module { public function __construct() { $this->name = 'blocksearch'; $this->tab = 'search_filter'; $this->version = 1.0; $this->author = 'PrestaShop'; $this->need_instance = 0; parent::__construct(); $this->displayName = $this->l('Quick Search block'); $this->description = $this->l('Adds a block with a quick search field.'); } public function install() { if (!parent::install() OR !$this->registerHook('top') OR !$this->registerHook('leftColumn') OR !$this->registerHook('rightColumn') OR !$this->registerHook('header') ) return false; return true; } public function hookHeader($params) { if (Configuration::get('PS_SEARCH_AJAX')) { Tools::addCSS(_PS_CSS_DIR_.'jquery.autocomplete.css'); Tools::addJS(_PS_JS_DIR_.'jquery/jquery.autocomplete.js'); } Tools::addCSS(_THEME_CSS_DIR_.'product_list.css'); Tools::addCSS(($this->_path).'blocksearch.css', 'all'); } public function hookLeftColumn($params) { return $this->hookRightColumn($params); } public function hookRightColumn($params) { $this->_hookCommon($params); return $this->display(__FILE__, 'blocksearch.tpl'); } public function hookTop($params) { $this->_hookCommon($params); return $this->display(__FILE__, 'blocksearch-top.tpl'); } /** * _hookAll has to be called in each hookXXX methods. This is made to avoid code duplication. * * @param mixed $params * @return void */ private function _hookCommon($params) { global $smarty; $smarty->assign('ENT_QUOTES', ENT_QUOTES); $smarty->assign('search_ssl', (int)Tools::usingSecureMode()); $smarty->assign('ajaxsearch', Configuration::get('PS_SEARCH_AJAX')); $smarty->assign('instantsearch', Configuration::get('PS_INSTANT_SEARCH')); return true; } }