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

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
Как же можно сделать индикатор загрузки модуля? Кто знает оч. прошу помочь!
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
Re: Индикатор загрузки модуля. Как?
« Ответ #1 : 26.11.2009, 15:10:26 »
Что вы понимаете под этими словами? Что значит индикатор загрузки?
*

wounderer

  • Захожу иногда
  • 80
  • 3 / 0
Re: Индикатор загрузки модуля. Как?
« Ответ #2 : 26.11.2009, 15:38:37 »
Рекомендую попробовать использовать решение от Adeptus для индикации загрузки страницы..

Код
Кракая инструкция по добавлению в шаблон "Индикатора загрузки" - т.е. маленького окошечка, демонстрируемого пользователю, пока грузится сайт (использованы исходники от d4).

1. Открываем файл index.php шаблона
2. В любом месте между тегами <head> и </head> добавляем код:
Код:

<script type="text/javascript">
function hideLoading() {
document.getElementById('pageIsLoading').style.display = 'none';
}
</script>

3. Сразу после тега <body> добавляем код:
Код:

<div id="pageIsLoading"
style="
position:          absolute;
display:            block;
padding-left:    44px;
padding-right:  12px;
width:             auto;
height:            46px;
line-height:      46px;
border:            1px solid #890000;
color:              #000000;
font-weight:    bold;
background-color: #e5e5e5;
background-image: url(http://www.абсолютный_путь_к_папке_images/loadingcircle.gif);
background-position: 6px center;
background-repeat: no-repeat;">

<script type="text/javascript">
if (typeof window_width == 'undefined' || typeof window_height == 'undefined') {
var window_width;
var window_height;
if( typeof( window.innerWidth ) == 'number' ) {
  window_width = window.innerWidth;
  window_height = window.innerHeight;
} else if( document.documentElement &&
    ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) {
  window_width = document.documentElement.clientWidth;
  window_height = document.documentElement.clientHeight;
} else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) {
  window_width = document.body.clientWidth;
  window_height = document.body.clientHeight;
}
}
var left = Math.round((window_width - 200) / 2);
var top = Math.round(((window_height - 46) / 3) + 46);
document.getElementById('pageIsLoading').style.left = left+'px';
document.getElementById('pageIsLoading').style.top = top+'px';
</script>
Загружается... Ждите...
</div>

Разумеется, настройки стиля отображения и текста можно изменить на ваш вкус.
4. Непосредственно перед тегом </body> в самом конце файла добавляем код:
Код:

<script type="text/javascript">
if (window.addEventListener) {
window.addEventListener('load', hideLoading, false);
} else if (window.attachEvent) {
var r = window.attachEvent("onload", hideLoading);
} else {
hideLoading();
}
</script>

5. Закидываем прилагаемую картинку в папку images вашего сайта.
6. Тащимся от собственной крутизны... :)

Разумеется, вы можете использовать любую другую картинку - пропишите ее имя в коде и бросьте ее на сайт в указанное место.

Собственно стоит по крайней мере попробовать переделать под модуль, а не под страницу целиком.. Я так полагаю, что для этого изменения надо вносить не в index.php шаблона, а в сам модуль.. вобщем пробуйте :-)
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
Re: Индикатор загрузки модуля. Как?
« Ответ #3 : 26.11.2009, 15:57:55 »
Что вы понимаете под этими словами? Что значит индикатор загрузки?
Как и призагрузки страницы - а тут при загрузки модуля, бывают действительно "тяжелые" модули и вот к ним неплохо было добавить такую возможность.
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
Re: Индикатор загрузки модуля. Как?
« Ответ #4 : 26.11.2009, 15:58:59 »
Собственно стоит по крайней мере попробовать переделать под модуль, а не под страницу целиком.. Я так полагаю, что для этого изменения надо вносить не в index.php шаблона, а в сам модуль.. вобщем пробуйте :-)
Вообще не предстявляю как это переделать для модуля.
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

wounderer

  • Захожу иногда
  • 80
  • 3 / 0
Re: Индикатор загрузки модуля. Как?
« Ответ #5 : 26.11.2009, 16:03:12 »
Работать с .php модуля, отвечающего за вывод собственно модуля, как с index.php шаблона..Возможно что то получится )
*

yuri-it

  • Давно я тут
  • 994
  • 44 / 3
  • Быстрый хостинг https://jehost.ru
Re: Индикатор загрузки модуля. Как?
« Ответ #6 : 26.11.2009, 16:13:07 »
Работать с .php модуля, отвечающего за вывод собственно модуля, как с index.php шаблона..Возможно что то получится )
Нуэто понятно. Может кто-нибудь подскажет путь в каком копать?
По-настоящему быстрый хостинг для Joomla : https://jehost.ru
Отзывы: http://joomlaforum.ru/index.php/topic,109288.0.html
Отзывы по хостингу http://hosting101.ru/jehost.ru
*

wounderer

  • Захожу иногда
  • 80
  • 3 / 0
Re: Индикатор загрузки модуля. Как?
« Ответ #7 : 26.11.2009, 16:24:40 »
Так я ж подсказал уже =) Открываешь имя_модуля.php, и попробуй по инструкции выложенной выше встроить код в модуль... У меня просто нет настолько тяжелых модулей, на которых можно бы было проверить :-)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как поменять основные цвета модуля

Автор aisedora21

Ответов: 7
Просмотров: 5603
Последний ответ 24.06.2021, 20:23:06
от Moysha
Как убрать ссылку на allforjoomla.ru из модуля SimpleForm2?

Автор Loh

Ответов: 3
Просмотров: 4441
Последний ответ 20.06.2017, 11:17:28
от ZyX
Суффикс класса модуля

Автор sashgera

Ответов: 10
Просмотров: 2250
Последний ответ 22.02.2015, 00:01:22
от sashgera
Wrapper \ Захват только материала или модуля

Автор Mesuti

Ответов: 4
Просмотров: 2235
Последний ответ 28.11.2014, 09:44:38
от Mesuti
Как задать позицию модуля по умолчанию при установке?

Автор tamaz

Ответов: 6
Просмотров: 2205
Последний ответ 26.08.2014, 14:48:06
от tamaz