Перейти к содержанию
Форум поддержки пользователей VamShop

Оптимальный размер картинок


Рекомендуемые сообщения

  • Ответов 53
  • Created
  • Последний ответ

Top Posters In This Topic

  • support

    24

  • hsi

    16

  • ndmitry

    7

  • Elver

    2

да дам, сейчас  прикручиваю highslide  он немножко другой, пока вылетает с ошибками :(

а  huddletogether прикрутился сразу

Ссылка на сообщение
Поделиться на другие сайты

Написал две небольшие заметки:

Добавляем highslide на страницу карточки товара - http://vamshop.ru/support/modules/smartsection/item.php?itemid=22

Добавляем lightbox2 на страницу карточки товара - http://vamshop.ru/support/modules/smartsection/item.php?itemid=23

Ссылка на сообщение
Поделиться на другие сайты

Я хочу в файле new_products.php  добраться до большого рисунка

я так  понял  что  тут

while ($new_products = vam_db_fetch_array($new_products_query, true)) {

$module_content[] = $product->buildDataArray($new_products);

создается масив  module_content с помощю функции buildDataArray класса product,

так  вот одним из элементов этого массива есть  'PRODUCTS_IMAGE' это  и есть имя рисунка?

тогда просто  нужно написать 

$image_pop=DIR_WS_POPUP_IMAGES.$module_content['PRODUCTS_NAME'];

$module_smarty->assign('PRODUCTS_POPUP_IMAGE',$image_pop);

или я  что то неправильно понял?

Ссылка на сообщение
Поделиться на другие сайты

А что за new_products.php ты имеешь в виду?

Тот что в /includes/modules ?!

т.е. это по центру блок который?

Тогда в /includes/classes/product.php попробуй просто новую метку завести для popup картинки в buildDataArray, т.е. после:


'PRODUCTS_IMAGE' => $this->productImage($array['products_image'], $image),
[/code] добавь:
[code]
'PRODUCTS_IMAGE_POP' => $this->productImage($array['products_image'], 'popup'),
Затем в шаблоне /templates/шаблон/module/new_product_default.html (и в любом другом месте можно использовать, если используется builddataarray) метку:

{$PRODUCTS_IMAGE_POP}
[/code]

Зная путь до картинки ты уже легко подключишь highslide тот же или lightbox2.

Если что-то не получается, пиши.

Ссылка на сообщение
Поделиться на другие сайты

Неполучилось  с помощью highslide вывести  надпись  после  рисунка.

когда  задаешь строку

<a id="thumb1" href="{$module_data.PRODUCTS_POPUP_IMAGE}" class="highslide" onclick="return hs.expand(this,{ captionId: 'caption2' })">

<img src="{$module_data.PRODUCTS_IMAGE}" alt="{$module_data.PRODUCTS_NAME}"

title="Нажмите для увеличения"  /> </a>

<div class='highslide-caption' id='caption2'>

    Здесь  текст подпись под рисунком

</div>

вылетает

Fatal error: Smarty error: [in template_xtcs_005-SP2.1/module/new_products_overview.html line 36]: syntax error: unrecognized tag: captionId: 'caption2' (Smarty_Compiler.class.php, line 439) in

а если  на onclick повесть

onclick="return hs.expand(this)"

не выводит вообще надпись  только рисунок.

Ссылка на сообщение
Поделиться на другие сайты

Я тоже пробовал, смарти не нравятся { } скобки.

Попробуй между {literal} и {/literal} вставить эти скобки.

Ссылка на сообщение
Поделиться на другие сайты

а   можно ка кто  залезть  в джава скрипт и там  самому присвоить captionId : 'caption2' ?

Пусть  всеверям  для всех рисунков  выводить надпись.

я не  силен  в JS  поэтому  все мои попытки  это с делать  пока  безуспешны

Получилось:)))) даже очень красиво все

с{literal} получилось всмысле

Ссылка на сообщение
Поделиться на другие сайты

Если я правильно понял, то lightbox2 и highslide после установки, следуя по инструкциям, будут применимы для открытия большого изображения на детальной странице товара. А возможно как-то этот lightbox2 применить и для открытия дополнительных картинок кроме основной?

Ссылка на сообщение
Поделиться на другие сайты

Что б прикрутить к доп. картинкам, твоя задача - это получить ссылку на большую pop-up картинку.

Для этого в /includes/modules/product_info.php после:


                'PRODUCTS_MO_IMAGE' => vam_image(DIR_WS_INFO_IMAGES . $img['image_name'], '', '', '', 'class="mo_img"'),
[/code] добавляй:
[code]
                'PRODUCTS_MO_IMAGE_POP' => DIR_WS_POPUP_IMAGES . $img['image_name'],
теперь у тебя есть метка PRODUCTS_MO_IMAGE_POP, которую ты можешь использовать в шаблоне страницы карточки товара /templates/шаблон/module/product_info/product_info_v1.html Например меняй:

{if $img_values.PRODUCTS_MO_POPUP_LINK !=''}<a href="{$img_values.PRODUCTS_MO_POPUP_LINK}" onclick="window.open('{$img_values.PRODUCTS_MO_POPUP_LINK}', 'popUp', 'toolbar=0,scrollbars=1,location=0,statusbar=0,menubar=0,resizable=1,width=395,height=320'); return false;" target="_blank">{/if}
[/code] на:
[code]
{if $img_values.PRODUCTS_MO_POPUP_LINK !=''}<a href="{$img_values.PRODUCTS_MO_IMAGE_POP}" rel="lightbox" title="{$PRODUCTS_NAME}" target="_blank">{/if}

т.е. смысл точно такой же как и для большой картинки.

Я правда не проверял код, но, по идее, всё правильно.

Ссылка на сообщение
Поделиться на другие сайты

Спасибо, в общем, понятно, только после вставки

{if $img_values.PRODUCTS_MO_POPUP_LINK !=''}<a href="{$img_values.PRODUCTS_MO_IMAGE_POP}" rel="lightbox" title="{$PRODUCTS_NAME}" target

смарти ругается:Fatal error: Smarty error: [in vamshop/module/product_info/product_info_v1.html line 118]: syntax error: invalid attribute name: '{if' (Smarty_Compiler.class.php, line 1547)

Ссылка на сообщение
Поделиться на другие сайты

Ты как-то не всю строку вставил, а часть, вот полная строка:


{if $img_values.PRODUCTS_MO_POPUP_LINK !=''}<a href="{$img_values.PRODUCTS_MO_IMAGE_POP}" rel="lightbox" title="{$PRODUCTS_NAME}" target="_blank">{/if}
[/code]

Видишь, у тебя на target заканчивается и всё, хотя строка не закончена.

Ссылка на сообщение
Поделиться на другие сайты

Ты именно lightbox2 вставляешь или highslide ?!

Если highslide, то посмотри выше совет в этой теме про literal

Ссылка на сообщение
Поделиться на другие сайты

Именно lightbox2 и это работает для картинки хорошо, выдаёт ошибку лишь, когда правишь для дополнительных картинок.

P.S. Да и ещё, надо наверно, при установке lightbox2 файл /jscript/lightbox2/images/closelabel.gif перепишите в папку /images магазина, а не  close.gif

Ссылка на сообщение
Поделиться на другие сайты

Я попробовал вставить эту сроку, нет ошибки.

Наверное ты ещё что-то где-то вставил не так, либо не закрыт if или ещё что-то в этом роде.

Ссылка на сообщение
Поделиться на другие сайты

Даже не знаю, несколько раз пробовал устанавливать всё с нуля. Уточнение... Когда вылезла ошибка, стал пошагово удалять внесённые изменения и заметил, что ошибка исчезает, когда удаляю

'PRODUCTS_MO_IMAGE_POP' => vam_image(DIR_WS_POPUP_IMAGES . $img['image_name'], '', '', '', 'class="mo_img"'),

из файла product_info.php. После этого при клике на допкартинку появляется окно с гификом загрузки и всё, ну, это  понятно... Пробую на денвере.

Ссылка на сообщение
Поделиться на другие сайты

Я проверил, у меня нет ошибок, правда в /includes/product_info.php для доп. картинок лучше использоавть такую строку:


  'PRODUCTS_MO_IMAGE_POP' => DIR_WS_POPUP_IMAGES . $img['image_name'],
[/code]

Ссылка на сообщение
Поделиться на другие сайты
  • 3 weeks later...

Привет, Саша! Привет всем!

Давно не был, зашел немножко "освежить" магазин.

Установил модуль lightbox2, эффект супер (шефу очень понравился, да и мне тоже), но есть баг  :(, если страница не догрузилась полностью (а это как всегда счетчики и баннеры - а без них пока нельзя), то открывается только одна картинка, на белом фоне без эффектов в этом же окне или в новом если добавить target="_blank" в ссылку для увеличения картинки.

Этот баг описан и на главной странице сайта h**p://huddletogether.com  :(

Если случайно кто-то знает яваскрипт и решение ентой проблемы, буду благодарен WMZ!

Ссылка на сообщение
Поделиться на другие сайты

×
×
  • Создать...