Новости Joomla

Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla

Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla

👩‍💻 Вышел компонент интернет-магазина HikaShop 6.1.0.Один из известных компонентов магазина для Joomla.v.6.1.0 Что нового?Модуль корзины. Отображение корзины в виде offcanvas-элемента.Кнопка выхода в панели управления пользователя. Что тут сказать, просто добавили. Отправка писем только для заказов, оплаченных определёнными способами. Это удобно для рассылки сообщений, привязанных к региону или провайдеру (например, инструкции по банковскому переводу только для заказов, оплаченных банковским переводом).Листинг выплат по партнерской системе. В разделе управления партнёрскими программами появилось новое подменю «Выплаты», в котором перечислены выплаты партнёрам (упрощённое отслеживание и сверка). Добавлены настройки, благодаря которым можно определить категории товаров, на которые начисляется партнёрская комиссия с продаж.Список комплектов товаров. Система комплектов позволяет отслеживать остатки товаров, продаваемых в комплекте.Подробнее в блоге Hikashop.Поскольку мы не сообщали ранее о Hikashop 6.0, то вкратце скажем, что он вышел в июне 2025г. В новой версии было:- 13 исправлений ошибок- 17 улучшений. В частности:- - Hikashop теперь проверяет UserAgent пользователя перед добавлением товара в корзину, чтобы отсечь ботов. Ведь компонент хранит корзины в базе данных.- - улучшен роутинг компонента, позволяющий использовать в названии товара даже слеши.- - улучшения фильтра товаров - ускорение загрузки категорий/брендов/характеристик.- 4 новых функции:- - добавлена поддержка Joomla 6.0.- - Улучшена возможность адаптации форм HikaShop на фронтенде к шаблонам, не использующим стандартные классы Joomla.- - Плагин внутреннего баланса: возможность исключить уцененные товары из начисленных баллов.- - Теперь можно выбирать склады для вариантов товаров.Подробнее в Changelog Hikashop.Также при работе с Hikashop стоит учитывать, что один и тот же код поддерживает версии Joomla от 3.х до 5.х, а в таблице сравнения версий заявлена и Joomla 2.5. Беглый просмотр кода показал, что компонент как был, так и остался старым и для совместимости с Joomla 4+ просто добавлен плагин.@joomlafeed#joomla #расширения #hikashop

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста...

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста...

На сколько актуально делать сайт в 2025 году? Битва с нейросетями и выбор CMSНовый выпуск подкаста "Просто о Digital"Гость:🎙 Владимир Сергеенко ( https://t.me/aixman ) • Интернет-маркетолог с 14-летним опытом• Соавтор книги «Нетворкинг»• Спикер конференции Ассоциации директоров по развитиюВедущий:💻 Игорь Филипенко ( https://t.me/igorleee )• Программист и предприниматель с 16-летним опытом в digital• Основатель подкаста "Просто о Digital"• Специалист по автоматизации бизнес-процессовВ этом выпуске вы узнаете:🔥 Актуальность сайтов в эпоху нейросетей• Актуален ли сайт сейчас и будет ли актуален в будущем?• Зачем нужен сайт? Есть ли иные инструменты привлечения клиентов?🤖 Нейросети vs Поисковики vs Сайты• Почему нейросети не заменят сайты в B2B-сегменте• Как Google и Яндекс меняют алгоритмы из-за AI-конкуренции📊 Сайт как центр вселенной вашего трафика• Почему без сайта вы сливаете 40% маркетингового бюджета впустую?🛡 Безопасность и Joomla 6.0• Как отфильтровать 99% ботов и сэкономить на трафике• Почему Joomla теперь обходит WordPress в безопасности и скорости⚖️ Выбор платформы: битва CMS• WordPress: 50% рынка но 80% уязвимостей• Joomla: профессиональная CMS для сложных проектов• Drupal: почему его похоронили в 2023 году• Tilda: когда конструктор выгоднее CMSПриятного просмотра/прослушивания!RSS: https://cloud.mave.digital/61930Mave: https://igorfilipenko.mave.digitalЯндекс Музыка: https://music.yandex.ru/album/35840190Telegram Mave: https://t.me/mavestreambot/app?startapp=igorfilipenkoApple Podcasts: https://podcasts.apple.com/us/podcast/просто-о-digital-и-бизнесе/id1801903450ВКонтакте: https://vk.com/podcasts-12488584Youtube: https://www.youtube.com/playlist?list=PLfR6jTpnkohDDco32xZ-KyMyWi_S5Xdy2=========================Видео-формат подкаста:Rutube: https://rutube.ru/video/b5762754f9d3e0dc382f32f3034be0a2/Youtube: https://youtu.be/nu1XF2jNbxY#подкаст #podcast

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

Gandriyko

  • Осваиваюсь на форуме
  • 17
  • 0 / 0
Привет, форумчане!
Есть Joomla 2.5.28+Virtuemart 2.6.0 и его модуль mod_virtuemart_cart.
Подскажите пожалуйста кусочек кода, который добавит кнопку "Убрать товар", с помощью которой можно будет убирать товар из корзины не заходя в неё.
Копировал код из других сайтов, кнопка появлялась, но не работала. (предполагаю из-за разницы версий VM)

Вот код из файла
Мой_сайт/templates/шаблон/html/mod_virtuemart_cart/default.php

Код
<?php 

// no direct access
defined('_JEXEC') or die('Restricted access');
// get the tmpl variable from url
$tmpl = JRequest::getCmd('tmpl', '');
// check if it was an AJAX request
if($tmpl == 'cart') {
// if it was an AJAX request - get images
if(count($data->products)) {
// get the DB access
$db = JFactory::getDBO();
// prepare an array of SKUs
$skus = array();

foreach($data->products as $product) {
array_push($skus, "'".$product['product_sku']."'");
}
// prepare first query
$query1 = $db->getQuery(true);
$query1->select('`p`.`virtuemart_product_id` AS `pid`, `p`.`product_sku` AS `sku`');
$query1->from('#__virtuemart_products AS p');
$query1->where('`p`.`product_sku` IN('.implode(',', $skus).')');
$db->setQuery((string)$query1);
$ids = $db->loadObjectList();

$pids = array();
// get the IDs
if ($ids) {
foreach($ids as $id) {
array_push($pids, $id->pid);
}
}
// get the images
$query2 = $db->getQuery(true);
$query2->select('`m`.`file_url` AS `file`, `p`.`product_sku` AS `sku`');
$query2->from('#__virtuemart_products AS p');
$query2->leftJoin('#__virtuemart_product_medias AS `pm` ON `pm`.`virtuemart_product_id` = `p`.`virtuemart_product_id`');
$query2->leftJoin('#__virtuemart_medias AS `m` ON `m`.`virtuemart_media_id` = `pm`.`virtuemart_media_id`');
$query2->where('`p`.`virtuemart_product_id` IN('.implode(',', $pids).')');
$query2->order('`pm`.`ordering` ASC');
$db->setQuery((string)$query2);
//echo (string) $query2;
$pimages = $db->loadObjectList();

$images = array();
// get the first products images
if ($pimages) {
foreach($pimages as $image) {
if(!isset($images[$image->sku])) {
$images[$image->sku] = $image->file;
}
}
}
}
}

if($tmpl == 'json') {
$matches = array();
preg_match('@<strong>(.*?)<\/strong>@mis', $data->billTotal, $matches);
echo count($data->products). ' ' . JText::_('TPL_GK_LANG_ITEMS'). ' - ' . $matches[0];
}

?>
<?php if($tmpl == 'cart') : ?>

<div class="vmGkCartModule <?php echo $params->get('moduleclass_sfx'); ?>">
          <h3><span><a href="http://коваленко1.рф/virtuemart/cart/"><?php echo JText::_('TPL_GK_LANG_MY_CART'); ?><a/></span></h3>
          <?php if ($show_product_list) : ?>
          <div class="vmGkCartProducts">
                    <?php
$iteration = 1;
foreach ($data->products as $product) :
?>
                    <div><img src="<?php echo $images[$product['product_sku']]; ?>" alt="" />
                              <div>
                                        <h3><span><?php echo  $product['quantity'] ?>&times;</span><?php echo  $product['product_name'] ?></h3>
                                        <?php if ( !empty($product['product_attributes']) ) : ?>
                                        <?php echo str_replace('<br />', ' / ', $product['product_attributes']); ?>
                                        <?php endif; ?>
                                        <?php if ($show_price) : ?>
                                        <span class="gkPrice num<?php echo $iteration%3; ?>"><?php echo str_replace(' ', '', $product['prices']); ?></span>
                                        <?php endif; ?>
                              </div>
                    </div>
                    <?php
$iteration++;
endforeach;
?>
          </div>
          <?php endif; ?>
          <?php if(count($data->products) == 0) : ?>
          <?php echo JText::_('TPL_GK_LANG_EMPTY_CART'); ?>
          <?php endif; ?>
         
          <?php if ($data->totalProduct) : ?>
          <div class="gkTotal"> <?php echo str_replace(array(JText::_('COM_VIRTUEMART_CART_TOTAL').' : <strong>', '</strong>', ' '), '', $data->billTotal); ?> </div>
          <?php endif; ?>
          <div class="gkShowCart"> <?php echo $data->cart_show; ?> </div>
          <noscript>
          <?php echo JText::_('MOD_VIRTUEMART_CART_AJAX_CART_PLZ_JAVASCRIPT')?>
          </noscript>
</div>
<?php elseif($tmpl != 'json') : ?>
<div class="vmCartModule <?php echo $params->get('moduleclass_sfx'); ?>">
          <?php if ($show_product_list) : ?>
          <div id="hiddencontainer" style="display: none;">
                    <div class="container">
                              <?php if ($show_price) { ?>
                              <div class="prices" style="float: right;"></div>
                              <?php } ?>
                              <div class="product_row"> <span class="quantity"></span>&nbsp;x&nbsp;<span class="product_name"></span> </div>
                              <div class="product_attributes"></div>
                    </div>
          </div>
          <div class="vm_cart_products">
                    <div class="container">
                              <?php foreach ($data->products as $product) : ?>
                              <?php if ($show_price) : ?>
                              <div class="prices" style="float: right;"><?php echo  $product['prices'] ?></div>
                              <?php endif; ?>
                              <div class="product_row"> <span class="quantity"><?php echo  $product['quantity'] ?></span>&nbsp;x&nbsp;<span class="product_name"><?php echo  $product['product_name'] ?></span> </div>
                              <?php if ( !empty($product['product_attributes']) ) : ?>
                              <div class="product_attributes"><?php echo  $product['product_attributes'] ?></div>
                              <?php endif; ?>
                              <?php endforeach; ?>
                    </div>
          </div>
          <?php endif; ?>
          <?php if ($data->totalProduct) : ?>
          <div class="total" style="float: right;"> <?php echo $data->billTotal; ?> </div>
          <div class="total_products"><?php echo $data->totalProductTxt ?></div>
          <?php endif; ?>
          <div class="show_cart"> <?php echo $data->cart_show; ?> </div>
          <noscript>
          <?php echo JText::_('MOD_VIRTUEMART_CART_AJAX_CART_PLZ_JAVASCRIPT')?>
          </noscript>
</div>
<?php endif; ?>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться