Форум русской поддержки Joomla!® CMS
09.12.2016, 23:23:20 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Описание товара в всплывающей подсказке

 (Прочитано 92 раз)
0 Пользователей и 1 Гость смотрят эту тему.
forzi
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 71


« : 30.09.2016, 14:27:43 »

Уважаемые джумловоды и виртуемартеры=профи. Вопрос такой. В каких файлах заменить переменные для вывода в всплывающей подсказке (при наведении курсора на картинку товара). То есть вместо названия товара там вывести список ингредиентов из краткого описания... Или может каким новым полем делать?
Записан
forzi
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 71


« Ответ #1 : 30.09.2016, 14:50:29 »

И дабы не делать новую тему - как убрать вот такое (см фото) - то есть при нажатии на кнопки добавления в корзину чтобы не появлялось такое окошко а сразу все летело в корзину?


* Screenshot_29.jpg (51.1 Кб, 496x242 - просмотрено 4 раз.)
Записан
forzi
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 71


« Ответ #2 : 30.09.2016, 16:14:44 »

Второй вопрос решил самостоятельно. Если кому то пригодится - опишу суть решения. (актуально для VirtueMart 3.0.12 - на более ранних подверсиях троечки немного по другому)
Решается все в файле components\com_virtuemart\assets\js\vmprices.js
Но для начала в настройках VirtueMart снимаем галочку  использовать FancyBox, тем самым переводим магазин на работу с использованием facebox
Далее открываем указанный выше файл текстовым редактором и находим блок
Код:
if(usefancy){
jQuery.fancybox({
"titlePosition" : "inside",
"transitionIn" : "fade",
"transitionOut" : "fade",
"changeFade"    :   "fast",
"type" : "html",
"autoCenter"    :   true,
"closeBtn"      :   false,
"closeClick"    :   false,
"content"       :   txt
}
);
} else {
jQuery.facebox( txt , 'my-groovy-style');
}

В этом блоке комментируем строку
Код:
jQuery.facebox( txt , 'my-groovy-style');
У меня в итоге этот блок стал выглядеть так:
Код:
if(usefancy){
jQuery.fancybox({
"titlePosition" : "inside",
"transitionIn" : "fade",
"transitionOut" : "fade",
"changeFade"    :   "fast",
"type" : "html",
"autoCenter"    :   true,
"closeBtn"      :   false,
"closeClick"    :   false,
"content"       :   txt
}
);
} else {
// jQuery.facebox( txt , 'my-groovy-style');
}
Вот и все решение.
Записан
Liss
Давно я тут
****

Репутация: +9/-0
Offline Offline

Сообщений: 207


« Ответ #3 : 01.10.2016, 12:19:16 »

странное решение... а теперь открой консоль браузера и смотри ошибки
а как человек теперь поймет, что добавление товара в корзину состоялось? если это убираешь, надо что-то взамен сделать - должна быть какая-то визуальная реакция интерфейса на нажатие кнопки "купить"
Записан
forzi
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 71


« Ответ #4 : 01.10.2016, 12:52:05 »

странное решение... а теперь открой консоль браузера и смотри ошибки
а как человек теперь поймет, что добавление товара в корзину состоялось? если это убираешь, надо что-то взамен сделать - должна быть какая-то визуальная реакция интерфейса на нажатие кнопки "купить"
Стоит модуль корзины сверху и при клике на кнопку "Купить" визуально не пропустишь добавления товара в корзину.
Записан
forzi
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 71


« Ответ #5 : 01.10.2016, 12:53:46 »

По основному вопросу никто не подскажет? "   Описание товара в всплывающей подсказке" - я что то все файлы перерыл - но пока не нашел...
Записан
forzi
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 71


« Ответ #6 : 01.10.2016, 15:21:51 »

Вопрос снимается. Нашел решение самостоятельно. Ни Google ни прочие яндексы мне так и не подсказали. Само решение ниже:
ВАЖНО! Решение работает для версии VirtueMart 3.0.12, на более ранних версиях несколько по другому все.
Итак, что же нам требуется - нам требуется вывести содержимое поля Краткое описание во всплывающей подсказке при наведение на изображение товара (туда, где по умолчанию выводится наименование товара). Я по своей простоте искал исходники для редактирования по пути .../components/com_virtuemart/views/ но был не прав. Такие вещи лежат на другой полке, а именно тут: .../components/com_virtuemart/sublayouts/
Так вот, по указанному пути ищем файл products.php, открываем его для редактирования и ищем такой вот блок:
Код:
<div class="vm-product-media-container" >

<a title="<?php echo $product->product_name ?>" href="<?php echo $product->link.$ItemidStr; ?>">
<?php
echo $product->images[0]->displayMediaThumb('class="browseProductImage"', false);
?>
</a>

</div>
Именно этот блок отвечает за вывод изображения товара и его титла (всплывающей при наведении курсора подсказки) Далее небольшое отступление.
Можно пойти двумя путями.
1 путь - просто сменить текст и все, делается это так. В строке:
Код:
<a title="<?php echo $product->product_name ?>" href="<?php echo $product->link.$ItemidStr; ?
Вместо product_name вставляем product_s_desc (то есть по сути заменяем название товара на его описание) В принципе тут бы и успокоится, так как после сохранения файла и его внедрения в ваш сайт (на нужное место) все и заработает. Но...
Мы же не ищем легких путей и хотим, что бы всплывающая подсказка была красивая... И идем по второму пути. А вот и он:
2 путь - свой стиль для подсказки.
Итак, начнем. Берем все тот же блок
Код:
<div class="vm-product-media-container" >

<a title="<?php echo $product->product_name ?>" href="<?php echo $product->link.$ItemidStr; ?>">
<?php
echo $product->images[0]->displayMediaThumb('class="browseProductImage"', false);
?>
</a>

</div>

Но теперь не трогаем строку со ссылкой, нам она уже не нужна. Мы берем самую первую строку, ту, в которой открывается DIV
Код:
<div class="vm-product-media-container" >
И вписывыем в эту строку еще одну конструкцию, а именно вот это:
Код:
data-title="<?php echo $product->product_s_desc ?>"
В результате у нас получается вот такая вот ДИВооткрывашка:
Код:
<div class="vm-product-media-container" data-title="<?php echo $product->product_s_desc ?>">
В принципе в этом файле и все... Можно пить чай... но не сразу. Файл сохраняем и заливаем его на нужное вам место. И идем далее...
Переходим по пути .../templates/вашстиль/css/ и вынимаем оттуда файл template.css, и далее вносим в него некоторые добавления.
В самом конце этого файла добавляем следующий блок
Код:
.vm-product-media-container {
      position: relative; /* Относительное позиционирование */
   }
   .vm-product-media-container:hover::after { /* включает подсказки только при наведении курсора */
    content: attr(data-title); /* Выводим текст */
    position: absolute; /* Абсолютное позиционирование */
width: 190px !important; /* ширина блока подсказки */
    left: 20%; top: 30%; /* Положение подсказки */
    z-index: 1; /* Отображаем подсказку поверх других элементов */
    background: rgba(255,255,230,0.9); /* Полупрозрачный цвет фона */
    font-family: Arial, sans-serif; /* Гарнитура шрифта */
    font-size: 13px; /* Размер текста подсказки */
    padding: 5px 10px; /* Поля */
    border: 1px solid #333; /* Параметры рамки */
border-radius: 4px; /* Скругляем углы рамки */
   }

В принципе после всех этих манипуляций у вас уже должно все работать. Вот как это выглядит у меня:


* Screenshot_33.jpg (36.8 Кб, 267x184 - просмотрено 1 раз.)
Записан
fsv
Moderator
*****

Репутация: +330/-2
Offline Offline

Пол: Мужской
Сообщений: 2247


« Ответ #7 : 01.10.2016, 15:22:11 »

Цитировать
По основному вопросу никто не подскажет?
Так вопроса то нет. Кроме вас никто не знает, о чем вы спрашиваете. А выяснять на 10 постов никому не надо.

ЕСЛИ в категории:
\components\com_virtuemart\sublayouts\products.php
Код
<a title="<?php echo $product->/*product_name*/product_s_desc ?>" href="<?php echo $product->link.$ItemidStr; ?>">
Файл переопределить!

Цитировать
визуально не пропустишь
не верю. ссылка?

P.S. опередил, ну и молодец, спасение утопающих - дело рук...
Записан
forzi
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 71


« Ответ #8 : 01.10.2016, 15:29:23 »


не верю. ссылка?

P.S. опередил, ну и молодец, спасение утопающих - дело рук...
1. Не люблю показывать неоконченные работы
2. .. самих утопающих))) Только я пошел дальше банального спасения а еще и рамочку спасенному нарисовал)))
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet