Новости Joomla

Вышел плагин социальных кнопок для Joomla - JL Like 5.1.0

Вышел плагин социальных кнопок для Joomla - JL Like 5.1.0

Вышел плагин социальных кнопок для Joomla - JL Like 5.1.0.JL Like — современный плагин для Joomla, который добавляет стильные кнопки "Поделиться" и счетчики лайков популярных соцсетей. Не использует внешние скрипты, что обеспечивает максимальную скорость и безопасность.👩‍💻 v.5.1.0. Что нового?Виджет предварительного просмотра- Добавлен интерактивный предпросмотр социальных кнопок в админ панели- Живое обновление настроек в реальном времени- Переключение между мобильным и десктопным видомУлучшенная мобильная поддержка- Оптимизированные размеры кнопок для мобильных устройств- Адаптивные стили для лучшего отображения на смартфонах- Touch-friendly интерфейсСовременная архитектура- Внедрена система Web Assets для Joomla 4/5- Оптимизированная загрузка ресурсов с атрибутом defer- Улучшенная производительностьТехнические улучшения- Добавлен новый метод getBaseUri() для лучшей обработки URL- Обновлена поддержка JoomShopping и ZOO компонентов- Улучшена совместимость с Joomla 5.xСкачать релиз с GitHubСтраница расширения@joomlafeed#расширения

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

При отображении форм компонента в админке раньше разработчикам нужно было описывать скрытые поля в лейаутах. И выглядело это так:

<?php // Это файл в /layouts/components/com_component/your_layout.php ?> <input type="hidden" name="task" value=""> <input type="hidden" name="return" value="<?php echo $input->getBase64('return'); ?>"> <input type="hidden" name="forcedLanguage" value="<?php echo $input->get('forcedLanguage', '', 'cmd'); ?>"> <?php echo HTMLHelper::_('form.token'); ?>

Начиная с Joomla 5.3 добавлен новый способ добавления таких полей (их называют control fields) - программно. И теперь это можно сделать просто в Controller / View.

<?php // В Controller/View добавляем поля $this->form ->addControlField('task', '') ->addControlField('return', $input->getBase64('return', '')) ->addControlField('forcedLanguage', $forcedLanguage);

А в layout'е просто используем метод

renderControlFields()

<?php // В layout формы echo $this->form->renderControlFields();

Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.

Смотреть Pull Request

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.

v.4.1.0. Что нового?

Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.

Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.

Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.

Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.

Множество мелких исправлений ошибок и оптимизаций.

Сайт проекта

GitHub расширения

Скачать

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

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Здравствуйте.

Добавил несколько цен стандартным функционалом VirtueMart 2.0.18a. Кто-нибудь встречал как сделать так, чтобы в представлении категории товаров и в детальном представлении отображались несколько цен?
Например как во вложении.

Благодарю

[вложение удалено Администратором]
*

aleksandrkr

  • Новичок
  • 6
  • 0 / 0
optima.lg.ua
посмотри ты это имеешь ввиду.
*

aleksandrkr

  • Новичок
  • 6
  • 0 / 0
прошу строго не судить это только альфа версия
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
прошу строго не судить это только альфа версия
не знаю, что у вас за цифры. В общем уже сделал, благодарю
*

neGODnic

  • Захожу иногда
  • 140
  • 4 / 0
Как вы сделали несколь цен в VM2. Уже весь инет перерыл, не могу никак найти.
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
если версия VM не ниже 2.0.16, то там уже можно добавлять несколько цен в карточке товара и закреплять их, к примеру, за определенными группами покупателей. Если версия VM ниже, то можно загонять вторую цену куда-нибудь в непредназначенное для нее место и править логику компонента, чтобы работать с этой второй ценой так, как вам надо.
*

Myst

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
подскажите пожалуйста, как именно вывести цены и на страницу товара и на страницу категории для всех посетителей (а не для определенной группы)?
у меня добавлено несколько цен на товар, которые нужно отобразить (группа покупателей: для всех), но выводится только первая цена.
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
Честно говоря, не помню, что делал для этого. может мои настройки вас натолкнут на решение
*

Myst

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
не помогло.., вы что-то правили в коде, если подскажете что и где то буду очень признателен, готов даже заплатить
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
не помогло.., вы что-то правили в коде, если подскажете что и где то буду очень признателен, готов даже заплатить
посмотрел - правил. насколько вспоминаю во многих местах правил. на неделе занят, простите, попробую либо в воскресенье либо на следующей неделе вам подсказать, если будет актуально
*

Myst

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
да, будет актуально, спасибо, жду
*

Myst

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
всё еще актуально, с каждым часом актуальнее), подскажите кто нибудь.
*

borro

  • Завсегдатай
  • 1379
  • 22 / 0
  • желаю вам счастья
всё еще актуально, с каждым часом актуальнее), подскажите кто нибудь.
тестировал на VirtueMart 2.0.22c, но и на VirtueMart 2.0.18a работает
Чтобы вывести доп. цену в категории товаров надо:
0. Создать группу покупателей либо воспользоваться одной из существующих, указывая ее при вводе новой цены.
1. в файле сайт\templates\ваш_шалон\html\com_virtuemart\category\default.php, скопированном из сайт\components\com_virtuemart\views\category\tmpl\
в районе 290-й строки после строки
Код
echo $this->currency->createPriceDiv ('salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $product->prices);
добавить строку
Код
echo $this->currency->createPriceDiv ('wholesale_price', 'COM_VIRTUEMART_PRODUCT_WHOLESALESPRICE', $product->prices);
Вместо wholesale_price можете использовать здесь и далее другие метки - я добавлял оптовую цену просто.
2. В языковых файлах используемых языков например en-GB.com_virtuemart.ini, ru-RU.com_virtuemart.ini, добавить соответственно константы:
COM_VIRTUEMART_PRODUCT_WHOLESALESPRICE="Wholesales price: "
COM_VIRTUEMART_PRODUCT_WHOLESALESPRICE="Опт: "
3. В сайт\administrator\components\com_virtuemart\helpers\calculationh.php в функции getProductPrices перед последним return добавляем
Код
$this->_db->setQuery('SELECT * FROM #__virtuemart_product_prices  WHERE `virtuemart_product_id`="' . $product->virtuemart_product_id . '" AND `virtuemart_shoppergroup_id`="3"');
$row = $this->_db->loadAssoc();
if ($row) {
if (!empty($row['product_price'])) {
$this->productPrices["wholesale_price"]=$row['product_price'];
} else {
$app = Jfactory::getApplication();
$app->enqueueMessage('cost Price empty, if child, everything okey, this is just a dev note');
return false;
}
}
где `virtuemart_shoppergroup_id`="3"' меняем на на id той группы покупателей, которым назначается вторая выводимая цена. по умолчанию у вас новая группа покупателей будет иметь 3, если других не добавляли после создания мага
4. Если возникает ошибка со словами, что есть ошибка в SQL запросе SELECT `virtuemart_currency_id`,CONCAT_WS(" ",`currency_name`,`currency_symbol`) as currency_txt FROM `#__virtuemart_currencies` WHERE `virtuemart_currency_id` IN ('.$vendor_currency['all_currencies'].') and (`virtuemart_vendor_id` = "'.$vendorId.'" OR `shared`="1") AND published = "1" ORDER BY `ordering`,`currency_name`'
, то в файле сайт\modules\mod_virtuemart_currencies\mod_virtuemart_currencies.php
надо на 49 строке в запросе
$q = 'SELECT `virtuemart_currency_id`,CONCAT_WS(" ",`currency_name`,`currency_symbol`) as currency_txt
FROM `#__virtuemart_currencies` WHERE `virtuemart_currency_id` IN ('.$vendor_currency['all_currencies'].') and (`virtuemart_vendor_id` = "'.$vendorId.'" OR `shared`="1") AND published = "1" ORDER BY `ordering`,`currency_name`';
поменять `virtuemart_currency_id` = 131 - если у вас только рубли. иначе используйте синтаксис `virtuemart_currency_id` IN(ххх, ххх, ...) чтобы перечислить несколько id используемых валют

5. Добавляем доп. цену в карточку товара: в сайт\templates\шаблон\html\com_virtuemart\productdetails\default_showprices.php, скопированном из соответствующего места (сайт\components\com_virtuemart\views\productdetails\tmpl\default_showprices.php) вставить после
Код
echo $this->currency->createPriceDiv ('salesPrice', 'COM_VIRTUEMART_PRODUCT_SALESPRICE', $this->product->prices);
или до(куда вам надо) строку
Код
echo $this->currency->createPriceDiv ('wholesale_price', 'COM_VIRTUEMART_PRODUCT_WHOLESALESPRICE', $this->product->prices);

Вроде все верно. Успехов
« Последнее редактирование: 27.09.2013, 10:22:13 от borro »
*

Myst

  • Осваиваюсь на форуме
  • 44
  • 0 / 0
спасибо большое! пошел пробовать
*

neGODnic

  • Захожу иногда
  • 140
  • 4 / 0
Разобрался более менее с VM3. Прошу помочь с дальнейшее реализацией.

Частично решил вопрос... следующим методом:
В фаил administrator/components/com_virtuemart/helpers/calculationh.php
перед строкой return $this->productPrices;
вставил следующий код
Код
$this->_db->setQuery('SELECT * FROM #__virtuemart_product_prices  WHERE `virtuemart_product_id`="' . $product->virtuemart_product_id . '" AND `virtuemart_shoppergroup_id`="1"');
$row = $this->_db->loadAssoc();
if ($row) {
if (!empty($row['product_price'])) {
$this->productPrices["wholesale_price_rozn"]=$row['product_price'];
} else {
$app = Jfactory::getApplication();
$app->enqueueMessage('cost Price empty, if child, everything okey, this is just a dev note');
return false;
}
}


$this->_db->setQuery('SELECT * FROM #__virtuemart_product_prices  WHERE `virtuemart_product_id`="' . $product->virtuemart_product_id . '" AND `virtuemart_shoppergroup_id`="3"');
$row = $this->_db->loadAssoc();
if ($row) {
if (!empty($row['product_price'])) {
$this->productPrices["wholesale_price_opt"]=$row['product_price'];
} else {
$app = Jfactory::getApplication();
$app->enqueueMessage('cost Price empty, if child, everything okey, this is just a dev note');
return false;
}
}
virtuemart_shoppergroup_id указываете необходимую группу которую хотите видеть.



в фаиле шаблона
templates/ВАШ_шаблон/html/com_virtuemart/sublayouts/prices.php если шаблон переопределн, либо в components/com_virtuemart/sublayouts/prices.php
вставил 2 следующих кода в необходимое место, смотря где Вы хотите чтобы выводились суммы
Код
echo $currency->createPriceDiv ('wholesale_price_rozn', 'COM_VIRTUEMART_PRODUCT_WHOLESALESPRICEROZN', $product->prices);
echo $currency->createPriceDiv ('wholesale_price_opt', 'COM_VIRTUEMART_PRODUCT_WHOLESALESPRICEOPT', $product->prices);

если я нахожусь в группе 2, то все цены вижу правильно. Все выводится правильно, 2 цены.
 
Теперь вопрос следующего характера:
У меня 3 группы по базе с ID 1-(розница, не зарегистрированные пользователи) 2-(зарегистрированные пользователи) 3-(назначается в ручную ОПТОВИКИ)
необходимо сделать следующее.
Если я в группе 2, то вижу правильно цены.
Если я в группе 1то вижу 2 одинаковые цены.

Нужно сделать так:
Пользователь группы 1 (не зарег.) видит все 3 цены... Цена розница выделена другими цветом и шрифтом, остальные 2 цены (мелк. опт и опт) одного цвета и меньшего размера.
Пользователь группы 2 (зарегистр) видит все 3 цены... Цена мелк.опт для него выделена цветом и шрифтом, остальные 2 цены (розн и опт) одного цвета и меньшего размера.
Пользователь группы 3 (VIP) видит все 3 цены... Цена ОПТ выделена другими цветом и шрифтом, остальные 2 цены (розн и мелк. опт) одного цвета и меньшего размера.

Так вот, как сделать обработку запроса на правильность к принадлежащей группе и выводу правильных цен, и как вывести стили в зависимости от группы.
Как я понимаю запрос должен проверять группу к которой принадлежит пользователь и на основании этого выводить оставшиеся 2 цены.

и еще проблема, все 3 цены выводятся в категории товаров, как это убрать, чтобы выводилась только 1 цена, для той группы в которой находится покупатель.
« Последнее редактирование: 14.10.2016, 15:50:03 от neGODnic »
*

VIPersone

  • Захожу иногда
  • 55
  • 2 / 0
Не получилось вывести разные цены... Может в карточке товара что-то нужно указывать?

Как сделать примерно так:


В VirtueMart это возможно?
« Последнее редактирование: 26.04.2017, 01:45:06 от VIPersone »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Мультивариант в категориях

Автор kirill.psl

Ответов: 1
Просмотров: 735
Последний ответ 29.02.2020, 13:49:54
от rsn
Модуль категорий VM - несколько категорий сразу

Автор liberator

Ответов: 6
Просмотров: 900
Последний ответ 08.02.2020, 14:26:11
от liberator
Нет сортировки товара в категориях?

Автор warlocksp

Ответов: 0
Просмотров: 807
Последний ответ 26.07.2018, 14:45:51
от warlocksp
VirtueMart 3. Выводится только несколько дополнительных полей фильтрации

Автор Illibes

Ответов: 0
Просмотров: 1128
Последний ответ 14.12.2017, 17:15:46
от Illibes
Присвоение товарам несколько категорий, стоит ли?

Автор OutLaw1

Ответов: 0
Просмотров: 1053
Последний ответ 02.08.2017, 11:55:34
от OutLaw1