Новости Joomla

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями Joomla и использовании FieldsHelper.

В процессе работы с Joomla бывает необходимо работать с пользовательским интерфейсом более тонко, чем обычно. Все формы Joomla состоят из стандартных полей, содержанием, стилем отображения, состоянием (включено/выключено, доступно для редактирования или нет и т.д.) можно управлять с помощью плагинов. Да и для нестандартных проектов хорошей практикой является создание одного системного или нескольких плагинов групп "под проект", в которых храниться весь "нестандарт".

В этой статье описаны все триггеры, которые вызываются через Event Dispatcher из administrator/components/com_fields/src/Helper/FieldsHelper.php, с привязкой к жизненному циклу (порядку этапов работы запроса), аргументам, изменяемым данным и дальнейшему распространению по Joomla. Это поможет вам работать с Joomla свободнее и не опасаясь при этом потерять изменения при очередном обновлении движка.

Подходы, описанные в статье, полезны в тех случаях, когда вы работаете с данными в com_fields - механизме создания и редактирования пользовательских полей ядра Joomla и при использовании FieldsHelper. Многие сторонние компоненты не используют эту возможность, поэтому данная статья будет полезна лишь частично.

🏆 Открыто голосование за Joomla в премии CMS Critic People’s Choice Awards 2025

🏆 Открыто голосование за Joomla в  премии CMS Critic People’s Choice Awards 2025

🗓 Голосование продлится до 27 февраля 2026 года.

👩‍💻 Проголосовать! 👩‍💻

Номинации, в которых можно проголосовать за Joomla:
⭐️ Best Free CMS
⭐️ Best Open Source CMS
⭐️ Best Enterprise CMS

Также в номинации Best e-Commerce Solution участвуют компоненты интернет-магазинов для Joomla:
⭐️ HikaShop
⭐️ Virtuemart

В номинации Best Website Builder оказались:
⭐️ YooTheme
⭐️ SP Page Builder

Что такое CMS Critic Awards?
С 2012 года премия CMS Critic Awards занимает особое место в сообществе систем управления контентом (CMS). Это единственный в своем роде сайт, который составляет рейтинг системы управления контентом и связанных с ними решений на рынке — от малого до крупного и подчеркивает их инновации и услуги.

Каждый год награда CMS Critic Awards присуждается одному победителю в различных отраслевых категориях, таких как: «Лучшая облачная CMS», «Лучший DXP», «Лучшая Headless CMS и других. Затем результаты оглашаются через СМИ вместе с выбором редакции CMS Critic.
В этом году премия вернулась к своим традициям и только TOP-5 движков по количеству номинаций попали в 2-й этап - голосование.

@joomlafeed

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

pavel2950

  • Захожу иногда
  • 194
  • 3 / 0
Написал модуль, который выводит Продукты по хитам через AJAX, все работает без проблем.
За исключением, мне Хиты надо определенных  категорий получать, ID категорий лежат в меня в классах в меню, я циклом выбираю по очереди, и каждый ID передаю через AJAX в php.файл

Файл обработки
Код
class mod***********Helper
{
public static function getAjax()
   
{   
$input = JFactory::getApplication()->input;
$data  = $input->get('data'); //В дату попадают мои ID категорий

        $product = JTable::getInstance('product', 'jshop');

        $ajax_item = $product->getTopHitsProducts(5, array(intval($data))); // сюда отправляю ID = $data

        echo "<li class='parent trend'><a href='#'>Тренды</a><ul class='level_4'>";
            foreach($ajax_item as $product) {
            echo "<li><a href=".$product->product_link.">".$product->name."</a></li>";
            }       
        echo "</ul></li>";
   
}
   
}


Если вместо переменой написать ручками категории, ID то все работает. Автоматизованно не хочет, пытался через инпут передавать, пробовал  тип данных менять стринг на инт и обратно.

Знатоки, подскажите где проблема в коде


P.S. скриншот: http://joxi.ru/eAOGeBjh4zx7PA  на тему что PHP ловит мои ID

P.S. ВСЕМ СПАСИБО. Я ДОПУСТИЛ ОШИБКУ, УКАЗЫВАЛ ОБЩЕЮ КАТЕГОРИЮ для товаров, а в общей категории было пусто, только в под категории были товары.

« Последнее редактирование: 14.02.2018, 12:21:14 от pavel2950 »
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
А вы уверены, что в data что-то приходит. Попробуйте, сначала, вернуть свою переменную и посмотреть, что придёт.
И ещё.
Код
intval($data)
Судя по описанию вы в data передаёте массив. Но парсите его как инт. Он вам просто 1 возвратит http://php.net/manual/ru/function.intval.php#refsect1-function.intval-examples
Попробуйте пройти по массиву array_map'ом http://php.net/manual/ru/function.array-map.php и преобразовать все значения к int, а потом просто передать, вместо array(intval($data)), просто $data
« Последнее редактирование: 14.02.2018, 10:04:49 от kern.USR »
*

pavel2950

  • Захожу иногда
  • 194
  • 3 / 0
Конечно уверен, я же говорю в дату приходит не массив а 1 число, и оно все нормально доходит и выводит его. но в топ хит его игнорит.  В дату поподает 1 число, каждый заход я запускаю новый ajax запрос с новым числом в $data.

Мини видео:
после слова клик 4 числа это ID из меню тянется. А потом уже из php выводим "пидписал спец. для вас ПРОВЕРКА значения "
https://gyazo.com/a4254116d2c308e53503dfbc705649ec
« Последнее редактирование: 14.02.2018, 10:20:10 от pavel2950 »
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
перед
Код
 echo "<li class='parent trend'><a href='#'>Тренды</a><ul class='level_4'>";
сделайте
Код
echo $data;
и посмотрите, что вернёт. Мне кажется, что у вас, всётаки, проблема в приходящем параметре
*

pavel2950

  • Захожу иногда
  • 194
  • 3 / 0
перед
Код
 echo "<li class='parent trend'><a href='#'>Тренды</a><ul class='level_4'>";
сделайте
Код
echo $data;
и посмотрите, что вернёт. Мне кажется, что у вас, всётаки, проблема в приходящем параметре
Выше дописал комментарий свой, + мини видео добавил

скриншот: http://joxi.ru/eAOGeBjh4zx7PA
« Последнее редактирование: 14.02.2018, 10:24:11 от pavel2950 »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
сделайте
Цитировать
$data  = $input->get('data');
var_dump($data);
и покажите результат
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

pavel2950

  • Захожу иногда
  • 194
  • 3 / 0
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Если вместо переменой написать ручками категории, ID то все работает.

т.е. вы хотите сказать, что это

Код
$ajax_item = $product->getTopHitsProducts(5, array(227));

у вас возвращает список товаров, а это

Код
$data = 227;
$ajax_item = $product->getTopHitsProducts(5, array($data));

нет?
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

pavel2950

  • Захожу иногда
  • 194
  • 3 / 0
т.е. вы хотите сказать, что это

Код
$ajax_item = $product->getTopHitsProducts(5, array(227));

у вас возвращает список товаров, а это

Код
$data = 227;
$ajax_item = $product->getTopHitsProducts(5, array($data));

нет?


ДА. ВЫ правильно меня понимаете.
Я сам не понимаю почему так, в плане с переменой не тянет, а руками да.

P.S. ВСЕМ СПАСИБО. Я ДОПУСТИЛ ОШИБКУ, УКАЗЫВАЛ ОБЩЕЮ КАТЕГОРИЮ для товаров, а в общей категории было пусто, только в под категории. А тестил(когда руками прописывал), я просто на абум категорию написал из диапазона.  :) 
« Последнее редактирование: 14.02.2018, 12:27:57 от pavel2950 »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться