Новости Joomla

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями 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 Гость просматривают эту тему.
  • 20 Ответов
  • 5954 Просмотров
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
AdsManager v.2.1.9
mod_adsmanager_menu v.1.1.0

По умолчанию при публикации данного модуля выводятся 3 типа меню
1 - меню добавления, профиля и пр.
2 - ссылка на все объявления
3 - сам каталог

Проблема в том, что на сайте предполагается эту информацию выводить в разных местах.

Можно ли это реализовывать отдельными модулями или придётся из одного
путём ручного вырезания создавать отдельные модули для каждого случая.
*

fatalerror

  • Захожу иногда
  • 444
  • 48 / 2
  • Уполномоченный по правам чайников
Нормальное, кстати, решение подсказали. Действительно, можно накопировать модули, убрать в каждом случае ненужное и разместить в соответствующих потребностям местах.
Оказывается все так просто....
Расстреляно форумчан за нецензурщину: 1 (один).  Дерьмо случается...
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Ну это, конечно, совсем радикальный способ. ^-^
Но можно и ввести в настройки (через xml) 3 позиции radiobutton, каждый из которых определяет что этот модуль выводит.
Единственные трудности в обоих случаях - это выходы новых версий этого модуля.
Придётся обновляться вручную через копипаст.
*

kenti

  • Новичок
  • 6
  • 0 / 0
delete
*

Trok

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Подскажите, есть ли решение такой же задачи для версии 2.6.4?
Немного напрягает, когда все выводится в одну колонку, плюс еще и дублируется, так как компонент - по умолчанию главная.
*

Trok

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Требуется помощь по разделению содержимого модуля меню эдсменеджера 2.6.4. Вариант с копированием и "обрезанием" не понял, так как хз откуда вырезать код, если копия модуля работает с файлами из одной и той же папки, что и первоначальный модуль. Может я не в курсе, где и как он копируется, что бы можно было в одном (модуле) править код не затронув другой, тогда расскажите, как это делается?
*

Trok

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
И тишина, как будто задал нубовский вопрос... Если так и есть, ткните носом в решение, да про "обрезание" кода расскажите.
*

Trok

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Я настойчивый) Вопрос постом выше остается открытым. :)
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Я настойчивый) Вопрос постом выше остается открытым. :)
Не очень понятна суть вопроса.
Нужно выводить одну и ту же информацию разными видами оформления?
*

Trok

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Не свосем так. Нужно, что бы в одном куске мдуля выводилось только: Мой профиль,мои объявления и тд., категории убрать вовсе так как они дублируются,е сли компонент назначен на главной.
*

Trok

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

Trok

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Не очень понятна суть вопроса.
Нужно выводить одну и ту же информацию разными видами оформления?
Требуется разделить содержимое модуля. "Разрезать" один модуль на 3 отдельных. Выше говорили, что это можно сделать простым удалением кода. Подскажите как это сделать, так как при копировании модуля, папка на сервере с самим модулем не копируется, а остается одной для всех копий этого модуля.
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Думаю что ответ напрашивается сам.
Можно сделать 3 разные версии установочного модуля, заменив в каждом их них содержимое файла mod_названиемодуля.xml.
Таким образом получите 3 разных модуля с одинаковым содержанием и функционалом.
Ну а дальше меняйте код в каждом из них на свое усмотрение.
*

Trok

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Спасибо, буду пробовать. Позже отпишусь.
*

Trok

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Попробовал - работает. Сменить названия модуля в файле и имена файлов формата .xml и .php - вуаля, система не ругается, что мы пытаемся поставить еще раз один и тот же модуль.
*

gdX

  • Глобальный модератор
  • 995
  • 128 / 0
  • Открыт к заказам по дизайну
Попробовал - работает. Сменить названия модуля в файле и имена файлов формата .xml и .php - вуаля, система не ругается, что мы пытаемся поставить еще раз один и тот же модуль.
Ну да, я так всегда делал в таких случаях.
*

Trok

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Итак, выкладываю решение проблемы для adsmanager2.6.4 если повторяются елементы меню, в частности список категорий.

Дублируем модуль как было рассказано выше. В дублированном модуле, в котором не должны отображаться категории объявлений сносим блок кода:
Код
 if (@$current_list[count($current_list) - 1 -$level] == $row->id)
{
echo "<ul>";
displayMenuCats($row->id, $level+1, $children,$itemid,$current_list,$displaynumads);
echo "</ul>";
}
Это в файле mod_adsmanager_menu.php.
В файле default.php сносим:
Код
<?php
if ($displaynumads == 1)
$all = JText::_('ADSMANAGER_MENU_ALL_ADS'). "($nbcontents)";
else
$all = JText::_('ADSMANAGER_MENU_ALL_ADS');
?>
<li><a href="<?php echo $link_show_all; ?>"><span><?php echo $all;?></span></a></li>
<li><span class="separator" >- - - - - - -</span></li>
<?php
displayMenuCats(0, 0, $cats,$itemid,$current_list,$displaynumads);
?>

После таких трансмутаций получаем нормальное меню пользователя не засоренное списком категорий.
*

Trok

  • Осваиваюсь на форуме
  • 30
  • 0 / 0
Ну да, я так всегда делал в таких случаях.
Для опытного пользователя всегда будет естественным использовать свой опыт.  Я же начинающий. (:
*

nick71

  • Завсегдатай
  • 1145
  • 12 / 12
  • Сайты любой сложности - обращайтесь
подскажите, а как-то можно настроить при добавлении выбор области - города этой области, как например на сайтах знакомств и т.д... выбираешь область, в следующем окне выбираешь населенный пункт этой области? И еще чтоб в отдельном модуле выводился список областей-городов?
*

lionman

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
Проблема такая. Второй такой же переименованный модуль отлично устанавливается. Но при публикации модуля, Страницы сайта не открываются. Версия АдсМанажера 2.6.5
*

lionman

  • Осваиваюсь на форуме
  • 40
  • 0 / 0
Уважаемы или скиньте пожалуйста свои модули, которые вы продублировали. Потому что у меня работает либо один либо другой. Если публиковать 2 сразу, то почему то выходит ошибка
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

[Решено]Дублирования ссылки "объвления" в breadcrumb, в компоненте AdsManager

Автор nicklas

Ответов: 4
Просмотров: 6321
Последний ответ 25.04.2024, 23:13:18
от Rinat abzyi
AdsManager вывод нужных полей по отдельности

Автор klekovkinandrey

Ответов: 2
Просмотров: 16987
Последний ответ 06.04.2024, 09:54:15
от Rinat abzyi
AdsManager загрузка файлов

Автор FlexNL

Ответов: 1
Просмотров: 5510
Последний ответ 21.10.2021, 17:20:09
от khan-alex
AdsManager 2.9.13 Есть ли возможность добавить функцию снять с публикации по мимо редактировать и уд

Автор murovoz

Ответов: 11
Просмотров: 15970
Последний ответ 27.03.2020, 22:39:23
от Pavel
Два компонента AdsManager в одном движке

Автор kaman62

Ответов: 12
Просмотров: 30828
Последний ответ 27.03.2020, 22:32:04
от Pavel