PapiDi Posted June 9, 2013 Share Posted June 9, 2013 Друзья, подскажите, как я могу переставить модуль прикрепленный к displayTop не отвязывая его? Двумя словами, надо изменить размер и местоположение слайдера, но чтобы он оставался виден на всех страницах вместе с горизонтальным меню (blocktopmenu). Спасибо. Link to comment Share on other sites More sharing options...
absent Posted June 10, 2013 Share Posted June 10, 2013 в php модуля сменить хук для установки и отображения с home на top Link to comment Share on other sites More sharing options...
PapiDi Posted June 10, 2013 Author Share Posted June 10, 2013 буду признателен, если подробнее объясните, спасибо... Link to comment Share on other sites More sharing options...
absent Posted June 10, 2013 Share Posted June 10, 2013 в функции install и снизу файла отображение. public function install() { /* Adds Module */ if (parent::install() && $this->registerHook('Top') && $this->registerHook('actionShopDataDuplication')) { /* Sets up configuration */ $res = Configuration::updateValue('HOMESLIDER_WIDTH', '535'); $res &= Configuration::updateValue('HOMESLIDER_HEIGHT', '300'); $res &= Configuration::updateValue('HOMESLIDER_SPEED', '500'); $res &= Configuration::updateValue('HOMESLIDER_PAUSE', '3000'); $res &= Configuration::updateValue('HOMESLIDER_LOOP', '1'); /* Creates tables */ $res &= $this->createTables(); /* Adds samples */ if ($res) $this->installSamples(); return $res; } return false; } это инсталл и ещё public function hookDisplayHome() { if(!$this->_prepareHook()) return; // Check if not a mobile theme if ($this->context->getMobileDevice() != false) return false; $this->context->controller->addJS($this->_path.'js/jquery.bxSlider.min.js'); $this->context->controller->addCSS($this->_path.'bx_styles.css'); $this->context->controller->addJS($this->_path.'js/homeslider.js'); return $this->display(__FILE__, 'homeslider.tpl', $this->getCacheId()); } Заменить на public function hookTop() { if(!$this->_prepareHook()) return; // Check if not a mobile theme if ($this->context->getMobileDevice() != false) return false; $this->context->controller->addJS($this->_path.'js/jquery.bxSlider.min.js'); $this->context->controller->addCSS($this->_path.'bx_styles.css'); $this->context->controller->addJS($this->_path.'js/homeslider.js'); return $this->display(__FILE__, 'homeslider.tpl', $this->getCacheId()); } Link to comment Share on other sites More sharing options...
PapiDi Posted June 10, 2013 Author Share Posted June 10, 2013 у меня такой инсталл там и стоит в нем прописать или заменить на Ваш, то сайт не грузится (белый экран): public function install() { if (parent::install() && $this->installDB() && $this->insertOptions() && $this->registerHook('displayTop') && $this->registerHook('displayHeader') && $this->registerHook('displayAdminHomeQuickLinks') && $this->registerHook('displayBackOfficeHeader') && Configuration::updateValue('PS_MINIC_SLIDER_FIRST', '1')){ return true; }else{ $this->uninstall(); return false; } } а из хуков связанных с Home прописаны только эти: public function hookHome($position = '') { $id_lang = (int)Configuration::get('PS_LANG_DEFAULT'); $id_shop = $this->context->shop->id; $options = Db::getInstance()->getRow('SELECT * FROM `'._DB_PREFIX_.'minic_options`'); if($options['single'] == 1) $id_lang = $this->context->language->id; $slides = Db::getInstance()->ExecuteS('SELECT * FROM `'._DB_PREFIX_.'minic_slider` WHERE (id_lang ='.$id_lang.' AND id_shop = '.$id_shop.' AND active = 1) ORDER BY id_order ASC'); $this->context->smarty->assign('slides', $slides); $this->context->smarty->assign('minicSlider', array( 'options' => array( 'current' => $options['current'], 'slices' => $options['slices'], 'cols' => $options['cols'], 'rows' => $options['rows'], 'speed' => $options['speed'], 'pause' => $options['pause'], 'manual' => $options['manual'], 'hover' => $options['hover'], 'buttons' => $options['buttons'], 'control' => $options['control'], 'thumbnail' => $options['thumbnail'], 'random' => $options['random'], 'startSlide' => $options['start_slide'], 'single' => $options['single'], 'width' => $options['width'], 'height' => $options['height'], 'front' => $options['front'] ), 'path' => array( 'images' => $this->_path.'uploads/', 'thumbs' => $this->_path.'uploads/thumbs/' ), 'position' => $position )); return $this->display(__FILE__, 'views/templates/front/front.tpl'); } public function hookLeftColumn() { return $this->hookHome('left'); } public function hookRightColumn() { return $this->hookHome('right'); } public function hookDisplayTop() { return $this->hookHome('top'); } } Link to comment Share on other sites More sharing options...
PapiDi Posted June 10, 2013 Author Share Posted June 10, 2013 Смотрите, вот этот слайдер http://www.prestashop.com/forums/topic/194690-free-module-minic-slider-for-ps-15/ Вот страничка http://www.podarokvdar.ru/index.php? ..мне слайдер надо поставить в шапку сверху слева над горизонтальным меню, где двигать и менять размер, не отвязывая его от displayTop, не пойму. Link to comment Share on other sites More sharing options...
PapiDi Posted June 10, 2013 Author Share Posted June 10, 2013 Link to comment Share on other sites More sharing options...
absent Posted June 10, 2013 Share Posted June 10, 2013 замени у хука displayhome на top чтоб было hooktop и удет в топ ставиться а потом в расположении уже двигать Link to comment Share on other sites More sharing options...
Recommended Posts