Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”

0 Пользователей и 1 Гость просматривают эту тему.

*

sam

  • ***
  • 216
  • +3/-1
  • "Век живи - век учись!"
    • Просмотр профиля
Быстрый просмотр товара
« : 10 Февраль 2017, 18:24:01 »
Здравствуйте! Хочу сделать быстрый просмотр товаров в разделах и на главной странице. Суть - ссылка "Быстрый просмотр", при нажатии на неё popup, а внутри карточка товара (шаблон из ~/catalog/object-view.xsl), и всё это без ajax. Есть понимание, что надо создать div, скрыть его через css, и через javascript сделать так, чтобы при нажатии этот скрытый div с карточкой товара открылся. Как на практике это реализовать, не знаю?! Может кто поможет?
Жизнь слишком коротка, чтобы выучить и знать всё на свете. Тем более, что мир быстро меняется, и технологии за ним тоже. Но это не повод, чтобы перестать учиться к чему-то новому. "Век живи - век учись!" Иначе жизнь будет прожита без пользы, как для себя, так и для окружающих.

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Быстрый просмотр товара
« Ответ #1 : 10 Февраль 2017, 22:36:08 »
если подключать fancybox то очень просто:
делается ссылка
<a href="#qqq">ссылка на открытие окна</a>
и делается див
<div style="display:none">
<div id="qqq">это содержимое откроется внутри всплывающего окна при нажатии на ссылку</div>
</div>
С остальными всплывашками примерно так же.
Мой блог http://umicms.me

*

sam

  • ***
  • 216
  • +3/-1
  • "Век живи - век учись!"
    • Просмотр профиля
Re: Быстрый просмотр товара
« Ответ #2 : 11 Февраль 2017, 12:40:35 »
Спасибо! Попробую реализовать. Если что, ещё напишу.
Жизнь слишком коротка, чтобы выучить и знать всё на свете. Тем более, что мир быстро меняется, и технологии за ним тоже. Но это не повод, чтобы перестать учиться к чему-то новому. "Век живи - век учись!" Иначе жизнь будет прожита без пользы, как для себя, так и для окружающих.

*

sam

  • ***
  • 216
  • +3/-1
  • "Век живи - век учись!"
    • Просмотр профиля
Re: Быстрый просмотр товара
« Ответ #3 : 13 Февраль 2017, 10:55:34 »
Воспользовался Вашим советом, и реализовал аналогичное, но пока без fancybox (отображается div-блок при наведении курсора). Вывожу в этом блоке описание товара (вывожу в ~/modules/catalog/common.xsl, а описание берется из ~/modules/catalog/object-view.xsl). Делаю так:
<div class="quick-view">
Здесь div class="catalog" с названием товара/фото/ценой/наличием/кнопкой купить и т.д. // директива и файл ~/modules/catalog/common.xsl
<div class="quick-view-block">
<xsl:variable name="item" select="document(concat('upage://', @id))/udata" />
<xsl:value-of select="$item//property[@name = '&property-description;']/value" disable-output-escaping="yes" />
</div>
</div>

Как вы поняли, этот код вызывает описание:
<xsl:variable name="item" select="document(concat('upage://', @id))/udata" />
<xsl:value-of select="$item//property[@name = '&property-description;']/value" disable-output-escaping="yes" />

Аналогичным образом я хочу вывести краткие характеристики товара, вывожу, но получается просто текстом, а не в оформленном виде через css:
<xsl:variable name="item" select="document(concat('upage://', @id))/udata" />
<xsl:value-of select="$item//group[@name = '&group-parameter;']" mode="table_short" />

Возникает вопрос - как вывести краткие характеристики товара в оформленном виде (см. вложение), а не просто сплошным текстом?
Жизнь слишком коротка, чтобы выучить и знать всё на свете. Тем более, что мир быстро меняется, и технологии за ним тоже. Но это не повод, чтобы перестать учиться к чему-то новому. "Век живи - век учись!" Иначе жизнь будет прожита без пользы, как для себя, так и для окружающих.

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Быстрый просмотр товара
« Ответ #4 : 01 Март 2017, 12:57:46 »
xsl:value-of выводит только текстовое содержимое тегов. В вашем случае вам этого недостаточно - нужно писать шаблон для обработки каждого элемента из группы свойств
Мой блог http://umicms.me

*

sam

  • ***
  • 216
  • +3/-1
  • "Век живи - век учись!"
    • Просмотр профиля
Re: Быстрый просмотр товара
« Ответ #5 : 02 Март 2017, 21:37:07 »
"table_short" из /catalog/object-view.xsl продублировал в /catalog/common.xsl, тоже не помогло. Там расписано, какое свойство показать в кратких характеристиках. Может можно как-то не дублировать это, и вызвать в  /catalog/common.xsl, примерно так, как вызывается какой-то шаблон из контента?
Жизнь слишком коротка, чтобы выучить и знать всё на свете. Тем более, что мир быстро меняется, и технологии за ним тоже. Но это не повод, чтобы перестать учиться к чему-то новому. "Век живи - век учись!" Иначе жизнь будет прожита без пользы, как для себя, так и для окружающих.

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Быстрый просмотр товара
« Ответ #6 : 02 Март 2017, 22:01:50 »
Возможно можно как-то не дублировать что-то из файла А в файл Б и вызывать это в каком-то месте, но угадать это по звездам у меня сегодня не выходит. Скорее всего потребуется показать что и куда вы дублируете.

Правда после этого, скорее всего, потребуется объяснить зачем вы это делаете. А вот на это у вас видимо объяснений не будет...

Ваше решение сводится к изучению структур и правил работы в XSLT, а не к копированию из одного файла в другой. Но вы все так же пользуетесь методом научного тыка.
Мой блог http://umicms.me

*

sam

  • ***
  • 216
  • +3/-1
  • "Век живи - век учись!"
    • Просмотр профиля
Re: Быстрый просмотр товара
« Ответ #7 : 02 Март 2017, 22:32:15 »
Цитировать
...потребуется объяснить зачем вы это делаете. А вот на это у вас видимо объяснений не будет...
Всё очень просто - хочу вызвать краткую информацию о товаре в /catalog/common.xsl

А как, может по возможности admin ответит. Спасибо.

Жизнь слишком коротка, чтобы выучить и знать всё на свете. Тем более, что мир быстро меняется, и технологии за ним тоже. Но это не повод, чтобы перестать учиться к чему-то новому. "Век живи - век учись!" Иначе жизнь будет прожита без пользы, как для себя, так и для окружающих.

*

sam

  • ***
  • 216
  • +3/-1
  • "Век живи - век учись!"
    • Просмотр профиля
Re: Быстрый просмотр товара
« Ответ #8 : 03 Март 2017, 15:19:46 »
Получил я то, что хотел (см. вложение), правда css под это ещё надо сделать, но в целом то, что нужно. Вызов в ~/modules/catalog/common.xsl сделал так:
<xsl:variable name="item" select="document(concat('upage://', @id))/udata" />
<xsl:apply-templates select="$item//group[@name = '&group-parameter;']" mode="table_short" />
Темплейт "table_short" берётся из ~/modules/catalog/object-view.xsl. Доделывать это всё ещё надо, думаю, сделаю.

За помощь и подсказки благодарю admin (http://umihelp.ru/forum/index.php?action=profile;u=1) и aghigay (http://umihelp.ru/forum/index.php?action=profile;u=37628)!
Жизнь слишком коротка, чтобы выучить и знать всё на свете. Тем более, что мир быстро меняется, и технологии за ним тоже. Но это не повод, чтобы перестать учиться к чему-то новому. "Век живи - век учись!" Иначе жизнь будет прожита без пользы, как для себя, так и для окружающих.

*

aghigay

  • *****
  • 611
  • +28/-3
  • Просто пытаюсь помочь. Иногда пинком
    • Просмотр профиля
    • umicms.me
Re: Быстрый просмотр товара
« Ответ #9 : 04 Март 2017, 01:09:53 »
:-)
Мой блог http://umicms.me