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

ABTOP

  • Захожу иногда
  • 493
  • 33 / 4
Странный невидимка
« Ответ #30 : 04.12.2009, 03:38:35 »
Интересная вещь, но в модуле наблюдается некая странность: вылазит некто без имени но с шестью статьями за душой и вот таким интересным УРЛом - http://192.168.1.100/index.php/component/option,com_usercontent/layout,blog/user,/view,usercontent/
При нажатии на шестёрку возможны два варианта:
1. если vpupkin авторизирован, то получим Вовин список
2. если Вова Пупкин не авторизирован, получим 404

Дополнение: оказалось, что шесть статей были без автора. Поэтому и имени никакого в списке не было, только число статей.
Нажатие на шестёрку вызывало страницу со списком статей того, кто нажал, не обязательно Вова. Отсюда 404, если нажималось неавторизированным пользователем.

Вам бы наверное следовало бы пресечь это дело - показывать статьи без авторства.
« Последнее редактирование: 04.12.2009, 12:54:42 от ABTOP »
*

strannik-yura

  • Давно я тут
  • 511
  • 44 / 1
  • :)
респект автору
есть маленькое пожелание, что бы в плагине (или во всём компоненте) можно было выбирать id категории в какой он должен работать
или была возможность в отдельных статья её отключать.
*

strannik-yura

  • Давно я тут
  • 511
  • 44 / 1
  • :)
сделал укр перевод фронта для
uk-UA.com_usercontent.ini

Код
DATE=Дата створення
CATEGORY=Категорія
HITS=Хіти
ITEM TITLE=Заголовок Статті
DISPLAY NUM=Кількість рядків:
FILTER=Фільтр по заголовку
COUNT ARTICLES=Всього статей
NAMEUSER=Ім'я користувача
REGISTRATION DATE=Дата реєстрації
LAST VISIT=Остання активність
VIEWS=Переглядів
"CONFIRM DELETE"=Ви хочете видалити цей матеріал?

uk-UA.plg_content_usercontent.ini

Код
DESCUSERCONTENT=Виводить посилання в матеріалі на всі статті автора
POSITION=Положення
DESCPOSITION=Положення посилання по відношенню до тексту
ABOVE=Вгорі
BELOW=Внизу
LAYOUT RESULT=Висновок результатів
LIST=Списком
BLOG=блогом
DESCLAYOUT=Вид виводу результатів
VIEW ALL ARTICLES=Переглянути всі статтi автора
COUNT ARTICLES= Всього:

остальное влом
« Последнее редактирование: 16.12.2009, 14:08:28 от strannik-yura »
*

vasvirshich

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
И всетаки. Очень хочется, чтобы пользователь видел все свои статьи и опубликованные и еще нет.

*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
И всетаки. Очень хочется, чтобы пользователь видел все свои статьи и опубликованные и еще нет.
Ладно, пользуйтесь моей добротой.
components\com_usercontent\models\usercontent.php
функция _buildContentWhere($state = 1)
заменить
Код: php
				else
{
$where .= ' AND a.state = 1' .
' AND ( publish_up = '.$this->_db->Quote($nullDate).' OR publish_up <= '.$this->_db->Quote($now).' )' .
' AND ( publish_down = '.$this->_db->Quote($nullDate).' OR publish_down >= '.$this->_db->Quote($now).' )';
}
на
Код: php
				else
{
$where .= ' AND a.state >= 0' . // Это позволит авторам смотреть не опубликованные материалы
' AND ( publish_up = '.$this->_db->Quote($nullDate).' OR publish_up <= '.$this->_db->Quote($now).' )' .
' AND ( publish_down = '.$this->_db->Quote($nullDate).' OR publish_down >= '.$this->_db->Quote($now).' )';
}


*

vasvirshich

  • Осваиваюсь на форуме
  • 38
  • 0 / 0
Отлично! То, что нужно. Спасибо, SmokerMan!
Наша благодарность не знает границ.
*

valensy

  • Осваиваюсь на форуме
  • 48
  • 1 / 0
*

SLZZZ

  • Захожу иногда
  • 157
  • 4 / 0
Как же долго я это искал, автор спасибо тебе.
можно и мои пять копеек:
1) как сделать выбор категорий, а то у меня материалы и в статьях, и в Блоге, и в FAQе, и слайдер цитаты выводит и все это видит пользователь.
2) есть ли возможность вывода всех статей сайта одним списком, сейчас для этого Xmap использую.
*

koN

  • Захожу иногда
  • 103
  • 7 / 0
Полезный компонент.
А что, плагины в нем не вызываются? Типа этого:
http://joomlaforum.ru/index.php/topic,61588.0.html
*

SmokerMan

  • Гуру
  • 5290
  • 720 / 26
Полезный компонент.
А что, плагины в нем не вызываются? Типа этого:
http://joomlaforum.ru/index.php/topic,61588.0.html
насколько помню я в нем по моему поддержку плагинов не делал.
*

koN

  • Захожу иногда
  • 103
  • 7 / 0
насколько помню я в нем по моему поддержку плагинов не делал.

Напрасно :) Придется выводить статьи без изображений в интротексте, в противном случае вес страницы выйдет за разумные пределы.
*

kisberg

  • Захожу иногда
  • 204
  • 5 / 0
  • Всё будет хорошо!
А у меня пишет View all articles (Count articles 140), хоть тресни. По русски не хочет. В чём проблема может быть? В языковом файле всё нормально.
А ещё пишет наверху страницы имя сайта (при выводе блогом)
« Последнее редактирование: 20.08.2010, 23:01:15 от kisberg »
*

mtl

  • Новичок
  • 8
  • 0 / 0
SmokerMan, будете нли Вы дальше развивать этот компонент, создавать вариант для J1.6?

Eще вопрос: можно ли вместо ссылки на блог поль-зователя вида: www.mysite.com/component/usercontent/?view=usercontent&layout=blog&user=62
сделать ссылку www.mysite.com/username ?
*

Санчо

  • Захожу иногда
  • 240
  • 10 / 0
  • Алексей Харламенков
Уважаемый SmokerMan, существуют ли новые вервии этого замечательного компонента для Joomla! 2.5, 3.x?
*

altvvc

  • Давно я тут
  • 523
  • 23 / 0
А ещё пишет наверху страницы имя сайта (при выводе блогом)

Как то можно свой тайтл вывести на странице?

Upd

Решил пока так
Код
<?php if ($this->params->get('show_page_title', 1)) : ?>
<div class="componentheading<?php echo $this->params->get('pageclass_sfx');?>">
<?php
$view = JRequest::getVar('view', null);
$document     = & JFactory::getDocument();
$config     = & JFactory::getConfig();
$curtitle = ( ' Материалы пользователя - '). $config->getValue('sitename');
$document->setTitle( $curtitle );
?>
<?php echo ('Материалы пользователя'); ?>
</div>
<?php endif; ?>
« Последнее редактирование: 04.09.2013, 14:59:45 от altvvc »
Красота спасет мир, а пофигизм спасет нервы.
*

altvvc

  • Давно я тут
  • 523
  • 23 / 0
Возник вопрос по модулю, как вместо логина пользователя вывеси его имя?
Вот класс хелпера:
Спойлер
[свернуть]
В шаблоне идет такой вывод:
Спойлер
[свернуть]
Красота спасет мир, а пофигизм спасет нервы.
*

altvvc

  • Давно я тут
  • 523
  • 23 / 0
Дошло yes!
В 44 строке примерно надо $query = ' SELECT count(a.created_by) as cnt, u.username as name, u.id as user ' .

заменить на     $query = ' SELECT count(a.created_by) as cnt, u.name as name, u.id as user ' .
Красота спасет мир, а пофигизм спасет нервы.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль Даты и события для Joomla 1.5

Автор newfork

Ответов: 6
Просмотров: 9098
Последний ответ 17.08.2021, 12:08:15
от Elimelech
SM FAQ - компонент Вопрос-Ответ для Joomla 1.5

Автор SmokerMan

Ответов: 973
Просмотров: 236606
Последний ответ 24.06.2019, 16:30:17
от Tinael92
(CSVI) Компонент импорта csv файлов (Joomla 1.5 ~ Virtuemart 1.1 Native mode), beta

Автор Jkarter

Ответов: 114
Просмотров: 77074
Последний ответ 16.03.2016, 19:03:16
от Ferax
Модуль вывода курса валют JextCurrency(1.5)

Автор darang

Ответов: 8
Просмотров: 11479
Последний ответ 28.01.2016, 10:19:06
от Sulpher
Красивый модуль для опросов Nice AJAX Poll

Автор ageent

Ответов: 192
Просмотров: 71927
Последний ответ 21.01.2016, 19:01:21
от int-sam