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

schel4ok

  • Захожу иногда
  • 219
  • 4 / 1
делаю каталог товаров на основе стандартного контента Joomla 3

идея следующая:
- создаю материал с названием товара и выбираю для него шаблон furniture
- создаю новую sql таблицу с названием furniture, в которой хранятся все характеристики товаров
- через админку никакого контента в статью не добавляю, вместо этого в шаблоне страницы товара  \templates\protostar\html\com_content\article\furniture.php прописываю структуру страницы, а значения характеристик будут добавляться из БД

Код
<div class="furniture"> 
<div class="furniture-photo">
<a href="/images/furniture/<?php echo $furniture->id; ?>-big.jpg" rel="boxplus-<?php echo $furniture->artikul; ?>" title="<?php echo $this->escape($this->item->title); ?>"><img src="/images/furniture/<?php echo $furniture->id; ?>-medium.jpg"/></a>
<?php  
$i = 2;
while ($i <= 10):
$furniture_image_big = '/images/furniture/' . $furniture->id . '-big-' . $i . '.jpg';
$exist = $_SERVER['DOCUMENT_ROOT'] . '/images/furniture/' . $furniture->id . '-big-' . $i . '.jpg';
if (file_exists($exist)):
?>
<a href="<?php echo $furniture_image_big; ?>" rel="boxplus-<?php echo $furniture->id; ?>" title="<?php echo $this->escape($this->item->title); ?>"></a>
<?php
endif;
$i++;
endwhile;
?>

</div>

<div class="furniture-characteristic">
<table class="category table table-striped table-bordered table-hover"> <tbody>
<tr><th>Артикул:</th><td><?php echo $furniture->artikul; ?></td></tr>
<tr><th>Отделка:</th><td><?php echo $furniture->otdelka; ?></td></tr>
<tr><th>Ед. измерения:</th><td><?php echo $furniture->pcs; ?></td></tr>
<tr><th>Описание:</th> <td><?php echo $furniture->description; ?></td></tr> </tbody>
</table>

<div class="furniture-links">
<a href="/images/furniture/<?php echo $furniture->artikul; ?>-dwg.jpg" rel="boxplus-dwg" title="Чертежи"><i class="icon-pencil-2 icon-large"></i>Чертежи</a>
<a class="hidden" href="images/furniture/mayatnik-klassika-dwg.jpg" rel="boxplus-dwg" title="Чертежи">Чертежи</a><br />
<a href="images/furniture/T-110-120-130-virez.jpg" rel="boxplus-virez" title="Вырезы в стекле"><i class="icon-scissors icon-large"></i>Вырезы в стекле</a><br />
<a href="#CallBack" title="Обратный звонок" data-toggle="modal"><i class="icon-question-2 icon-large"></i>Задать вопрос по этому товару</a>
</div>

</div>

</div>


в верхней части того же файла сделал запрос к базе данных
Код
$db = JFactory::getDbo();
$query = $db->getQuery(true);
$pagetitle = $this->escape($this->item->title);
$query
    ->select($db->quoteName(array('title', 'id', 'artikul', 'otdelka', 'pcs', 'description')))
    ->from($db->quoteName('#__furniture'))
    ->where($db->quoteName('title'). ' = '. $db->quote($pagetitle));


только не могу никак сделать так, чтобы из БД выбирать строку в которой значение поля title было бы равно названию текущей страницы (поле title таблицы content)
если вставляю простой текст сравнения $db->quote('простой текст'), то сравнение работает, а с переменной нет



« Последнее редактирование: 26.12.2013, 22:31:55 от b2z »
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
делаю каталог товаров на основе стандартного контента Joomla 3
Зачем?!
Есть куча CCK где все давно реализовано.
*

Plazmodina

  • Захожу иногда
  • 228
  • 7 / 2
Зачем?!
Есть куча CCK где все давно реализовано.
Чтобы место на хостинге сэкономить!
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
*

Plazmodina

  • Захожу иногда
  • 228
  • 7 / 2
Это шутка?
Нет не шутка! Я очень экономный и может он тоже такой! Вот я борюсь с этим и нашёл решение: у меня мультисайтинг есть. Два сайта и один движок. А без мультисайтинга пришлось бы на тариф выше переходить. очень удобная штука. Экономит место!
*

schel4ok

  • Захожу иногда
  • 219
  • 4 / 1
Зачем?!
Есть куча CCK где все давно реализовано.

во-первых хочу сказать, что у меня есть работающий сайт на Joomla 1.5 + VirtueMart
я пробовал разные CCK, но он мне подошел больше остальных.
а пробовал я много разных ZOO, SOBI, K2, ContentBuilder и др...


причин, чтобы сделать каталог из материалов несколько:
- все эти CCK имеют кучу ненужных мне фишек и соответственно кучу настроек и менюшек, которые сильно утомляют
- по ощущениям загрузка VirtueMart происходит дольше чем обычных материалов
- большинство CCK не имеют возможности создавать дополнительные поля товаров, либо имеют в очень замороченном виде (к примеру ZOO создает в базе данных кучу служебных данных, которые осложняют импорт и экспорт) - а на мой взгляд доп поля и являются основным функционалом ССК
- большинство CCK не имеют возможности экспорта и импорта через excel либо это за бабки, либо этот экспорт работает с косяками
- кроме того не факт, что при выходе новой версии Joomla сразу же выйдет совместимое обновление ССК (тот же VirtueMart до сих пор не выпустил обновления под Joomla 3)
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
1) Не смотря на "сложность" данных, нагрузка на CCK ниже чем на стандратном контенте.
2) у VirtueMart еще дольше, его даже не рассматриваем
3) Речь о какой версии? 3.2 - но это сырой релиз с кучей багов, делать хаки постоянно?
*

schel4ok

  • Захожу иногда
  • 219
  • 4 / 1
а доп поля и импорт/экспорт?
*

voland

  • Легенда
  • 11026
  • 588 / 112
  • Эта строка съедает место на вашем мониторе
Так есть же!
Доп поля - суть cck.
Импорт не везде продвинут, но какой-никакой есть.
*

schel4ok

  • Захожу иногда
  • 219
  • 4 / 1
неубедительно - я все-таки хочу сделать то, что начал
*

schel4ok

  • Захожу иногда
  • 219
  • 4 / 1
мне больше понравился fieldsattach
теперь пользуюсь им
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ошибка Missing field in database: Joomla\CMS\Table\Extension &#160; extension_id

Автор Ragivort

Ответов: 1
Просмотров: 1629
Последний ответ 25.12.2025, 21:10:01
от fbr
Joomla 3 не пускает в админку (просто перезагружается страница) (гуглил, нашёл решение, не помогло)

Автор lifelover2b

Ответов: 11
Просмотров: 6327
Последний ответ 05.06.2025, 04:48:29
от andrey222
По поводу сессий Joomla 3

Автор azm1n

Ответов: 0
Просмотров: 2400
Последний ответ 25.05.2025, 09:26:17
от azm1n
Стоит ли ставить плагин rel="canonical" на Joomla 3

Автор azm1n

Ответов: 2
Просмотров: 2896
Последний ответ 09.05.2025, 12:39:18
от azm1n
Вывести поля профиля Joomla

Автор romagromov

Ответов: 11
Просмотров: 4123
Последний ответ 28.04.2025, 10:25:44
от sivers