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

keeps

  • Новичок
  • 3
  • 0 / 0
Как расставить позиции?
« : 13.06.2012, 00:54:18 »
Шаблон установлен yoo_cloud, не самый новый вроде 1.0.5. Joomla 2.5.4
Я хочу что бы было вот так. Отмечено красным.

Получается только то что отмечено желтым.
Мне нужно на странице одновременно и так и так.


меняю настройки в шаблоне (синие), но ничего не меняется
*

sergoguga

  • Давно я тут
  • 896
  • 70 / 8
  • www.mpbox.ru
Re: Как расставить позиции?
« Ответ #1 : 13.06.2012, 01:04:59 »
может, там нечего выводить? модули в наличии, которые выводятся в обведенным красным местах? если ставили квик-старт, то должны быть, если просто шаблон поставили, то модулей и не будет))) а вообще есть техподдержка у разработчика))) за что ж вы деньги заплатили-то, а?))) или не?)))) не платили? а?)))))
>>> Верстка 100 евро - ждешь новый курс? Пиши!
>>> Создание моб. приложений по ГОСТу)))! Личка работает!
>>> Микроразметка по стандартам - цены адекват! Пиши, не боись!
>>> Личный кабинет на ZOO - уже сделан! Пиши в личку, не стесняйся!
*

keeps

  • Новичок
  • 3
  • 0 / 0
Re: Как расставить позиции?
« Ответ #2 : 13.06.2012, 01:36:09 »
Мне важны не сами модули. Я хочу чтобы было 2 столбца, а получается только 3. Не могу сделать, чтобы на разных строках было разное количество столбцов.

Боюсь техподдержка меня за своего не примет))
*

sergoguga

  • Давно я тут
  • 896
  • 70 / 8
  • www.mpbox.ru
Re: Как расставить позиции?
« Ответ #3 : 13.06.2012, 03:20:51 »
Мне важны не сами модули. Я хочу чтобы было 2 столбца, а получается только 3. Не могу сделать, чтобы на разных строках было разное количество столбцов.

Боюсь техподдержка меня за своего не примет))
да уж, смысл вопроса стал понятен только щас, не прошло и года.... так и дальше будете выжимать в час по чайной ложке?)))
если вы хотите в три столбца путем включения кнопочек внутри админки шаблона, то только к разработчикам!!))) я например ни разу не лазил в этом шаблоне , да и много ли народу наберется кто лазил? а вообще сделать то что трэба можно путем правки в коде шаблона - буквально в течение минуты.... но это видимо из другой оперы!!)))
>>> Верстка 100 евро - ждешь новый курс? Пиши!
>>> Создание моб. приложений по ГОСТу)))! Личка работает!
>>> Микроразметка по стандартам - цены адекват! Пиши, не боись!
>>> Личный кабинет на ZOO - уже сделан! Пиши в личку, не стесняйся!
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: Как расставить позиции?
« Ответ #4 : 13.06.2012, 07:07:47 »
1. В менеджере шаблонов жмякаем на "настройки" - шестерня такая. Ставим галку, если не стоит, "разрешить просмотр позиций".
2. Набираем в адресной строке http://вашсайт/?tp=1
Смотрим позиции, если удовлетворяющих вашим требований таки нет, сложнее. Выкладываете сайт в сеть, пишете сюда УРЛ. Поможем.
*

keeps

  • Новичок
  • 3
  • 0 / 0
Re: Как расставить позиции?
« Ответ #5 : 13.06.2012, 22:25:11 »
В том то и дело, что таких позиций нет. Извиняюсь, что изначально поставил вопрос не точно. Буду конкретнее. Вот код в котором всё выводится.

Код
<!DOCTYPE HTML>
<html lang="<?php echo $this['config']->get('language'); ?>" dir="<?php echo $this['config']->get('direction'); ?>">

<head>
<?php echo $this['template']->render('head'); ?>
</head>

<body id="page" class="page <?php echo $this['config']->get('body_classes'); ?>" data-config='<?php echo $this['config']->get('body_config','{}'); ?>'>

<div id="page-bg">

<div id="page-bg2">

<?php if ($this['modules']->count('absolute')) : ?>
<div id="absolute">
<?php echo $this['modules']->render('absolute'); ?>
</div>
<?php endif; ?>

<div id="block-toolbar">

<div class="wrapper">

<div id="toolbar" class="grid-block">

<?php if ($this['modules']->count('toolbar-l') || $this['config']->get('date')) : ?>
<div class="float-left">

<?php if ($this['config']->get('date')) : ?>
<time datetime="<?php echo $this['config']->get('datetime'); ?>"><?php echo $this['config']->get('actual_date'); ?></time>
<?php endif; ?>

<?php echo $this['modules']->render('toolbar-l'); ?>

</div>
<?php endif; ?>

<?php if ($this['modules']->count('toolbar-r')) : ?>
<div class="float-right"><?php echo $this['modules']->render('toolbar-r'); ?></div>
<?php endif; ?>

</div>

</div>

</div>

<div class="wrapper grid-block">

<header id="header">

<div id="headerbar" class="grid-block">

<?php if ($this['modules']->count('logo')) : ?>
<a id="logo" href="<?php echo $this['config']->get('site_url'); ?>"><?php echo $this['modules']->render('logo'); ?></a>
<?php endif; ?>

<?php if($this['modules']->count('headerbar')) : ?>
<div class="left"><?php echo $this['modules']->render('headerbar'); ?></div>
<?php endif; ?>

</div>

<div id="menubar" class="grid-block">

<?php  if ($this['modules']->count('menu')) : ?>
<nav id="menu"><?php echo $this['modules']->render('menu'); ?></nav>
<?php endif; ?>

<?php if ($this['modules']->count('search')) : ?>
<div id="search"><?php echo $this['modules']->render('search'); ?></div>
<?php endif; ?>

</div>

<?php if ($this['modules']->count('banner')) : ?>
<div id="banner"><?php echo $this['modules']->render('banner'); ?></div>
<?php endif;  ?>

</header>

<?php if ($this['modules']->count('top-a')) : ?>
<section id="top-a" class="grid-block"><?php echo $this['modules']->render('top-a', array('layout'=>$this['config']->get('top-a'))); ?></section>
<?php endif; ?>

<?php if ($this['modules']->count('top-b')) : ?>
<section id="top-b" class="grid-block"><?php echo $this['modules']->render('top-b', array('layout'=>$this['config']->get('top-b'))); ?></section>
<?php endif; ?>

<?php if ($this['modules']->count('innertop + innerbottom + sidebar-a + sidebar-b') || $this['config']->get('system_output')) : ?>
<div id="main" class="grid-block">

<div id="maininner" class="grid-box">

<?php if ($this['modules']->count('innertop')) : ?>
<section id="innertop" class="grid-block"><?php echo $this['modules']->render('innertop', array('layout'=>$this['config']->get('innertop'))); ?></section>
<?php endif; ?>

<?php if ($this['modules']->count('breadcrumbs')) : ?>
<section id="breadcrumbs"><?php echo $this['modules']->render('breadcrumbs'); ?></section>
<?php endif; ?>

<?php if ($this['config']->get('system_output')) : ?>
<section id="content" class="grid-block"><?php echo $this['template']->render('content'); ?></section>
<?php endif; ?>

<?php if ($this['modules']->count('innerbottom')) : ?>
<section id="innerbottom" class="grid-block"><?php echo $this['modules']->render('innerbottom', array('layout'=>$this['config']->get('innerbottom'))); ?></section>
<?php endif; ?>

</div>
<!-- maininner end -->

<?php if ($this['modules']->count('sidebar-a')) : ?>
<aside id="sidebar-a" class="grid-box"><?php echo $this['modules']->render('sidebar-a', array('layout'=>'stack')); ?></aside>
<?php endif; ?>

<?php if ($this['modules']->count('sidebar-b')) : ?>
<aside id="sidebar-b" class="grid-box"><?php echo $this['modules']->render('sidebar-b', array('layout'=>'stack')); ?></aside>
<?php endif; ?>

</div>
<?php endif; ?>
<!-- main end -->

<?php if ($this['modules']->count('bottom-a')) : ?>
<section id="bottom-a" class="grid-block"><?php echo $this['modules']->render('bottom-a', array('layout'=>$this['config']->get('bottom-a'))); ?></section>
<?php endif; ?>

<?php if ($this['modules']->count('bottom-b')) : ?>
<section id="bottom-b" class="grid-block"><?php echo $this['modules']->render('bottom-b', array('layout'=>$this['config']->get('bottom-b'))); ?></section>
<?php endif; ?>

<?php if ($this['modules']->count('footer + debug') || $this['config']->get('warp_branding')) : ?>
<footer id="footer" class="grid-block">

<?php if ($this['config']->get('totop_scroller')) : ?>
<a id="totop-scroller" href="#page"></a>
<?php endif; ?>

<?php
echo $this['modules']->render('footer');
$this->output('warp_branding');
echo $this['modules']->render('debug');
?>

</footer>
<?php endif; ?>

</div>

</div>

</div>

<?php echo $this->render('footer'); ?>

</body>
</html>
*

Shustry

  • Moderator
  • 6434
  • 745 / 3
Re: Как расставить позиции?
« Ответ #6 : 13.06.2012, 22:30:45 »
У вас клубный шаблон. Там чёрт ногу сломит невозможно сходу разобраться. К примеру вместо <jdoc:include type="modules" name="banner" /> используется <?php echo $this['modules']->render('banner'); ?>. Теоретически, вы можете по-аналогии вставить в желаемые места <?php echo $this['modules']->render('preved'); ?>. Будет ли работать в реале - сложно сказать.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Добавление позиции модуля

Автор 13RUS

Ответов: 1
Просмотров: 1906
Последний ответ 16.12.2016, 12:38:15
от darkghost
Выравнивание модулей внутри позиции.

Автор user

Ответов: 8
Просмотров: 12289
Последний ответ 28.04.2016, 10:26:01
от ambrazura
mодуль в позиции search_box появляется только в том случае, если в позиции search имеется опубликова

Автор nrjkolyan

Ответов: 0
Просмотров: 1322
Последний ответ 04.03.2016, 21:44:27
от nrjkolyan
[Решено] Вывод модулей с позиции left в шаблоне vt_farm

Автор TV_Master

Ответов: 7
Просмотров: 2723
Последний ответ 06.02.2016, 19:39:40
от Омск
Как изменить ширину позиции (блока) шаблона ?

Автор akeksan

Ответов: 7
Просмотров: 1673
Последний ответ 27.08.2015, 11:56:50
от akeksan