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

kpk17

  • Захожу иногда
  • 257
  • 2 / 0
может у меня версия такая глючная?
не знаю, что уж и делать
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
нет, не работает.

т.е. вот так?
<?php
echo $option = JRequest::getVar('option', null);
echo $page = JRequest::getVar('page', null);
?>

на страницах Joomla com_content
на страницах категорий com_virtuemartshop.browse  com_virtuemartshop.cart  и др.
ну значит всё правильно передается
*

kpk17

  • Захожу иногда
  • 257
  • 2 / 0
ну значит всё правильно передается
а где тогда собака зарыта?
*

kpk17

  • Захожу иногда
  • 257
  • 2 / 0
Если убрать if вообще (закомментировать //) модуль выводится?

убрал две эти строки.

<?php if ( $this->countModules('center')>0 && $option=='com_VirtueMart' && $page =='shop.index' ) { ?>

<?php } ?>

выводится в магазине и на главной

*

kpk17

  • Захожу иногда
  • 257
  • 2 / 0
может надо на сайте что-то еще включить? плагин или что-то еще?
ну не может же быть чтобы у меня одного не работало
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
*

kpk17

  • Захожу иногда
  • 257
  • 2 / 0
методом тыка найдешь где собака порылась
без условий все работает.
скажите это работает на версии 1.5.14? может версия еще не стабильная?
« Последнее редактирование: 07.09.2009, 18:55:24 от kpk17 »
*

kpk17

  • Захожу иногда
  • 257
  • 2 / 0
Код
<?php
$option = JRequest::getCmd('option');
$view = JRequest::getVar('view', 'frontpage');
if ($option == 'com_content' && $view == 'frontpage') {?>
<jdoc:include type="modules" name="center" />
<?php }?>
вот при таком коде работает.взято отсюда http://joomlaforum.ru/index.php/topic,47388.0.html
*

aclorange

  • Новичок
  • 8
  • 0 / 0
У меня , как и у kpk17 не работал тот код.
Нужно было всего лишь заменить
Код
$option=='com_VirtueMart'
на
Код
$option=='com_virtuemart'
регистр разный, вот в чем была проблема.
*

gora4o

  • Осваиваюсь на форуме
  • 21
  • 0 / 0
Отображение модуля я настроил и теперь он отображается только на страницах магазина, а на главной не отображается, что и нужно было добиться.

Это модуль сортировки (цена, производитель)

Но мне нужно сделать так, что бы этот модуль не отображался на странице корзины и на странице оформления заказа.

Как это сделать, прилагаю мой код:

<?php
      $option = JRequest::getCmd('option');
      $view = JRequest::getVar('view');
      if ($option=='com_virtuemart') {?>
      <!-- BEGIN My Module -->
      <div id="katalog1">
<jdoc:include type="modules" name="katalog1" style="afterburner" />
</div>
      <!-- END My Module -->      
      <?php }?>
*

buddha_machine

  • Новичок
  • 9
  • 0 / 0
Подскажите куда именно нужно пробовать скопировать коды, которые упомянуты выше.
Дело в том, что вставляю какой либо из примеров, при загрузки сайта мне выдает Parse error: syntax error, unexpected '<' in /home/m/myomishop/public_html/index.php on line 26
*

buddha_machine

  • Новичок
  • 9
  • 0 / 0
 пожалуйста, все перепробовал

пробую этот код, но в итоге Parse error: syntax error, unexpected T_ENDIF in /home/m/myomishop/public_html/templates/jp_simpleshop1/index.php on line 191

<?php
$option = JRequest::getVar('option', null);
$page = JRequest::getVar('page', null);
?>
<?php if ( $this->countModules('top') && $option=='com_virtueMart' && $page !='checkout.index' && $page!='shop.cart' && $page!='account.order_details' && $page !='shop.browse' && $page !='checkout.thankyou' && $page !='shop.product_details' )?>
<jdoc:include type="modules" name="top" />
<?php endif; ?>
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
Код
<?php
$option = JRequest::getVar('option', null);
$page = JRequest::getVar('page', null);
?>
<?php if ( $this->countModules('top') && $option=='com_virtuemart' && $page !='checkout.index' && $page!='shop.cart' && $page!='account.order_details' && $page !='shop.browse' && $page !='checkout.thankyou' && $page !='shop.product_details' ) { ?>
<jdoc:include type="modules" name="top" />
<?php } ?>
*

buddha_machine

  • Новичок
  • 9
  • 0 / 0
Вообще никакой реакции
В приложении index. Посмотрите пожалуйста


[вложение удалено Администратором]
« Последнее редактирование: 28.10.2009, 08:25:29 от buddha_machine »
*

buddha_machine

  • Новичок
  • 9
  • 0 / 0
щас лучше, но все равно проскакивает кое где :(
*

buddha_machine

  • Новичок
  • 9
  • 0 / 0
ага, ясно

спасибо большое
*

savenko

  • Захожу иногда
  • 83
  • 8 / 0
Заменил top на right и везде стали глюки происходить. Модуль образовался как-бы отдельно в самом верху. Вставил в начале Файла index.php этот код
*

savenko

  • Захожу иногда
  • 83
  • 8 / 0
Понял про что Вы. Белая полоска везде без модулей.
« Последнее редактирование: 24.12.2009, 13:44:57 от savenko »
*

Pashtetdiz

  • Захожу иногда
  • 175
  • 4 / 0
beagler спасибо за решение :D

<?php
 $option = JRequest::getVar('option', null);
 $page = JRequest::getVar('page', null);
?>
         
   <?php if ( $this->countModules('top') && $option=='com_virtuemart' && $page !='checkout.index' && $page!='shop.cart' && $page!='account.order_details' && $page !='shop.browse' && $page !='checkout.thankyou' && $page !='shop.product_details' && $page !='checkout.index' ) {?>

   <div class="module_wrap clearfix">
        <jdoc:include type="modules" name="top"  />
   </div>
   
<?php } ?>

это подошло мне  для области магазина, но как одновременно добавить туда же отображение позиции на главной странице самой Joomla (тип=Шаблон блога материалов на главной) т.к. в этой позиции там стоит другой нужный модуль ,а он теперь не отображается по условию. Пробовал делать по аналогии, но ничего не получается
в php чайник. Помогите !
*

Arkadiy

  • Гуру
  • 5317
  • 463 / 2
  • Крепитесь, други.
&& ($option=='com_virtuemart' || $option=='') или тот $option который у тебя стоит на нужной странице
*

Pashtetdiz

  • Захожу иногда
  • 175
  • 4 / 0
Спасибо Супер Помогло! :D Только пришлось подправить || на | , я так понял это означает "или"
*

Pashtetdiz

  • Захожу иногда
  • 175
  • 4 / 0
Еще вопрос, подскажите пожалуйста. Теперь наоборот - не выводить на главной virtuemart1.1.2, а везде выводить. Ставлю $page !='shopindex' и пробовал $page !='shop.index' , может неправильно обозначаю главную virtuemart1.1.2

Вот полностью

<?php if ( $this->countModules('right') && $option=='com_virtuemart' | $option=='com_content' && $page !='shop.index' ) {?>

            <div id="right" style="width: <?php echo $column_width; ?>px;">
         <jdoc:include type="modules" name="right"  />
      </div>
   <?php } ?>    
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
если у Вас на сайте VM стоит как главная (то есть в mainmenu - первый пункт), то такая конструкция не сработает - так как ссылка - "/"
попробуйте
<?php if ( $this->countModules('right') && $option==null && $page ==null ) {?>
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Редактирование главной страницы VirtueMart

Автор cheni

Ответов: 13
Просмотров: 13413
Последний ответ 02.04.2015, 08:41:09
от flyingspook
Как сделать отображение атрибутов товара в категории ?

Автор Timer

Ответов: 0
Просмотров: 2492
Последний ответ 21.01.2015, 23:43:33
от Timer
Показ модуля на странице товара только

Автор EmAl

Ответов: 24
Просмотров: 4400
Последний ответ 27.05.2014, 08:15:01
от Mitriy-Bug
Подкатегории на главной VirtueMart 1.1.9+ Joomla 1.5

Автор Joury

Ответов: 11
Просмотров: 4386
Последний ответ 28.04.2014, 15:08:47
от ИринаМ
Отображение товаров в виде таблицы

Автор Doppelganger

Ответов: 183
Просмотров: 62388
Последний ответ 15.04.2014, 23:27:29
от 4ifir