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

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
шаблон TheBigEasyTheme  yootheme
у него есть позиция модуля menu она горизонтально выводит модули в позиции меню? а мне хотелось бы что бы это было вертикально

 
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: подскажите как переделать шаблон
« Ответ #1 : 23.01.2012, 23:16:44 »
ап, может кто то даст совет?
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Re: подскажите как переделать шаблон
« Ответ #2 : 23.01.2012, 23:23:25 »
а там менеджер меню работает?
расширения - менеджер меню-ваш мод меню-Стиль меню(слева) - горизонтально/вертикально
ой справа
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: подскажите как переделать шаблон
« Ответ #3 : 24.01.2012, 01:23:28 »
нет вы не поняли, там не меню там в позиции меню выводятся модули, модуль логина в позиции меню, модуль новостей в позиции меню, и они идут один за другим по порядку а мне надо столбиком, задача в переверстке только вот за что и где хвататься не пойму
*

tefun

  • Живу я здесь
  • 2540
  • 130 / 1
  • Легче всего обмануть себя
Re: подскажите как переделать шаблон
« Ответ #4 : 24.01.2012, 01:26:22 »
нет вы не поняли, там не меню там в позиции меню выводятся модули, модуль логина в позиции меню, модуль новостей в позиции меню, и они идут один за другим по порядку а мне надо столбиком, задача в переверстке только вот за что и где хвататься не пойму
ясно, шаблоны не вестаю...
то что постится на фОруме, не вырубается тапОрами
_______________________________________________
Мысли и женщины вместе не приходят М.Ж.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Re: подскажите как переделать шаблон
« Ответ #5 : 24.01.2012, 01:30:49 »
FireBug ищите  класс или id модулей и прописываете им в файле CSS вашего шаблона clear:booth;
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: подскажите как переделать шаблон
« Ответ #6 : 24.01.2012, 01:47:46 »
не могу сообразить поместил вроде но не сработало, вот демо шаблона http://www.yootheme.com/demo/joomla/bigeasy

там в конце модуль логин
*

hedeag

  • Захожу иногда
  • 377
  • 23 / 3
Re: подскажите как переделать шаблон
« Ответ #7 : 26.01.2012, 23:07:34 »
удалил полностью папку CSS из шаблона на вывод модулей она не повлияла, все стало белым без картинок но модуль остался на месте, значит дело не в CSS по идеи?

нашел в шаблоне папку /layouts/ там PHP файл module.php
в нем код, мне кажется тут может быть дело?

// init vars
$id            = $module->id;
$position      = $module->position;
$title         = $module->title;
$showtitle      = $module->showtitle;
$content      = $module->content;
$split_color   = '';
$subtitle      = '';
$title_template   = '';

// init params
foreach (array('suffix', 'style', 'color', 'badge', 'icon', 'dropdownwidth') as $var) {
   $$var = isset($params[$var])? $params[$var] : null;
}

// set default module types
if ($style == '') {
   if ($module->position == 'top-a') $style = 'box';
   if ($module->position == 'top-b') $style = 'box';
   if ($module->position == 'bottom-a') $style = 'box';
   if ($module->position == 'bottom-b') $style = 'box';
   if ($module->position == 'innertop') $style = 'box';
   if ($module->position == 'innerbottom') $style = 'box';
   if ($module->position == 'sidebar-a') $style = 'box';
   if ($module->position == 'sidebar-b') $style = 'box';
}

// test module styles here
//$style = '';
//$color = '';
//$badge = '';
//$icon = '';
//$title = '';
//$content = '';

// force module style
if (in_array($module->position, array('absolute', 'breadcrumbs', 'logo', 'banner', 'search', 'debug'))) {
   $style = 'raw';
   $showtitle = 0;
}
if (in_array($module->position, array('headerbar', 'toolbar-r' ,'toolbar-l', 'footer'))) {
   $style = '';
   $showtitle = 0;
}
if ($module->position == 'menu') {
   $style = $module->menu ? 'raw' : 'dropdown';
}

// set module template using the style
switch ($style) {

   case 'box':
   case 'black':
   case 'transparent':
   case 'color':
      $template      = 'default-1';
      $style         = 'mod-'.$style;
      $subtitle      = 1;
      $title_template = '<h3 class="module-title">%s</h3>';
      break;

   case 'dropdown':
      $template      = 'dropdown';
      $subtitle      = 1;
      break;

   case 'raw':
      $template      = 'raw';
      break;

   default:
      $template      = 'default-1';
      $style         = $suffix;
      $title_template = '<h3 class="module-title">%s</h3>';
}

// set badge if exists
if ($badge) {
   $badge = '<div class="badge badge-'.$badge.'"></div>';
}

// split title in two colors
if ($split_color) {
   $pos = mb_strpos($title, ' ');
   if ($pos !== false) {
      $title = '<span class="color">'.mb_substr($title, 0, $pos).'</span>'.mb_substr($title, $pos);
   }
}

// create subtitle
if ($subtitle) {
   $pos = mb_strpos($title, '||');
   if ($pos !== false) {
      $title = '<span class="title">'.mb_substr($title, 0, $pos).'</span><span class="subtitle">'.mb_substr($title, $pos + 2).'</span>';
   }
}

// create title icon if exists
if ($icon) {
   $title = '<span class="icon icon-'.$icon.'"></span>'.$title.'';
}

// create title template
if ($title_template) {
   $title = sprintf($title_template, $title);
}

// set dropdownwidth if exists
if ($dropdownwidth) {
   $dropdownwidth = 'style="width: '.$dropdownwidth.'px;"';
}

// render menu
if ($module->menu) {

   // set menu renderer
   if (isset($params['menu'])) {
      $renderer = $params['menu'];
   } else if (in_array($module->position, array('menu'))) {
      $renderer = 'dropdown';
   } else if (in_array($module->position, array('toolbar-l', 'toolbar-r', 'footer'))) {
      $renderer = 'default';
   } else {
      $renderer = 'accordion';
   }

   // set menu style
   if ($renderer == 'dropdown') {
      $module->menu_style = 'menu-dropdown';
   } else if ($renderer == 'accordion') {
      $module->menu_style = 'menu-sidebar';
   } else if ($renderer == 'default') {
      $module->menu_style = 'menu-line';
   } else {
      $module->menu_style = null;
   }

   $content = $this['menu']->process($module, array_unique(array('pre', 'default', $renderer, 'post')));
}

// render module
echo $this->render("modules/templates/{$template}", compact('style', 'badge', 'showtitle', 'title', 'content', 'dropdownwidth'));
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Слетели URL и шаблон

Автор max888

Ответов: 2
Просмотров: 7552
Последний ответ 28.12.2020, 17:37:52
от draff
VirtueMart 1.9 шаблон письма

Автор m176

Ответов: 0
Просмотров: 4835
Последний ответ 23.10.2020, 12:38:35
от m176
шаблон IT Newsy - By IceTheme проблема со списком.

Автор wolf34

Ответов: 4
Просмотров: 8285
Последний ответ 30.05.2017, 11:52:27
от darkghost
Как изменить шаблон категории в Joomla 1.5?

Автор nagav

Ответов: 8
Просмотров: 7741
Последний ответ 24.10.2016, 22:09:01
от nagav
Не стал показываться шаблон

Автор rezchik

Ответов: 2
Просмотров: 6577
Последний ответ 14.08.2016, 22:12:50
от rezchik