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

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Вот код:
Спойлер
[свернуть]

Этот отрезок кода из плагина (https://docs.joomla.org/Adding_custom_fields_to_the_article_component) и записывает и стирает записи. Где идёт сортировка действий? Не могу понять. Или направьте на документацию.
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
 if ($articleId && isset($article->rating) && (count($article->rating)))
Если $articleId не пустота и isset($article->rating) существует это поле и (count($article->rating)) в массиве $article->rating есть элементы!
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Вопрос поставлен немного странно.
Цитировать
Где идёт сортировка действий?
Это что значит? Почему сначала удаляет и потом записывает?
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Istaan, благодарю!

Вопрос поставлен немного странно. Это что значит? Почему сначала удаляет и потом записывает?

Просто насколько я понял в этом блоки сначала проверяется, а потом выполняется попытка сначала удаления записи, после очистка запроса, а потом добавления записи.
Вот я и спрашиваю на основании чего делается вывод, что надо записывать или удалять? Судя по тому где размещено это условие плагин работает когда статью сохраняют, т.е. всегда при изменении. Но в одном случае, он пополняет БД данными, а в другом удаляет. Так вот как связаны эти действия плагина с действиями пользователя? Где проверка, что надо сохранить данные или удалить?
Хочу свой плагин написать, изучаю готовое. Pagebreak не осилил по первости, голосование тоже сложновато.

На самом деле нужен плагин, который подключается к удалённому серверу MSSQL и делает выборку по заданным критериям.
Насколько понял из форума надо:
- проверять статья ли это
- проверять установлена ли submit
Как получать и передавать данные из формы, пока не понял. Если знаете похожие плагины, киньте ссылкой, буду изучать. Или на руководство, буду благодарен.
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Но в одном случае, он пополняет БД данными, а в другом удаляет.
никаких случаев тут нет! по крайне мере в этом примере
это все одна операция - называется обновление данных
сначала удаляется существующая запись, если она есть, потом добавляется новая
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Цитировать
На самом деле нужен плагин, который подключается к удалённому серверу MSSQL и делает выборку по заданным критериям.
В какой момент он должен делать? При сохранении статьи?
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
В какой момент он должен делать? При сохранении статьи?

При выводе материала. Сначала выводится форма, если Submit не нажали, а если нажали результат запроса к БД. Ещё тут слышал, что нужно прописывать драйвер для работы с БД. Вот не знаю для MSSQL какой драйвер нужен?
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Какая форма? Вместо материала? Ничего не понятно...

http://joomlaportal.ru/blogs/development/2410-podklyuchenie-k-vneshnej-baze-dannykh


Драйвер mssql
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Какая форма? Вместо материала? Ничего не понятно...

В том месте где есть метка, например {script} выводится форма, в эту форму пользователь вводит параметры запроса и нажимает Submit. Запрос обрабатывается и результат выводится на этой же странице.
В принципе всё.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Спойлер
[свернуть]

Пока вот родил первоначальную версию, но всё равно не работает :-) Изучу материалы - отпишусь.
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
SELECT title FROM #_content WHERE created > '2012-12-31' AND created < '2013-12-31'"

#_content должно быть #__content

И раз уж Вы получаете объект $query = $db->getQuery(true); , зачем потом строку использовать? Используйте сам объект.
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
SELECT title FROM #_content WHERE created > '2012-12-31' AND created < '2013-12-31'"

#_content должно быть #__content

И раз уж Вы получаете объект $query = $db->getQuery(true); , зачем потом строку использовать? Используйте сам объект.

Статья отличная, я тут запрос свой поправил в таком вот виде теперь:
Спойлер
[свернуть]

Почему в статье встречается сначала такой формат записи запроса? ... $db->quoteName... ?
Что такое quoteName? Где можно прочитать про то, в какие моменты вызывается плагин? Ссылка от старших на материал очень помогла бы. Просто я в статье (http://egeshi.com/уроки/joomla/joomla-2-5-по-русски/создание-плагина-для-контента) увидел, что для метода, который я описываю везде указывают разные свойства. Так не может быть. К тому же сейчас плагин пусть ничего не выводит, но и не стирает метку, а по логике должен.
Спойлер
[свернуть]

Уже хочется просто что-нибудь написать на странице  ;D
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Цитировать
Что такое quoteName?
Там же есть документация по этому методу. Первый материал о JDatabase.

Цитировать
Где можно прочитать про то, в какие моменты вызывается плагин?
https://docs.joomla.org/Plugin/Events

По поводу реализации - посмотрите любой плагин контента
https://github.com/joomla/joomla-cms/tree/staging/plugins/content
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Там же есть документация по этому методу. Первый материал о JDatabase.
https://docs.joomla.org/Plugin/Events

Да, всё изучил, теперь выводит данные. Благодарю.

Вот так выглядит теперь метод:
Спойлер
[свернуть]

К сожалению не получается через конструктор запросов делать запрос, только прямой запрос использовал. Не подскажете почему не работает? (он закомментирован в коде)
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Потому что вы перепутали знаки больше меньше для запроса в конструкторе запросов:
 created > '2012-06-01',  а у вас 'created <' . $db->quote('2012-06-01')
created < '2012-12-31', а у вас ('created >' . $db->quote('2012-12-31')
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Потому что вы перепутали знаки больше меньше для запроса в конструкторе запросов:
 created > '2012-06-01',  а у вас 'created <' . $db->quote('2012-06-01')
created < '2012-12-31', а у вас ('created >' . $db->quote('2012-12-31')

Благодарю, невнимательность мой бич.
Ещё вот форму запихнуть хочу, не знаю где почитать насчёт использования jform (если правильно собрался идти). Не подскажите?
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Цитировать
Ещё вот форму запихнуть хочу, не знаю где почитать насчёт использования jform (если правильно собрался идти). Не подскажите?
Если форма маленькая, то JForm Вам не нужен.

https://www.ostraining.com/howtojoomla/how-tos/development/getting-started-with-jform/

Пример использования в плагине profile:
https://github.com/joomla/joomla-cms/blob/staging/plugins/user/profile/profile.php

Или просто форма:
https://github.com/joomla/joomla-cms/blob/staging/plugins/content/vote/vote.php
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Или просто форма:
https://github.com/joomla/joomla-cms/blob/staging/plugins/content/vote/vote.php

Да, действительно, форма не нужна, это слишком сложно для моих задач, я так понял к Jhtml надо подробнее приглядется. Я просто в том примере как налету использовали объект Jtable для формирования таблицы, хотел по образу сделать форму.

Я так понял в этой строке (из примера голосования) выводится кнопка Submit?: $html .= JHtml::_('form.token');

*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
$html .= JHtml::_('form.token');
Выводиться токен (это такое скрытое поле для защиты вашей формы от использования не на вашем сайте)
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Выводиться токен (это такое скрытое поле для защиты вашей формы от использования не на вашем сайте)

Понятно, хотя ничего не понятно. А как же проверка клавиши Submit?
Я тут пример vote смотрю.
Не могу понять куда всё время автор ссылается?:
$row->state
$row->id
$row->rating

Спойлер
[свернуть]
(чуть убрал не нужное мне) Это аттрибуты статьи? Или в данном случае другие, какие-то?
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
А зачем проверять клавишу Submit oO

$row - это не атрибуты статьи ) Это сама статья (точнее строка из таблицы статей с определенным ID в виде объекта)
« Последнее редактирование: 10.01.2015, 01:23:48 от Istaan »
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
А зачем проверять клавишу Submit oO

$row - это не атрибуты статьи ) Это сама статья (точнее строка из таблицы статей с определенным ID в виде объекта)

Не знаю с какой стороны подойти к вопросу. Если запрос отправлен ($submit), то выводим результат запроса, если нет - форму.
Я в vote подглядел как проверяет на установленность параметров:
if (!empty($params) && $params->get('show_vote', null))
но плагин привязан к другому событию, пожет в этом месте $params содержит в себе другую информацию? (onContentBeforeDisplay($context, &$row, &$params, $page=0)) у меня onContentPrepare.

Следующий момент добраться до переменных, которые переданы по кнопке отправить
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Не знаю с какой стороны подойти к вопросу. Если запрос отправлен ($submit), то выводим результат запроса, если нет - форму.
Ну у вас например стоит $html .= '<input type="hidden" name="task" value="article.vote" />';
это значит что автоматом в контроллере article запустит задачу vote и ненадо каких либо проверок!
Если будете аяксом слать то просто можно установить какой то таск в дефолтном контроллере например так: http://ссылка вырезана, так как домен распространяет вирусы/blog/joomla/ajax-v-joomla

Я в vote подглядел как проверяет на установленность параметров:
if (!empty($params) && $params->get('show_vote', null))
но плагин привязан к другому событию, пожет в этом месте $params содержит в себе другую информацию? (onContentBeforeDisplay($context, &$row, &$params, $page=0)) у меня onContentPrepare.
Параметры передаются во все события!
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Ну у вас например стоит $html .= '<input type="hidden" name="task" value="article.vote" />';
это значит что автоматом в контроллере article запустит задачу vote и ненадо каких либо проверок!
Я этот пример слизал с голосования не зная, как он работает. За разъяснение благодарю, буду иметь ввиду.
С AJAX'ом пока не разобрался, пока сложно для меня.

С параметрами тоже, спасибо, помогли разобраться, только как я понял это мне не поможет данные цеплять. Думал проверку на параметры сделать, чтобы вывод начать, а это параметры самого плагина.

Вот наваял:
Спойлер
[свернуть]

Данные принимает и передаёт в работу, НО в строке 40 такая ошибка: Warning: Invalid argument supplied for foreach() in /var/www/tennru/data/www/te.nn.ru/plugins/content/basesql/basesql.php on line 40
Что я неправильно делаю? Даты передают строго по формату yyyy-mm-dd через форму. Без ввода через форму, эта строка работала, а сейчас выдаёт ошибку. Может календарь ввода даты поможет?
« Последнее редактирование: 19.01.2015, 17:15:35 от maxis »
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Данные принимает и передаёт в работу, НО в строке 40 такая ошибка: Warning: Invalid argument supplied for foreach() in /var/www/tennru/data/www/te.nn.ru/plugins/content/basesql/basesql.php on line 40

Фёдор в этой ветке подробно объяснил откуда она: http://joomlaforum.ru/index.php/topic,94260.0.html

Выяснилось, что такой метод запроса формирования запроса через объект, формирует неполный запрос (конфигурация запроса ниже):
Спойлер
[свернуть]
SELECT title FROM #__content WHERE created >'2012-06-01' AND created <

Добился результата такой записью:
$query = 'SELECT title FROM #__content WHERE created >'.$db->quote($elements[0]).' AND '.$db->quote($elements[1]);

Может кто знает в чём разница?
« Последнее редактирование: 20.01.2015, 10:56:54 от maxis »
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Может кто знает в чём разница?
Разница снова в банальной невнимательности новичка (Поставьте среду разработки PhpStorm она сразу будет выделять такие проколы)
Итак ваш запрос:
$query->where('created >' . $db->quote($elements[0]));
$query->where('created <' . $db->quote($elentnts[1]));
Найдите 5 отличий в написании слова $elements в первой строке и второй )
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Итак ваш запрос:
$query->where('created >' . $db->quote($elements[0]));
$query->where('created <' . $db->quote($elentnts[1]));
Найдите 5 отличий в написании слова $elements в первой строке и второй )

Ураа! Всё работает! Благодарю за терпение. Кстати - а как можно прикрутить к форме календарь с выбором даты и потом эту дату перевести в формат SQL? Я вот нашёл такое решение: http://jqueryui.com/datepicker/#date-range но скрипты не прописываются в этом методе этого класса. Я использовал :
$doc = JFactory::getDocument();
$doc->addStyleSheet(JURI::root(true).'//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css');
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
$doc->addStyleSheet(JURI::root(true).'//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css');
Просто $doc->addStyleSheet( '//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css' );
не надо JURI::root(true)!
*

maxis

  • Захожу иногда
  • 119
  • 1 / 0
Просто $doc->addStyleSheet( '//code.jquery.com/ui/1.11.2/themes/smoothness/jquery-ui.css' );
не надо JURI::root(true)!

А это проверка на то, что к с сайта загружается. Понял. Убрал. Но всё равно не подключает ни скрипты, ни стили. Честно говоря метод подключения скриптов содрал с СИСТЕМНОГО плагина RSForm, может поэтому не работает?
« Последнее редактирование: 21.01.2015, 12:16:57 от maxis »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Доработать плагин импорта полей CFI от joomline

Автор R31rus

Ответов: 1
Просмотров: 503
Последний ответ 21.12.2022, 10:40:11
от R31rus
Плагин Smart Search для своего компонента

Автор ftp27

Ответов: 1
Просмотров: 1993
Последний ответ 07.01.2017, 19:44:04
от newvideo
Плагин заказа обратного звонка

Автор maska

Ответов: 14
Просмотров: 1913
Последний ответ 22.05.2016, 18:28:00
от maska
Запустить контент-плагин в модуле

Автор mohax

Ответов: 10
Просмотров: 5268
Последний ответ 30.03.2015, 18:04:20
от twins717
Плагин загрузить аватор для Joomla 1.5

Автор espey

Ответов: 0
Просмотров: 1207
Последний ответ 10.10.2014, 20:24:27
от espey