Новости 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 Гость просматривают эту тему.
  • 1 Ответов
  • 654 Просмотров
*

moonaway

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Всем привет!
Верстаю модуль вывода данных по тегам на основе оригинального запроса Joomla (libraries\src\Helper\TagsHelper.php) - getTagItemsQuery(), нужно переписать запрос с дополнительными параметрами.

Что надо?

ЛИМИТЫ И СОРТИРОВКА
Внедрить лимит на вывод каждого типа контента.
Лимит должен быть не общий на весь массив данных, как например, на вывод массива из 5 значений. А лимит должен быть на каждый тип контента (com_content.article, com_contact.contact, com_content.category, com_contact.category, com_banners.banner, com_banners.category), где мы ограничиваем, например, до 5 значений КАЖДОГО типа.
+ Переделываем сортировку, чтобы она работала ВНУТРИ вывода КАЖДОГО типа контента.

УТОЧНЕНИЕ КАТЕГОРИЙ
Для типов контента com_content.article, om_contact.contact, com_banners.banner сделать уточнение из каких ID категорий внутри брать данные

СТРУКТУРА МАССИВА
В итоге мы должны получать двумерный массив данных, внутри которого были бы массивы для каждого типа контента с сортировкой и ограничением количества выводимых значений.

stdClass Object (
    [com_contact.contact] => Array (
      [О] => stdClass Object (
         [type_alias] => com_contact.contact
         [content_item_id] => 6
         [core_content_id] => 66
         [match_count] => 1
         [tag_date] => 2021-03-17 15:57:25
         [core_title] => sample title
         [core_params] => {..........}
         [core_alias] => sample-alias
         [core_state] => 1
         [core_access] => 1
         [core_metadata] => {"robots":"","rights":""}
         [core_created_user_id] => 42
         [core_created_by_alias] =>
         [core_created_time] => 2020-09-14 07:54:33
         [core_images] =>
         [core_modified_time] => 2021-03-17 12:57:25
         [core_language] => *
         [core_catid] => 4
         [core_publish_up] => 0000-00-00 00:00:00
         [core_publish_down] => 0000-00-00 00:00:00
         [content_type_title] => Contact
         [router] => ContactHelperRoute::getContactRoute
         [author] => Super User
      )
      [1] => stdClass Object (
         [key] => value
         ...
      )
      [2] => stdClass Object (
         [key] => value
         ...
      )
      [3] => stdClass Object (
         [key] => value
         ...
      )
   )
   [com_content.article] => Array (
   ...
   )
   [com_banners.banner] => Array (
   ...
   )
   [com_contact.category] => Array (
   ...
   )
   [com_content.category] => Array (
   ...
   )
   [com_banners.category] => Array (
   ...
   )
)


Сейчас запрос к БД формируется так, что в результате даёт просто общую простыню всех материалов....

Код
SELECT
m.type_alias,
m.content_item_id,
m.core_content_id,
count(m.tag_id) AS match_count,
MAX(m.tag_date) as tag_date,
MAX(c.core_title) AS core_title,
MAX(c.core_params) AS core_params,
MAX(c.core_alias) AS core_alias,
MAX(c.core_state) AS core_state,
MAX(c.core_access) AS core_access,
MAX(c.core_metadata) AS core_metadata,
MAX(c.core_created_user_id) AS core_created_user_id,
MAX(c.core_created_by_alias) AS core_created_by_alias,
MAX(c.core_created_time) as core_created_time,
MAX(c.core_images) as core_images,
CASE WHEN c.core_modified_time = '0000-00-00 00:00:00' THEN c.core_created_time ELSE c.core_modified_time END as core_modified_time,
MAX(c.core_language) AS core_language,
MAX(c.core_catid) AS core_catid,
MAX(c.core_publish_up) AS core_publish_up,
MAX(c.core_publish_down) as core_publish_down,
MAX(ct.type_title) AS content_type_title,
MAX(ct.router) AS router,
CASE WHEN c.core_created_by_alias > ' ' THEN c.core_created_by_alias ELSE ua.name END AS author
FROM #__contentitem_tag_map AS m
INNER JOIN
#__ucm_content AS c
ON m.type_alias = c.core_type_alias
AND m.core_content_id = c.core_content_id
AND c.core_state IN (1)
AND (c.core_publish_up = '0000-00-00 00:00:00' OR c.core_publish_up <= '2021-07-05 17:13:33')
AND (c.core_publish_down = '0000-00-00 00:00:00' OR c.core_publish_down >= '2021-07-05 17:13:33')
INNER JOIN #__content_types AS ct ON ct.type_alias = m.type_alias
LEFT JOIN #__categories AS tc ON tc.id = c.core_catid
LEFT JOIN #__users AS ua ON ua.id = c.core_created_user_id
WHERE
m.tag_id IN (10,11)
AND (c.core_catid = 0 OR tc.published = 1)
AND `c`.`core_language` IN ('en-GB', '*')
AND m.type_alias IN ('com_content.article','com_contact.contact','com_content.category','com_contact.category','com_banners.banner','com_banners.category')
AND c.core_access IN (0,1,2,3,6)
GROUP BY m.type_alias, m.content_item_id, m.core_content_id, core_modified_time, core_created_time, core_created_by_alias, author
ORDER BY MAX(`c`.`core_title`) ASC
« Последнее редактирование: 06.07.2021, 17:04:01 от moonaway »
*

moonaway

  • Осваиваюсь на форуме
  • 26
  • 0 / 0
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться