Jump to content

Переместить модуль привязанный к displayTop


Recommended Posts

Друзья, подскажите, как я могу переставить модуль прикрепленный к displayTop не отвязывая его?

Двумя словами, надо изменить размер и местоположение слайдера, но чтобы он оставался виден на всех страницах вместе с горизонтальным меню (blocktopmenu). Спасибо.

Link to comment
Share on other sites

в функции 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

у меня такой инсталл там и стоит в нем прописать или заменить на Ваш, то сайт не грузится (белый экран):

 

 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

Смотрите, вот этот слайдер 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

×
×
  • Create New...