Новости Joomla

Вышли релизы Joomla 6.0.3 и Joomla 5.4.3

Релиз Joomla 6.0.3 и Joomla 5.4.3

Проект Joomla рад сообщить о выпуске Joomla 6.0.3 и Joomla 5.4.3. Это релиз исправлений ошибок и улучшений для серии Joomla 6.0 и Joomla 5.4.

👩‍💻 События плагинов и порядок их срабатывания при работе с пользовательскими полями 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 Гость просматривают эту тему.
  • 22 Ответов
  • 3326 Просмотров
*

aleksey_chernov

  • Новичок
  • 2
  • 0 / 0
Всем Привет! С Zoo столкнулся впервые. Делаю многоуровневый каталог, нужно прописать Мета теги для категорий. Как это сделать, есть ли возможность добавить Блок Metadata с полями, как в Items?? Если нет, то как вы с этим справляетесь?
*

Ongi

  • Захожу иногда
  • 273
  • 15 / 0
Присоединяюсь к вопросу, но интересует приложение Блог
*

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
*

sasha-3d

  • Осваиваюсь на форуме
  • 34
  • 2 / 0
Если честно, то вариант чушь петровна полная. Для титульной я покамесь остановился на банальном варианте dzeka ... а вообще пытаюсь сделать так, как это реализовано для элемента.
вот что я сделал:
в файле default.php ... administrator/components/com_zoo/views/frontpage/tmpl/ добавил следующее в самом начале файла
Код
// get XML form
$form = new YParameterFormDefault(dirname(__FILE__).'/params.xml');

далее примерно в 50 строках где прописаны поля для настройки, добавил
Код
<h3 class="toggler"><?php echo JText::_('Metadata'); ?></h3>
    <div class="content">
    <?php echo $form->setValues($this->params->get('metadata.'))->render('params[metadata]', 'metadata'); ?>
    </div>

затем в этой же директории создал файл params.xml
Код
<?xml version="1.0" encoding="utf-8"?>
<form>
    <name>Form</name>
    <params group="metadata">
        <param name="description" type="textarea" rows="5" cols="30" default="" label="Description" description="METADESC" />
        <param name="keywords" type="textarea" rows="5" cols="30" default="" label="Keywords" description="METAKEYS" />
        <param name="robots" type="text" size="20" default="" label="Robots" description="METAROBOTS" />
        <param name="author" type="text" size="20" default="" label="Author" description="METAAUTHOR" />
    </params>
</form>

теперь у нас появился пункт метаданных титульной страницы (или категории)... и вот здесь я застопорился, данные при вводе не сохраняются, так что если кто может подсказать и помочь, давайте решать коллективно.

p.s. это вариант метатэгов для титульной, для категорий все соответственно, только папка administrator/components/com_zoo/views/category/tmpl/
« Последнее редактирование: 25.11.2010, 14:28:31 от sasha-3d »
*

aleksey_chernov

  • Новичок
  • 2
  • 0 / 0
Да, это решение гораздо практичнее, дошел до этого момента и не знаю как сохранить в базу и извлечь из нее сохраненные данные :(. Люди помогайте! :D
*

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
С категориями аналогичным образом проще всего работать след образом:

В том же application.xml вашего аппликатион в секции  <params group="category-content">
добавите <param name="tilte" type="text" ....

А потом выдергивайте ($this->category->getParams()->get('content.title')

Да и "Если честно, то вариант чушь петровна полная" это ты про какой вариант?
*

sasha-3d

  • Осваиваюсь на форуме
  • 34
  • 2 / 0
Да и "Если честно, то вариант чушь петровна полная" это ты про какой вариант?

http://joomlaforum.ru/index.php/topic,131775.msg741500.html#msg741500

... процесс через главное меню застопорил! всем необходимо решать это через компонент, а не морочиться ещё через меню методом подходящим только для титульной
*

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
Ну этот вариант для титула был естественно.

Чушь - это когда не работает.

для категорий используй вариант в предыдущем сообщении.
*

tagilnext

  • Захожу иногда
  • 71
  • 2 / 0
С категориями аналогичным образом проще всего работать след образом:

В том же application.xml вашего аппликатион в секции  <params group="category-content">
добавите <param name="tilte" type="text" ....

А потом выдергивайте ($this->category->getParams()->get('content.title')

Да и "Если честно, то вариант чушь петровна полная" это ты про какой вариант?


Напиши подробнее.

Например $this->category->getParams()->get('content.title') где выдергивать?
*

-Dima-

  • Захожу иногда
  • 85
  • 14 / 0
application.xml
<params group="category-content">
....
<param name="meta_description" type="textarea" label="Meta description" description="Set a Meta description for this category." />
      <param name="meta_keywords" type="text" label="Meta Keywords" description="Set a Meta Keywords for this category." />
      <param name="meta_robots" type="text" label="Meta robots" description="Set a Meta robots for this category." />
</params>

потом category.php
вначале файла пишешь:
Код
$this->document->setMetadata('title', $this->category->name);
if ($keywords=$this->category->getParams()->get('content.meta_keywords')){$this->document->setMetadata('keywords', $keywords);}
if ($description = $this->category->getParams()->get('content.meta_description')) {$this->document->setDescription($description);}
if ($robots=$this->category->getParams()->get('content.meta_robots')){$this->document->setMetadata('robots', $robots);}
*

tagilnext

  • Захожу иногда
  • 71
  • 2 / 0
application.xml
<params group="category-content">
....
<param name="meta_description" type="textarea" label="Meta description" description="Set a Meta description for this category." />
      <param name="meta_keywords" type="text" label="Meta Keywords" description="Set a Meta Keywords for this category." />
      <param name="meta_robots" type="text" label="Meta robots" description="Set a Meta robots for this category." />
</params>

потом category.php
вначале файла пишешь:
Код
$this->document->setMetadata('title', $this->category->name);
if ($keywords=$this->category->getParams()->get('content.meta_keywords')){$this->document->setMetadata('keywords', $keywords);}
if ($description = $this->category->getParams()->get('content.meta_description')) {$this->document->setDescription($description);}
if ($robots=$this->category->getParams()->get('content.meta_robots')){$this->document->setMetadata('robots', $robots);}

Сделал как ты сказал, не работает
*

-Dima-

  • Захожу иногда
  • 85
  • 14 / 0
Сделал как ты сказал, не работает
Поля внутри категории появились??
где-то не так сделал наверно потому, что у меня все работает... от версии не зависит. только что проверил
*

tagilnext

  • Захожу иногда
  • 71
  • 2 / 0
Поля внутри категории появились??
где-то не так сделал наверно потому, что у меня все работает... от версии не зависит. только что проверил
Поля появились, с этим проблем нет, а вот вывод не работает.

*

-Dima-

  • Захожу иногда
  • 85
  • 14 / 0
Код
<?php
/**
* @package   ZOO Component
* @file      category.php

// no direct access
defined('_JEXEC') or die('Restricted access');
- вставил, после этого куска кода?
*

tagilnext

  • Захожу иногда
  • 71
  • 2 / 0
уточни путь до category.php
*

-Dima-

  • Захожу иногда
  • 85
  • 14 / 0
уточни путь до category.php
media\zoo\applications\product\templates\default

ну или как ты там свой шаблон назвал))
*

tagilnext

  • Захожу иногда
  • 71
  • 2 / 0
Все верно, именно туда сверху вставлял твой код
*

delames

  • Захожу иногда
  • 141
  • 10 / 0
  • Решаю программные вопросы за $ - Обращайтесь!
А лучше в components/com_zoo/controllers/default.php функция category()

там пониже. Это будет правельнее. И там будет $params->get(
*

-Dima-

  • Захожу иногда
  • 85
  • 14 / 0
почему правильнее?? а потом вспоминать где и что правил, а если таких правок 100500..(у меня уже целый список таких файлов). при обновлении запаришься! лучше, если это возможно, менять все в своих темплейтах.
*

tagilnext

  • Захожу иногда
  • 71
  • 2 / 0
Разобрался, спасибо за помощь.

А нужен ли вообще  - meta name="title" ?
*

-Dima-

  • Захожу иногда
  • 85
  • 14 / 0
Разобрался, спасибо за помощь.

А нужен ли вообще  - meta name="title" ?
Ну вроде как не обязательно, это больше для поисковиков..и то он не так учитывается как <title>, но хуже не будет))
вообщем погугли, инфы море.
*

dolfun

  • Захожу иногда
  • 76
  • 0 / 0
Разобрался, спасибо за помощь.


Делал как описывал Dima, тоже пока не работает. Как ты разобрался? В чем загвоздка оказалась?
*

dolfun

  • Захожу иногда
  • 76
  • 0 / 0
Заработало после добавления решения отсюда:
http://joomlaforum.ru/index.php/topic,125721.msg793766.html#msg793766
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Проблема с отображением каталога на zoo2.2 В IE 6

Автор Kitokedoki

Ответов: 4
Просмотров: 4389
Последний ответ 20.08.2018, 10:07:35
от raketa2000
Табличный вывод каталога в JBZoo tablesorter

Автор dmi_alex

Ответов: 0
Просмотров: 2065
Последний ответ 20.12.2014, 14:25:51
от dmi_alex
Самопроизвольное выключение элементов каталога

Автор gorodS

Ответов: 2
Просмотров: 1828
Последний ответ 18.11.2014, 09:47:32
от gorodS
Корзина для каталога Zoo

Автор Ongi

Ответов: 152
Просмотров: 36617
Последний ответ 07.08.2014, 11:46:13
от rk3dnp
Отображение каталога по городу

Автор lili00007

Ответов: 2
Просмотров: 1722
Последний ответ 06.07.2014, 20:54:31
от lili00007