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

Art_i

  • Захожу иногда
  • 143
  • 5 / 0
Здравствуйте.
Подскажите, пожалуйста, как сделать, чтобы вывод осуществлялся по n - колонок в одном ряду.
Например, стандартный шаблон выводит n- количество статей (например 8) в этом диве -
Код
<div class="newsflash<?php echo $moduleclass_sfx; ?>">
Здесь 8 статей
</div>

Код
<div class="newsflash<?php echo $moduleclass_sfx; ?>">
<?php foreach ($list as $item): ?>
<?php require JModuleHelper::getLayoutPath('mod_articles_news', '_item'); ?>
<?php endforeach; ?>
</div>

Мне надо, чтобы шаблон выводил по 4 статьи (или другое количество) в одном ряду. И каждый ряд должен быть обернут в этот div <div class="newsflash<?php echo $moduleclass_sfx; ?>">
Вот так должно получиться :
Код
<div class="newsflash<?php echo $moduleclass_sfx; ?>">
Здесь 4 статьи
</div>

<div class="newsflash<?php echo $moduleclass_sfx; ?>">
Здесь 4 статьи
</div>
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Код: php
<?php
$x=1;
echo '<div class="newsflash.'$moduleclass_sfx.'">';
foreach ($list as $item):
if($x==4) {
echo '</div><div class="newsflash.'$moduleclass_sfx.'">';
};
require JModuleHelper::getLayoutPath('mod_articles_news', '_item');
$x++;
endforeach;
echo '</div>';
?>
*

Taatshi

  • Гуру
  • 5258
  • 481 / 2
  • Верстаем и кодим. Обращайтесь ;)
Код: php
<?php
$x=1;
echo '<div class="newsflash'.$moduleclass_sfx.'">';
foreach ($list as $item):
if(is_int($x/4)) {
echo '</div><div class="newsflash.'$moduleclass_sfx.'">';
};
require JModuleHelper::getLayoutPath('mod_articles_news', '_item');
$x++;
endforeach;
echo '</div>';
?>
« Последнее редактирование: 18.11.2014, 21:59:37 от Taatshi »
ВЕРСТКА, САЙТЫ ПОД КЛЮЧ, УДАЛЕНИЕ ВИРУСОВ, МИГРАЦИЯ НА JOOMLA 3, ОБНОВЛЕНИЕ  |  ОТЗЫВЫ 
Связь: telegram - Taatshi, почта - Taatshi на яндексе, Skype - Taatshi
*

Art_i

  • Захожу иногда
  • 143
  • 5 / 0
Код: php
<?php
$x=1;
echo '<div class="newsflash.'$moduleclass_sfx.'">';
foreach ($list as $item):
if(is_int($x/4)) {
echo '</div><div class="newsflash.'$moduleclass_sfx.'">';
};
require JModuleHelper::getLayoutPath('mod_articles_news', '_item');
$x++;
endforeach;
echo '</div>';
?>

Не могу найти ошибку. Пробую два варианта, которые выше дали, но открывается пустая страница.
*

Art_i

  • Захожу иногда
  • 143
  • 5 / 0
белый экран ?
Спасибо.
Ошибку такую показывает - Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /home/c/c33253/sharmi/public_html/templates/sharmi/html/mod_articles_news/default.php on line 14
А вот сам код
Код
<?php
/**
 * @package     Joomla.Site
 * @subpackage  mod_articles_news
 *
 * @copyright   Copyright (C) 2005 - 2014 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;
?>
<?php
$x=1;
echo '<div class="newsflash.'$moduleclass_sfx.'">';
foreach ($list as $item):
if($x/4) {
echo '</div><div class="newsflash.'$moduleclass_sfx.'">';
};
require JModuleHelper::getLayoutPath('mod_articles_news', '_item');
$x++;
endforeach;
echo '</div>';
?>
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
$moduleclass_sfx то есть там?
*

Art_i

  • Захожу иногда
  • 143
  • 5 / 0
$moduleclass_sfx то есть там?

Да, эта строка
echo '<div class="newsflash.'$moduleclass_sfx.'">';
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
А если так написать:
echo '<div class="newsflash">';
*

ELLE

  • Глобальный модератор
  • 4505
  • 893 / 0
да просто точка не там
echo '<div class="newsflash.'$moduleclass_sfx.'">';
echo '<div class="newsflash'.$moduleclass_sfx.'">';
*

Shustry

  • Гуру
  • 6434
  • 745 / 3
Точно. Опечатался.
*

Art_i

  • Захожу иногда
  • 143
  • 5 / 0
да просто точка не там
echo '<div class="newsflash.'$moduleclass_sfx.'">';
echo '<div class="newsflash'.$moduleclass_sfx.'">';
Точно !
С этим разобрались. Спасибо.

Но вот только изначальная задача не так работает. Каждый блок обертывается .
Код
<div class="newsflash line clearfix"></div>
<div class="newsflash line clearfix">
<div class="block">
</div>
<div class="newsflash line clearfix">
<div class="block">

А нужно было, чтобы по 4 блока
*

Art_i

  • Захожу иногда
  • 143
  • 5 / 0
А нет . Этот вариант if($x==4) работает.
*

Art_i

  • Захожу иногда
  • 143
  • 5 / 0
А нет . Этот вариант if($x==4) работает.
Но только получается, что в первом
Код
<div class="newsflash line clearfix">
3 блока
</div>
а во втором
<div class="newsflash line clearfix">
5 блоков
</div>
*

Art_i

  • Захожу иногда
  • 143
  • 5 / 0
Итак, сделал if($x==5) и все стало как хотелось .
Спасибо всем, огромное, за помощь.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль вывода материалов категории с фильтром по полям

Автор Vlad1

Ответов: 5
Просмотров: 1419
Последний ответ 14.06.2020, 23:11:43
от voland
SP Quick Contact 1.4 - добавить строку в шаблон

Автор alud

Ответов: 0
Просмотров: 2441
Последний ответ 06.02.2019, 22:00:53
от alud
Модуль для вывода дополнительных изображений

Автор nick2016

Ответов: 1
Просмотров: 1158
Последний ответ 06.06.2016, 19:05:45
от AlekVolsk
Проблема с плагином AllVideos (шаблон responsive)

Автор andSaiksen

Ответов: 0
Просмотров: 1061
Последний ответ 23.03.2016, 14:54:12
от andSaiksen
FP RokSprocket Features - Header Slideshow - не работает Full Slideshow шаблон Chimera

Автор morti

Ответов: 2
Просмотров: 3393
Последний ответ 06.02.2016, 14:52:18
от flash_777