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

SanyaJoker

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
CSS Суфикс
« : 14.03.2012, 16:49:30 »
Добрый день!

У меня такая проблема что не отрабатывает CSS суфикс страницы. добавил класс в CSS дописал суффикс отображения страницы yarmarka но при обновлении страницы вижу только класс content

Код
<div class="content">
<table style="height: 300px; width: 600px;" border="0" align="center">
Контент...

</table> </div>



</div>


Думал сначала я делаю что то не так но прописал этот суфикс не в отображение страницы а в отображение ссылки и на ней почему то все чудно заработало. Не можете натолкнуть на мысль почему такое может происходить за ранее огромное спасибо!
*

noname-dev

  • Захожу иногда
  • 281
  • 17 / 0
Re: CSS Суфикс
« Ответ #1 : 14.03.2012, 20:18:55 »
А в index.php вашего шаблона есть вывод суфикса класса страницы?
Примерно что-то такое
Код
<?php echo $pageclass ->get('pageclass_sfx'); ?>
*

SanyaJoker

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: CSS Суфикс
« Ответ #2 : 15.03.2012, 11:30:26 »
А в index.php вашего шаблона есть вывод суфикса класса страницы?
Примерно что-то такое
Код
<?php echo $pageclass ->get('pageclass_sfx'); ?>

В PHP не селен :) Но похоже на то что нет такого. Попробовал дописать эту строчку страница вылетела с ошибкой. Все что имею в index.php:

Код
<?php

// no direct access
defined('_JEXEC') or die('Restricted access');

// include config
include_once(dirname(__FILE__).'/config.php');

// get warp
$warp =& Warp::getInstance();

// load main template file, located in /layouts/template.php
echo $warp->template->render('template');
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: CSS Суфикс
« Ответ #3 : 15.03.2012, 13:41:30 »
Судя по коду шаблон с хитростями... В попробуйте в template.php добавить <?php echo $pageclass ->get('pageclass_sfx'); ?>
*

SanyaJoker

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: CSS Суфикс
« Ответ #4 : 15.03.2012, 14:28:40 »
Судя по коду шаблон с хитростями... В попробуйте в template.php добавить <?php echo $pageclass ->get('pageclass_sfx'); ?>

хммм... В ответ получаю

Код
Fatal error: Call to a member function get() on a non-object in /usr/local/www/domain/templates/yoo_flux/layouts/template.php on line 169
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: CSS Суфикс
« Ответ #5 : 15.03.2012, 14:30:52 »
Ну возможно, что в этом шаблоне как-то по другому реализуется вывод класса суффикса...
*

SanyaJoker

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: CSS Суфикс
« Ответ #6 : 15.03.2012, 14:37:55 »
Ну возможно, что в этом шаблоне как-то по другому реализуется вывод класса суффикса...

Наверно все таки я где то накосячил. Поставил стандартный шаблон Beez20 фон тоже не отображается... Все что хочу получить это другой фон в новости :) Может будет проще подсказать как это сделать?
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: CSS Суфикс
« Ответ #7 : 15.03.2012, 15:02:16 »
Хмм, ну суфикс в шаблонах по умолчанию присваивается через <?php echo $this->pageclass_sfx; ?>, при этом он добавляется только к джумловским расширениям.

Есть ссылка на сайт? И опишите поподробней, что хотите сделать  ^-^
*

SanyaJoker

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: CSS Суфикс
« Ответ #8 : 15.03.2012, 15:18:47 »
Хмм, ну суфикс в шаблонах по умолчанию присваивается через <?php echo $this->pageclass_sfx; ?>, при этом он добавляется только к джумловским расширениям.

Есть ссылка на сайт? И опишите поподробней, что хотите сделать  ^-^

Сайт внутренний. Хочу сделать аналогично новости как тут: http://sigmagroup.com.ua/index.php?option=com_content&view=article&id=50&Itemid=56
Но на том сайте суффикс добавляется когда он прописан (Joomla 1.5), а на аналогичном сайте но на (joomla 1.7) при просмотре кода суффикс не добавляется. Сейчас попробую выкинуть его во внешку рядом для сравнения :)
*

noname-dev

  • Захожу иногда
  • 281
  • 17 / 0
Re: CSS Суфикс
« Ответ #9 : 15.03.2012, 15:31:10 »
Найдите тег body, должно получится примерно так
Код
<body class="<?php echo $pageclass ->get('pageclass_sfx'); ?>">
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Создание сайтов, шаблонов, помощь в решении проблем.
*

SanyaJoker

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: CSS Суфикс
« Ответ #12 : 15.03.2012, 16:52:21 »
Выложил сайт. Ссылка на первый как должно быть: http://sigmagroup.com.ua/index.php?option=com_content&view=article&id=50&Itemid=56, а вот ссылка на то же самое на втором http://ber.sigmagroup.com.ua/index.php/vakansii. Не пойму почему на втором ничего не отображается в фоне.
*

satrv

  • Осваиваюсь на форуме
  • 49
  • 0 / 0
Re: CSS Суфикс
« Ответ #13 : 15.03.2012, 17:42:29 »
Все, вы меня убедили - сношу всю базу и ставлю заново. Кстати, мой хостинг советовал ставить с нашего - Joomla.ru - якобы они там еще что-то успели поправить к 2.5.2
*

SanyaJoker

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: CSS Суфикс
« Ответ #14 : 16.03.2012, 12:02:32 »
Проблема решилась смешным образом. Она была не во мне и не в шаблоне. А в самой CMS, качал CMS c http://joomlaportal.ru/ не отрабатывал суффикс, а скачал ее с http://joomla.ru/ все прекрасно начало работать.

Спасибо за помощь!
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
*

SanyaJoker

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: CSS Суфикс
« Ответ #16 : 19.03.2012, 13:50:15 »
Ошибка :) Проблема действительно с шаблоном. Как исправить не знаю. Я так понимаю выход только поменять шаблон?
*

b2z

  • Глобальный модератор
  • 7288
  • 778 / 0
  • Разраблю понемногу
Re: CSS Суфикс
« Ответ #17 : 19.03.2012, 14:06:47 »
Ну если лень разбираться и копаться - меняйте...

Хотя свой класс можно добавить отталкиваясь от ID пункта меню. Напрмер, если нужный пункт меню имеет ID 107, то:
Код
<?php 
$itemId = JRequest::getInt('Itemid');

if ($itemId == '107') {
$myClass = 'yarmarka';
} else {
$myClass = '';
}
?>
<div class="content <?php echo $myClass; ?>">
*

Efanych

  • Глобальный модератор
  • 4683
  • 644 / 0
  • Меняю свою жизнь на 360°!
Re: CSS Суфикс
« Ответ #18 : 19.03.2012, 14:15:18 »
Ошибка :) Проблема действительно с шаблоном. Как исправить не знаю. Я так понимаю выход только поменять шаблон?
ХЗ, как шаблон может влиять на суффикс класса страницы. Возможно он влияет на класс тега <body>. Тогда попробуйте прописать суффикс блоку ниже. Или куда вам его вписать нужно?
Создание сайтов, шаблонов, помощь в решении проблем.
*

SanyaJoker

  • Осваиваюсь на форуме
  • 14
  • 0 / 0
Re: CSS Суфикс
« Ответ #19 : 20.03.2012, 13:10:28 »
ХЗ, как шаблон может влиять на суффикс класса страницы. Возможно он влияет на класс тега <body>. Тогда попробуйте прописать суффикс блоку ниже. Или куда вам его вписать нужно?

Сам не знаю как но именно на этом шаблоне в диве не дописуется тот суфикс который я указываю в суфиксе отображения ссылки.

Ну если лень разбираться и копаться - меняйте...

Хотя свой класс можно добавить отталкиваясь от ID пункта меню. Напрмер, если нужный пункт меню имеет ID 107, то:
Код
<?php 
$itemId = JRequest::getInt('Itemid');

if ($itemId == '107') {
$myClass = 'yarmarka';
} else {
$myClass = '';
}
?>
<div class="content <?php echo $myClass; ?>">

Сейчас попробую

Если кому интересно могу подцепить шаблон к теме. Может кто то захочет у себя протестить. положил на депозит: http://depositfiles.com/files/lfb9fq7ob

« Последнее редактирование: 20.03.2012, 13:15:58 от SanyaJoker »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться