Новости Joomla

20 лет Joomla: Ринат Кажетов

20 лет Joomla: Ринат Кажетов.В 2025 году Joomla исполнилось 20 лет

В 2025 году Joomla исполнилось 20 лет. Вокруг неё сложилось большое интернациональное русскоязычное сообщество. На сайте нашего сообщества и на Хабре к юбилею были собраны интервью с его видными представителями. Сегодня мы читаем интервью с Ринатом Кажетовым (@rkazhet). Ринат - один из администраторов чата русскоязычного Joomla-сообщества, из Казахстана. Это человек, который всегда знает или найдёт нужную ссылку, пристально следит за новостями в мире Joomla, многое узнаёт первым и просто очень отзывчивый человек. Интервью с Ринатом провёл Евгений Сивоконь.

Читать интервью

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

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Здравствуйте всем! С наступившим новым годом!
Возник, видимо, не совсем тривиальный вопрос (поскольку ответ на него по на форуме пока не нашел).
На странице категории при использовании дочерних товаров (в частности, выбирается цвет товара с использованием плагина stockablecustomfields) нет возможности кинуть товар в корзину напрямую, не заходя на страницу товара.
Выходит сообщение для пользователя: "Выберите вариант", которое формируется в файле: components/com_virtuemart/sublayouts/addtocartbtn.php следующим кодом:

echo '<span name="addtocart" class="addtocart-button-disabled" title="'.vmText::_( 'COM_VIRTUEMART_ADDTOCART_CHOOSE_VARIANT' ).'" >'.vmText::_( 'COM_VIRTUEMART_ADDTOCART_CHOOSE_VARIANT' ).'</span>';

Естественно, оно неактивно и может вогнать слишком задумчивого пользователя в полный ступор - сколько не клацай по этой "предупреждалке", никуда не переходишь... Включив голову, клиент может, конечно, перейти по ссылке, кликнув на картинку товара, или на название. А если она (голова) принципиально не включается, то просто уйдет с сайта, разозлившись на весь белый свет!
Короче, необходимо сделать это "сообщение" активной ссылкой на карточку товара. Но попытки подставить сюда иную конструкцию, например:

echo '<a href="index.php?option=com_virtuemart&view=productdetails&virtuemart_product_id=' . $product->virtuemart_product_id . '&virtuemart_category_id=' . $product->virtuemart_category_id.'">'.vmText::_ ( 'COM_VIRTUEMART_ADDTOCART_CHOOSE_VARIANT' ).'</a>'

или иной вариант ни к чему не привели. Отправляет куда угодно, только не на страницу товара. Я недавно начал разбираться в VM3 и пока разобраться с этим моментом не вышло. Думаю, наверняка уже кто-то озадачивался подобным вопросом.
Буду весьма благодарен за подсказку!
*

aleks_yug

  • Давно я тут
  • 630
  • 83 / 0
Действительно, просто слабо знаком с vm3...
Все достаточно просто: в данном конкретном случае нужно редактировать не addtocartbtn.php а addtocartbar.php (естественно, не в самом компоненте, а HTML шаблона).
Правда, закомментировать в addtocartbtn
echo '<span name="addtocart" class="addtocart-button-disabled" title="'.vmText::_( 'COM_VIRTUEMART_ADDTOCART_CHOOSE_VARIANT' ).'" >'.vmText::_( 'COM_VIRTUEMART_ADDTOCART_CHOOSE_VARIANT' ).'</span>';
в этом случае придется.
А затем добавить else к коду в addtocartbar.php
Код
if(!empty($addtoCartButton)){ ?>
    <span class="addtocart-button">
    <?php echo $addtoCartButton ?>
    </span> <?php
} ?>
Будет так:
Код
if(!empty($addtoCartButton)){ ?>
    <span class="addtocart-button">
    <?php echo $addtoCartButton ?>
    </span> <?php
} else {
    $link = 'index.php?option=com_virtuemart&view=productdetails&virtuemart_category_id=' . $product->virtuemart_category_id.'&virtuemart_product_id=' . $product->virtuemart_product_id. '';
    echo '<a class="addtocart-button-disabled" href ="' . JRoute::_($link). '">' . vmText::_ ('COM_VIRTUEMART_ADDTOCART_CHOOSE_VARIANT'). '</a>';
}
И все...
Предупреждаю - такой вариант функционален при использовании плагина stockablecustomfields (дочерние товары в данном случае создаются при помощи его, в частности - выбор вариантов цвета). При использовании штатного настраиваемого поля multi variant в этом нет необходимости. (если не ошибаюсь).
Короче, сам спросил - сам ответил...
Всем спасибо!
« Последнее редактирование: 05.01.2016, 15:01:41 от aleks_yug »
*

OutLaw1

  • Осваиваюсь на форуме
  • 15
  • 0 / 0
Чувак + в репу, спустя год, ты мне серьезно помог, только я немного подправил код под себя и вуаля имеем разные варианты кнопки «купить» («добавить в корзину», «перейти в товар» и просто надпись «выберите вариант»).
Я ещё добавил условие в файле addtocartbtn.php
Код
if($viewData['orderable']) {
echo '<input type="submit" name="addtocart" class="addtocart-button" value="'.vmText::_( 'COM_VIRTUEMART_CART_ADD_TO' ).'" title="'.vmText::_( 'COM_VIRTUEMART_CART_ADD_TO' ).'" />';
} else{
$view = JRequest::getVar('view', null);
if ($view == "category"){} else {
    echo '<span name="addtocart" class="addtocart-button-disabled" title="'.vmText::_( 'COM_VIRTUEMART_ADDTOCART_CHOOSE_VARIANT' ).'" >'.vmText::_( 'COM_VIRTUEMART_ADDTOCART_CHOOSE_VARIANT' ).'</span>';
}}

И тем самым в каталоге одно, а в карточке другое
У меня дочерки как раз с помощью стандартных multivariant, но всё работает
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Скачать - Управление товарами в VirtueMart - в таблиц

Автор gartes

Ответов: 45
Просмотров: 12921
Последний ответ 17.05.2023, 14:53:27
от mansonfaust
Отображение полей CF в карточке товара

Автор farmer66

Ответов: 2
Просмотров: 2864
Последний ответ 17.02.2023, 13:39:18
от farmer66
Как сделать разделение цены по 3 разряда? Решено

Автор varella

Ответов: 13
Просмотров: 3172
Последний ответ 28.10.2022, 19:32:37
от marksetter
Вывод изображений настраиваемого поля в карточке товара

Автор wasssup

Ответов: 0
Просмотров: 2903
Последний ответ 05.07.2022, 08:51:19
от wasssup
как изменить цену всем товарам в VirtueMart 3 ?

Автор ShamilHan

Ответов: 5
Просмотров: 4509
Последний ответ 11.03.2022, 21:12:37
от Zeobr