Сторонний highslide.js для доп. изображений в карточке товара

5 года 9 мес. назад #2867 от Delik
Всем привет.
Интересует как прикрутить сторонний скрипт highslide.js к изображениям товара (и доп. изображениям) карточке товара?

В категории сделал - там всё просто оказалось:
<a href="<?php echo $product_full_image ?>" class="highslide" onclick="return hs.expand(this)">
<?php echo ps_product::image_tag( $product_thumb_image, 'class="browseProductImage" border="0" title="'.$product_name.'" alt="'.$product_name .'"' ) ?>
</a>

тоесть в ссылку добавляется
class="highslide" onclick="return hs.expand(this)"

но в карточке товара вывод картинок генерируется на php в theme.php
Подскажите пожалуйста как реализовать?

vm 1.1.5 / Буду очень признателен

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 9 мес. назад - 5 года 9 мес. назад #2868 от Merkury
что-то не пойму в чем сложность...
Что мешает в шаблоне карточки (в том что вы испольуете, к примеру flypage-ask) написать как-то так
<нужныйтег class="нужный класс">
  <?= ps_product::image_tag( urldecode($product_thumb_image), 'class="browseProductImage чехочутоиворочу" border="0" title="'.$product_name.'" alt="'.$product_name .'"' ) ?>
</нужныйтег>


т.е. все так как вы сделали для категории?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 9 мес. назад - 5 года 9 мес. назад #2869 от Delik
Merkury, спасибо, получилось с основным изображением на карточке товара - код:
<a href="components/com_virtuemart/shop_image/product/<?php echo $product_full_image ?>" class="highslide" onclick="return hs.expand(this)">
<?php echo ps_product::image_tag( $product_thumb_image, 'border="0" title="'.$product_name.'" alt="'.$product_name .'"' ) ?>
</a>

Но как быть с дополнительными изображениями?
они выводятся следующей меткой в флайпэйдж:
<?php echo $this->vmlistAdditionalImages( $product_id, $images ) ?>
Видимо править надо то, где генерируется код этой метки, тоесть theme.php?

Вот пример карточки товара:
http://http://co-plus.ru/mart.html?page=shop.product_details&flypage=flypage-ask.tpl&product_id=21&category_id=1

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 9 мес. назад - 5 года 9 мес. назад #2870 от Merkury
в вашей теме есть файл theme.php, там есть функция vmMoreImagesLink вот и измените ее под себя, покрайней мере посмотрите что там происходит, так же эта функция вызывается в administrator/components/com_virtuemart/html/shop.productd_detales.php по идее там же формируется список этих файлов, это надо смотреть, у меня пока первый машгазин и задач не возникало с доп картинками, поэтому не смотрел, а специально копаться нет времени, спать пора...

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 9 мес. назад #2871 от Merkury
покопайтесь и пожалуйста отпишетсь, самому тож стало интересно, но задач выше крыше что бы и с интересами разбираться :-)

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 9 мес. назад #2889 от Delik

Merkury пишет: покопайтесь и пожалуйста отпишетсь, самому тож стало интересно, но задач выше крыше что бы и с интересами разбираться :-)


решение:

файл theme.php — :121 :124 строчки

заменил на:
$html .= "<a href=\"{$image->file_url}\" title=\"$title\" class=\"highslide\" onclick=\"return hs.expand(this)\">$thumbtag</a>";

вся функция:
function vmlistAdditionalImages( $product_id, $images, $title='', $limit=1000 ) {
		global $sess;
		$html = '';
		$i = 0;
		foreach( $images as $image ) { 
			$thumbtag = ps_product::image_tag( $image->file_name, 'class="browseProductImage"', 1, 'product', $image->file_image_thumb_width, $image->file_image_thumb_height );
			$fulladdress = $sess->url( 'index2.php?page=shop.view_images&amp;image_id='.$image->file_id.'&amp;product_id='.$product_id.'&amp;pop=1' );
 
			if( $this->get_cfg('useLightBoxImages', 1 )) {
				$html .= "<a href=\"{$image->file_url}\" title=\"$title\" class=\"highslide\" onclick=\"return hs.expand(this)\">$thumbtag</a>";
			}
			else {
				$html .= "<a href=\"{$image->file_url}\" title=\"$title\" class=\"highslide\" onclick=\"return hs.expand(this)\">$thumbtag</a>";
			}
			$html .= ' ';
			if( ++$i > $limit ) break;
		}
		return $html;

пример работы: http://co- plus.ru/mart.html?page=shop.product_details&flypage=flypage-ask.tpl&product_id=23&category_id=1 (без пробела)

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 9 мес. назад - 5 года 9 мес. назад #2890 от Delik
Да, вот сам скрипт где брал (хайслайд) - очень много возможностей у него
ruseller.com/adds.php?rub=12&id=1659

кому интересно пользуйтсь, кайфовый

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 года 9 мес. назад #2891 от Merkury
За самостоятельную работу +1)

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.


Вверх