Jump to content

Moduł block banner - jak zrobić slajdy?


Recommended Posts

Jest jakiś slider pod 1.6.0.6? Mam homeslider z wersji bodajze 1.4 no i na dodatek: Ten moduł nie może zostać przeniesiony do tego zaczepienia.

Dzięki likebox śmiga :)

 

Dlaczego na szybki podgląd produktu przycina ikone dodaj do koszyka?

Edited by eRlan (see edit history)
Link to comment
Share on other sites

jak nie może zostać przeniesiony, to trzeba go zmodyfikować, by mógł ;)

innej opcji nie ma

 

poza tym, powiem szczerze, że nie znam slidera któryby pozwalał na umieszczenie slidera w tym miejscu - dość świeży to temat (displayNav jak i presta 1.6), może dlatego.

 

w każdym razie, 

w kodzie php modułu dodaj taką funkcję:

	public function hookdisplayNav($params)
	{
		return $this->hookdisplayTopColumn($params);
	}

następnie podepnij moduł pod ten hook. zacznie działać.

Link to comment
Share on other sites

nie mogę nadać chmod'ów na katalog modules/homeslider aby zapisać edytowany homeslider.php.. w themes/default-bootstrap/modules/homeslider nie ma tego pliku, co w takim razie?

 

ok juz chmody nadałem, tak jakby był przypisany inny właściciel do katalogu z pozycji mojego hostingu, ale poradziłem na to, zaraz dam znać co z tym slajderem

 

dodałem w homeslider.php, nadpisałem, przeniosłem moduł do homenav i zniknęło wszystko na stronie, zostało tylko tło..

 

 

Dlaczego na szybki podgląd produktu przycina ikone dodaj do koszyka?

Edited by eRlan (see edit history)
Link to comment
Share on other sites

public function hookdisplayTop(){
	if(!$this->_prepareHook())
	return;
 
	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');
}
	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 clearCache()
	{
		$this->_clearCache('homeslider.tpl');
	}

	public function hookActionShopDataDuplication($params)
	{
		Db::getInstance()->execute('
		INSERT IGNORE INTO '._DB_PREFIX_.'homeslider (id_homeslider_slides, id_shop)
		SELECT id_homeslider_slides, '.(int)$params['new_id_shop'].'
		FROM '._DB_PREFIX_.'homeslider
		WHERE id_shop = '.(int)$params['old_id_shop']);
		$this->clearCache();
	}

	public function headerHTML()
	{
		if (Tools::getValue('controller') != 'AdminModules' && Tools::getValue('configure') != $this->name)
			return;

		$this->context->controller->addJqueryUI('ui.sortable');
		/* Style & js for fieldset 'slides configuration' */
		$html = '
		<style>
		#slides li {
			list-style: none;
			margin: 0 0 4px 0;
			padding: 10px;
			background-color: #F4E6C9;
			border: #CCCCCC solid 1px;
			color:#000;
		}
		</style>
		
		<script type="text/javascript">
			$(function() {
				var $mySlides = $("#slides");
				$mySlides.sortable({
					opacity: 0.6,
					cursor: "move",
					update: function() {
						var order = $(this).sortable("serialize") + "&action=updateSlidesPosition";
						$.post("'.$this->context->shop->physical_uri.$this->context->shop->virtual_uri.'modules/'.$this->name.'/ajax_'.$this->name.'.php?secure_key='.$this->secure_key.'", order);
						}
					});
				$mySlides.hover(function() {
					$(this).css("cursor","move");
					},
					function() {
					$(this).css("cursor","auto");
				});
			});
		</script>';

		return $html;
	}

	public function getNextPosition()
	{
		$row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow('
				SELECT MAX(hss.`position`) AS `next_position`
				FROM `'._DB_PREFIX_.'homeslider_slides` hss, `'._DB_PREFIX_.'homeslider` hs
				WHERE hss.`id_homeslider_slides` = hs.`id_homeslider_slides` AND hs.`id_shop` = '.(int)$this->context->shop->id
		);

		return (++$row['next_position']);
	}

	public function getSlides($active = null)
	{
		$this->context = Context::getContext();
		$id_shop = $this->context->shop->id;
		$id_lang = $this->context->language->id;

		return Db::getInstance(_PS_USE_SQL_SLAVE_)->executeS('
			SELECT hs.`id_homeslider_slides` as id_slide,
					   hssl.`image`,
					   hss.`position`,
					   hss.`active`,
					   hssl.`title`,
					   hssl.`url`,
					   hssl.`legend`,
					   hssl.`description`
			FROM '._DB_PREFIX_.'homeslider hs
			LEFT JOIN '._DB_PREFIX_.'homeslider_slides hss ON (hs.id_homeslider_slides = hss.id_homeslider_slides)
			LEFT JOIN '._DB_PREFIX_.'homeslider_slides_lang hssl ON (hss.id_homeslider_slides = hssl.id_homeslider_slides)
			WHERE (id_shop = '.(int)$id_shop.')
			AND hssl.id_lang = '.(int)$id_lang.
			($active ? ' AND hss.`active` = 1' : ' ').'
			ORDER BY hss.position');
	}

	public function displayStatus($id_slide, $active)
	{
		$title = ((int)$active == 0 ? $this->l('Disabled') : $this->l('Enabled'));
		$img = ((int)$active == 0 ? 'disabled.gif' : 'enabled.gif');
		$html = '<a href="'.AdminController::$currentIndex.
				'&configure='.$this->name.'
				&token='.Tools::getAdminTokenLite('AdminModules').'
				&changeStatus&id_slide='.(int)$id_slide.'" title="'.$title.'"><img src="'._PS_ADMIN_IMG_.''.$img.'" alt="" /></a>';
		return $html;
	}
	
public function hookdisplayNav($params)
	{
		return $this->hookdisplayTopColumn($params);
	}
	
	public function slideExists($id_slide)
	{
		$req = 'SELECT hs.`id_homeslider_slides` as id_slide
				FROM `'._DB_PREFIX_.'homeslider` hs
				WHERE hs.`id_homeslider_slides` = '.(int)$id_slide;
		$row = Db::getInstance(_PS_USE_SQL_SLAVE_)->getRow($req);
		return ($row);
	}
}

od 650 do 793 linii homeslider.php a pod koniec wklejony kod

Link to comment
Share on other sites

×
×
  • Create New...