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

forzi

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

forzi

  • Захожу иногда
  • 81
  • 0 / 0
И дабы не делать новую тему - как убрать вот такое (см фото) - то есть при нажатии на кнопки добавления в корзину чтобы не появлялось такое окошко а сразу все летело в корзину?
*

forzi

  • Захожу иногда
  • 81
  • 0 / 0
Второй вопрос решил самостоятельно. Если кому то пригодится - опишу суть решения. (актуально для 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

  • Захожу иногда
  • 238
  • 10 / 0
странное решение... а теперь открой консоль браузера и смотри ошибки
а как человек теперь поймет, что добавление товара в корзину состоялось? если это убираешь, надо что-то взамен сделать - должна быть какая-то визуальная реакция интерфейса на нажатие кнопки "купить"
*

forzi

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

forzi

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

forzi

  • Захожу иногда
  • 81
  • 0 / 0
Вопрос снимается. Нашел решение самостоятельно. Ни 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; /* Скругляем углы рамки */
   }

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

fsv

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

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

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

P.S. опередил, ну и молодец, спасение утопающих - дело рук...
Веб-разработка: заказ. Только новая объемная разработка. Качественно, дорого.
*

forzi

  • Захожу иногда
  • 81
  • 0 / 0

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

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

Эффект добавления товара в корзину VM3

Автор bassez

Ответов: 0
Просмотров: 1406
Последний ответ 05.06.2020, 12:28:26
от bassez
Вывод краткого описания товара в корзине

Автор PavelK

Ответов: 2
Просмотров: 1633
Последний ответ 04.04.2020, 16:34:10
от PavelK
Редактирование карточки товара VirtueMart

Автор muserun

Ответов: 2
Просмотров: 2949
Последний ответ 31.10.2019, 12:53:51
от Sandruk1
Изменение количества товара в корзине

Автор 1AZ1

Ответов: 18
Просмотров: 2239
Последний ответ 23.09.2019, 15:41:49
от draff
Как добавить артикул в категориях и карточке товара?

Автор alexj69

Ответов: 22
Просмотров: 12896
Последний ответ 16.06.2019, 18:41:53
от AndTaran