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

ilgizon87

  • Захожу иногда
  • 134
  • 11 / 0
Я хочу втиснуть сюда модуль <jdoc:include type="message" /> 
<?php if($this->countModules('right')) : ?>
                  <div id="sidebar_right">
                         <jdoc:include type="modules" name="right" style="xhtml" />
                  </div>
               <?php endif; ?>
                                                       
                <div id="content_out<?php echo $contentwidth; ?>">
                  <div class="content">
                                                         <jdoc:include type="component" />
                  </div>
               </div>
            </div>   
как лучше это сделать?
*

Aleks_El_Dia

  • Живу я здесь
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Re: необходимо прописать модуль
« Ответ #1 : 20.01.2011, 12:51:38 »
Вставьте сразу после  <div class="content"> хотя не понятно чего вы хотите добиться.
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

ilgizon87

  • Захожу иногда
  • 134
  • 11 / 0
Re: необходимо прописать модуль
« Ответ #2 : 20.01.2011, 13:06:12 »
Я так и делал.Но почему-то когда допустим должно выйти системное сообщение - неправильные логин и пароль,то оно не выходит,а выходит только после перехода на какую-нибудь вкладку меню,авторизации и т.п.но мне нужно что бы оно выдавалось сразу же,а лучше прописать так что бы пользователя перебрасывало на страницу с только системным сообщением.
« Последнее редактирование: 20.01.2011, 13:12:27 от ilgizon87 »
*

Aleks_El_Dia

  • Живу я здесь
  • 3671
  • 353 / 0
  • AEDStudio Joomla! Direction
Re: необходимо прописать модуль
« Ответ #3 : 20.01.2011, 13:10:05 »
Значить дело не в месте вывода системных сообщений, а в чем то другом. Ради эксперимента проверьте вывод системных сообщений в стандартном шаблоне.
Спам придумали боги в отместку за наши молитвы (с) Рома Воронежский
На молоко: Z369038872422 || R210017695494 || U247040729215 || ЯД 410011288250383
Мигрирую сайты, переношу расширения J!1.0->J!1.5->J!2.5. Более 50 успешных миграций.
*

ilgizon87

  • Захожу иногда
  • 134
  • 11 / 0
Re: необходимо прописать модуль
« Ответ #4 : 20.01.2011, 13:13:36 »
Я в этом не очень силен.Может кто-нибудб из местных разберется
Код
<?php
defined( '_JEXEC' ) or die( 'Access to this location is RESTRICTED.' );
echo '<?xml version="1.0" encoding="utf-8"?'.'>';
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
<head>
<jdoc:include type="head" />
<?php
// inserting mootools
JHTML::_('behavior.mootools');
?>
<meta name="designer" content="Juergen Koller - http://www.lernvid.com" />
<meta name="licence" content="Copywright LernVid.com" />
<link href="templates/<?php echo $this->template ?>/css/reset.css" rel="stylesheet" type="text/css" media="all" />
<link href="templates/<?php echo $this->template ?>/css/template.css" rel="stylesheet" type="text/css" media="all" />
  <!--[if IE 7]>
  <link href="templates/<?php echo $this->template ?>/css/ie7.css" rel="stylesheet" type="text/css" media="all" />
   <![endif]-->
   <!--[if lt IE 7]>
  <link href="templates/<?php echo $this->template ?>/css/ie5x6x.css" rel="stylesheet" type="text/css" media="all" />
   <![endif]-->
<?php
if($this->countModules("left")&&!$this->countModules("right")){ $contentwidth="left";}
if($this->countModules("right")&&!$this->countModules("left")){ $contentwidth="right";}
if($this->countModules("left")&&$this->countModules("right")) {$contentwidth="middle"; }
?>
<?php if (($this->params->get('useJavascript'))!=0) : ?>
<script type="text/javascript" src="templates/<?php echo $this->template ?>/js/hover.js"></script>
<?php endif;?>
<script type="text/javascript" src="templates/<?php echo $this->template ?>/js/fontsizer.js"></script>
</head>

<body>
<div id="wrapper">
<div id="bg_up">
<div id="masthead_container">
<div id="masthead">
<?php if (($this->params->get('showFontsizer'))!=0) : ?>
<div id="fontsizer">
    <a href="index.php" title="Font Larger" onclick="changeFontSize(1);return false;"> <img onmouseout="this.src='templates/<?php echo $this->template ?>/images/plus.png';" onmouseover="this.src='templates/<?php echo $this->template ?>/images/plus_hover.png';" src="templates/<?php echo $this->template ?>/images/plus.png" alt="plus" title="Font Larger" style="width:20px;height:30px;" height="20" width="30" border="none" /></a> <a href="index.php" title="Font Smaller" onclick="changeFontSize(-1);return false;"><img onmouseout="this.src='templates/<?php echo $this->template ?>/images/minus.png';" onmouseover="this.src='templates/<?php echo $this->template ?>/images/minus_hover.png';" src="templates/<?php echo $this->template ?>/images/minus.png" alt="minus" title="Font Smaller" style="width:20px;height:30px;" height="20" width="30" border="none" /></a> <a href="index.php" title="Font Standard" onclick="revertStyles(); return false;"><img onmouseout="this.src='templates/<?php echo $this->template ?>/images/reset.png';" onmouseover="this.src='templates/<?php echo $this->template ?>/images/reset_hover.png';" src="templates/<?php echo $this->template ?>/images/reset.png" alt="gleich" title="Font Standard" style="width:20px;height:30px;" height="20" width="30" border="none" /></a>
</div>
<?php endif; ?>
<div id="sitetitle"><?php echo $mainframe->getCfg('sitename');?></div>
</div>
</div>
<div id="container">
<!-- Begin Container -->
<?php if($this->countModules('user4')) : ?>
<div id="searchbox">
<div id="search">
<div id="search_inner">
             <jdoc:include type="modules" name="user4" style="xhtml" />
</div>
</div>
</div>
<?php endif; ?>
<?php if($this->countModules('user3')) : ?>
<div id="navigation">
             <jdoc:include type="modules" name="user3" style="xhtml" />
</div>
<?php endif; ?>
<div id="top">
<?php if($this->countModules('top')) : ?>
             <jdoc:include type="modules" name="top" style="xhtml" />
<?php endif; ?>
</div>
                           
<!-- Begin Page Content -->
<div id="page_content">
<!-- Begin Content Upside -->
<div id="content_up">
<div id="content_up_left">
<div id="breadcrumbs">
            <jdoc:include type="module" name="breadcrumbs" />
    </div>
<div id="content_up_right">
</div>
</div>
</div>
<!-- End Content Upside -->
<?php if($this->countModules('left')) : ?>
<div id="sidebar_left">
             <jdoc:include type="modules" name="left" style="xhtml" />
</div>
<?php endif; ?>
<?php if($this->countModules('right')) : ?>
<div id="sidebar_right">
             <jdoc:include type="modules" name="right" style="xhtml" />
</div>
<?php endif; ?>
                                                         
    <div id="content_out<?php echo $contentwidth; ?>">
<div class="content">
                                                         <jdoc:include type="message" /> 
                                                         <jdoc:include type="component" />
</div>
</div>
</div>
<!-- Begin Content Downside -->
<div id="content_down">
<div id="content_down_left">
<div id="content_down_right">
</div>
</div>
</div>
<!-- End Content Downside -->
<div id="container2">
<!-- End Page Content -->
<div id="user_modules1">
<?php if($this->countModules('user1')) : ?>
<div id="user1">
           <jdoc:include type="modules" name="user1" style="xhtml" />
</div>
<?php endif; ?>
<?php if($this->countModules('user2')) : ?>
<div id="user2">
           <jdoc:include type="modules" name="user2" style="xhtml" />
</div>
<?php endif; ?>
</div>
<div id="user_modules2">
<?php if($this->countModules('user5')) : ?>
<div id="user5">
<jdoc:include type="modules" name="user5" style="xhtml" />
</div>
<?php endif; ?>
<?php if($this->countModules('user6')) : ?>
<div id="user6">
<jdoc:include type="modules" name="user6" style="xhtml" />
</div>
<?php endif; ?>
</div>
<div id="footer">
<jdoc:include type="modules" name="footer" />
</div>
<div id="bottom">
<div id="date"><?php echo JHTML::Date($this->date_field, "%A, %d. %B %Y"); ?></div>
<div id="go_top"><p><a href="#">Top</a></p></div>
<div id="syndicate">
<?php if($this->countModules('syndicate')) : ?>
<jdoc:include type="modules" name="syndicate" />
<?php endif; ?>
</div>
</div>
<div id="copyright_info">
<p><?php echo  $this->params->get('CopyrightInfo');  ?></p>

</div>
</div>
<jdoc:include type="modules" name="debug" style="xhtml" />
</body>
</html>
« Последнее редактирование: 20.01.2011, 13:17:54 от ilgizon87 »
*

ilgizon87

  • Захожу иногда
  • 134
  • 11 / 0
Re: необходимо прописать модуль
« Ответ #5 : 20.01.2011, 13:51:10 »
в стандартном шаблоне та же самая история.
*

ilgizon87

  • Захожу иногда
  • 134
  • 11 / 0
Re: необходимо прописать модуль
« Ответ #6 : 20.01.2011, 20:35:46 »
Короче я так понял что системные сообщения не выходят только на главной странице.С чем это может быть связано?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как закрыть от индексации модуль?

Автор kirill-juk

Ответов: 27
Просмотров: 5140
Последний ответ 12.11.2016, 23:00:04
от flyingspook
Как показывать баннер (модуль) только для мобильных устройств?

Автор Escander

Ответов: 9
Просмотров: 4163
Последний ответ 27.10.2016, 12:26:56
от Escander
Подскажите простой модуль выбора категории материала ?

Автор akteon25

Ответов: 0
Просмотров: 2357
Последний ответ 23.05.2016, 09:54:53
от akteon25
Модуль лезет на все страницы, а должен быть только на главной.

Автор landgraf

Ответов: 23
Просмотров: 12638
Последний ответ 13.05.2016, 13:22:37
от akteon25
модуль не отображается в нужной позиции

Автор Denis_____5

Ответов: 14
Просмотров: 8638
Последний ответ 09.02.2016, 20:14:16
от andreano9120