Новости Joomla

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

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

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

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

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

Читать статью на Хабре.

@joomlafeed

🏆 Открыто голосование за 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 Ответов
  • 1376 Просмотров
*

kolhoz

  • Захожу иногда
  • 199
  • 0 / 0
Добрый день. Есть код php, который реализует простой словарь. Как можно весь этот код реализовать в виде модуля? Чтобы можно было выводить в любые позиции?

P.S. есть просто как PHP код вставить в модуль через sourcerer и подобные решения не работает. Интересует именно возможность реализации в виде модуля или компонента.

Код
<?php
//Подключаемся к БД
$link = mysqli_connect('localhost', 'slovar', '123456', 'slovar');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}

//Записываем в переменную данные введенные в поле word
$form_word=htmlspecialchars(trim($_POST['word']));
//Создаем новый массив
$arrayTanslation = array();
//Проверяем, если переменная form_word не пустая
if ($form_word) {
//Выбираем
$query="SELECT * FROM `ruslak` where `word` ='" . $form_word. "' ";
$query2="SELECT * FROM `lakrus` where `word` ='" . $form_word. "' ";
$sql=mysqli_query($link, $query);
$sql2=mysqli_query($link, $query2);
//Записываем в массив arrayTanslation данные из результат выборки
while($data = mysqli_fetch_assoc($sql)){
array_push($arrayTanslation, $data["translation"]);
}
while($data2 = mysqli_fetch_assoc($sql2)){
array_push($arrayTanslation, $data2["translation"]);
}
mysqli_free_result($data);
mysqli_free_result($data2);
}
?>

<div class="header"></div>

<div class="dictionary_content">
<div class="word">
<span>
<?php
if (empty($form_word)) {
echo "Словарь";
} else if (count($arrayTanslation) == 0) {
echo "Слово не найдено";
} else {
echo $form_word;
}
?>
</span>
</div>

<div class="translation">
<span>
<?php
if (empty($form_word)) {
echo "Словарь";
} else if (count($arrayTanslation) == 0) {
echo "Для слова <span class=\"search_word\">" . $form_word . "</span> отсутствует перевод";
} else {
foreach($arrayTanslation as $value) {
echo "<span class=\"search_success\">Найдено:</span> " . $value . "<br/><br/>";
}
}
?>
</span>
</div>
</div>

<form action="" method="post" autocomplete="off">
<input type="text" name="word" value="" placeholder="Введите слово"/>
<button><img src="img/search.svg" alt="Найти"/></button>
</form>
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Реализовать код PHP в модуле
« Ответ #1 : 14.11.2016, 10:41:33 »
создайте свой шаблон в mod_custom, в папке tmpl, например slovar.php. туда вставьте ваш код. а дальше просто добавляйте модуль HTML в нужную позицию, в поле HTML ничего не пишите, а просто выбирайте свой шаблон slovar
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Реализовать код PHP в модуле
« Ответ #2 : 14.11.2016, 12:32:41 »
Я
Добрый день. Есть код php, который реализует простой словарь. Как можно весь этот код реализовать в виде модуля? Чтобы можно было выводить в любые позиции?

P.S. есть просто как PHP код вставить в модуль через sourcerer и подобные решения не работает. Интересует именно возможность реализации в виде модуля или компонента.
Я смотрю у вас тут база да и логика готова, я бы на вашем месте свой модуль написал, это быстро статьи на эту тему есть поищите, фукнции в helper. И да для работы с базой испольте JDatabase
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Реализовать код PHP в модуле
« Ответ #3 : 14.11.2016, 12:40:19 »
Можно проще, установить https://extensions.joomla.org/extension/custom-html-advanced
Будете код ставить в любом виде.
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

kolhoz

  • Захожу иногда
  • 199
  • 0 / 0
Re: Реализовать код PHP в модуле
« Ответ #4 : 14.11.2016, 14:18:57 »
Спасибо. Получилось переделав шаблон стандартного модуля HTML.
« Последнее редактирование: 14.11.2016, 14:24:22 от kolhoz »
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
Re: Реализовать код PHP в модуле
« Ответ #5 : 14.11.2016, 14:26:47 »
стандартный шаблон затрется при обновлении. создайте свой.
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Реализовать код PHP в модуле
« Ответ #6 : 14.11.2016, 14:38:22 »
стандартный шаблон затрется при обновлении. создайте свой.

При установке адвансета-не затрётся. мы про модуль общаемся и его варианты.
При переопределение, Дмитрий, вы правы. Но модуль не затрёт!
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
*

Septdir

  • Живу я здесь
  • 3370
  • 168 / 4
Re: Реализовать код PHP в модуле
« Ответ #7 : 14.11.2016, 16:06:36 »
В данном случае свой модуль лучше, код сичтайте написан, упаковать 5-10 минут + настройки можно настроечек добавить. Лень самим XML писать если сервисы которые это сделают
Не можете справиться с задачей сами пишите, решу ее за вас, не бесплатно*.
*Интересная задача, Деньги или Бартер. Натурой не беру!
CodersRank | Контакты | Мой GitHub | Workshop
*

vipiusss

  • Гуру
  • 5739
  • 344 / 11
  • Скайп: renor_
Re: Реализовать код PHP в модуле
« Ответ #8 : 14.11.2016, 22:07:35 »
так модулем поделитесь?
Миграция, установка, обновление версий Joomla  |  Создание сайтов "под ключ"  |  Эксклюзивные заглушки "offline"  |  Работа с "напильником" над шаблонами и расширениями
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Получение полей формы регистрации в своём модуле

Автор vanguger

Ответов: 1
Просмотров: 3056
Последний ответ 24.05.2023, 19:04:29
от vanguger
Как убрать ограничение количества символов в html модуле?

Автор Bozhkov2

Ответов: 2
Просмотров: 1524
Последний ответ 05.11.2020, 14:48:38
от Bozhkov2
Какими средствами реализовать личный кабинет для управляющей компании?

Автор hia

Ответов: 1
Просмотров: 847
Последний ответ 23.05.2020, 13:48:02
от SeBun
Как реализовать ивенты (тип поста) в Joomla?

Автор vlladoff

Ответов: 0
Просмотров: 1165
Последний ответ 11.07.2019, 17:13:54
от vlladoff
Не показывать в модуле новостей открытую новость

Автор zahar_92

Ответов: 5
Просмотров: 1599
Последний ответ 15.03.2019, 11:07:37
от zahar_92