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

gillmor

  • Захожу иногда
  • 53
  • 1 / 0
Хороший хак для рейтинга k2
Позволяет превратить пятизвездочный рейтинг в десятизвездочный.


Код
Files need to be modified:

components/com_k2/css/style.css
components/com_k2/js/k2.js
components/com_k2/models/item.php
components/com_k2/templates/default/item.php
_______________________________________________

components/com_k2/css/style.css

if not modified in line 59
change
.itemRatingList {position:relative;float:left;width:125px;height:25px;overflow:hidden;list-style:none;margin:0;padding:0;background-position:left top;}
to
.itemRatingList {position:relative;float:left;width:250px;height:25px;overflow:hidden;list-style:none;margin:0;padding:0;background-position:left top;}

change
.itemRatingList a.one-star {width:20%;z-index:6;}
.itemRatingList a.two-stars {width:40%;z-index:5;}
.itemRatingList a.three-stars {width:60%;z-index:4;}
.itemRatingList a.four-stars {width:80%;z-index:3;}
.itemRatingList a.five-stars {width:100%;z-index:2;}
to
.itemRatingList a.one-star {width:10%;z-index:11;}
.itemRatingList a.two-stars {width:20%;z-index:10;}
.itemRatingList a.three-stars {width:30%;z-index:9;}
.itemRatingList a.four-stars {width:40%;z-index:8;}
.itemRatingList a.five-stars {width:50%;z-index:7;}
.itemRatingList a.six-stars {width:60%;z-index:6;}
.itemRatingList a.seven-stars {width:70%;z-index:5;}
.itemRatingList a.eight-stars {width:80%;z-index:4;}
.itemRatingList a.nine-stars {width:90%;z-index:3;}
.itemRatingList a.ten-stars {width:100%;z-index:2;}
_______________________________________________

components/com_k2/js/k2.js

line 69
change
$('itemCurrentRating' + itemID).setStyle('width', percentage + "%");
to
$('itemCurrentRating' + itemID).setStyle('width', percentage/2 + "%");
_______________________________________________

components/com_k2/models/item.php

line 435
change
if ( $rate >= 1 && $rate <= 5) {
to
if ( $rate >= 1 && $rate <= 10) {
_______________________________________________

components/com_k2/templates/default/item.php

starting from line 173 to 178 you'll find this block:
<li class="itemCurrentRating" id="itemCurrentRating<?php echo $this->item->id; ?>" style="width:<?php echo $this->item->votingPercentage; ?>%;"></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" title="<?php echo JText::_('1 star out of 10'); ?>" class="one-star">1</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" title="<?php echo JText::_('2 stars out of 10'); ?>" class="two-stars">2</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" title="<?php echo JText::_('3 stars out of 10'); ?>" class="three-stars">3</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" title="<?php echo JText::_('4 stars out of 10'); ?>" class="four-stars">4</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" title="<?php echo JText::_('5 stars out of 10'); ?>" class="five-stars">5</a></li>

replace it with this:

<li class="itemCurrentRating" id="itemCurrentRating<?php echo $this->item->id; ?>" style="width:<?php echo $this->item->votingPercentage /2; ?>%;"></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" title="<?php echo JText::_('1 star out of 10'); ?>" class="one-star">1</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" title="<?php echo JText::_('2 stars out of 10'); ?>" class="two-stars">2</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" title="<?php echo JText::_('3 stars out of 10'); ?>" class="three-stars">3</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" title="<?php echo JText::_('4 stars out of 10'); ?>" class="four-stars">4</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" title="<?php echo JText::_('5 stars out of 10'); ?>" class="five-stars">5</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" title="<?php echo JText::_('6 star out of 10'); ?>" class="six-stars">6</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" title="<?php echo JText::_('7 stars out of 10'); ?>" class="seven-stars">7</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" title="<?php echo JText::_('8 stars out of 10'); ?>" class="eight-stars">8</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" title="<?php echo JText::_('9 stars out of 10'); ?>" class="nine-stars">9</a></li>
<li><a href="#" rel="<?php echo $this->item->id; ?>" title="<?php echo JText::_('10 stars out of 10'); ?>" class="ten-stars">10</a></li>

Кому надо пользуйтесь. ^-^
« Последнее редактирование: 07.09.2011, 16:23:16 от gillmor »
*

yrygvay

  • Завсегдатай
  • 1293
  • 36 / 3
Re: Рейтинг в K2 из десяти звезд.
« Ответ #1 : 07.09.2011, 18:54:19 »
добавил в FAQ
Смотрю....
*

chernblx

  • Захожу иногда
  • 262
  • 2 / 0
Re: Рейтинг в K2 из десяти звезд.
« Ответ #2 : 10.12.2011, 03:20:52 »
А в цифры можно рейтинг вывести? Или эти звездочки как пихнуть в модуль самых популярных статей?
*

x1

  • Давно я тут
  • 637
  • 15 / 0
  • Linux — это Windows для бытовой техники
Re: Рейтинг в K2 из десяти звезд.
« Ответ #3 : 06.07.2012, 16:29:44 »
У меня другая проблема - вместо 5 звездочек отображается почему то 7! Как вывести 5 звездочек?
*

dexteron

  • Захожу иногда
  • 121
  • 17 / 0
  • Помог? Поставь мне "+"
Re: Рейтинг в K2 из десяти звезд.
« Ответ #4 : 06.07.2012, 16:38:37 »
У меня другая проблема - вместо 5 звездочек отображается почему то 7! Как вывести 5 звездочек?
Покажите мне сайт и я вам в ЛС скажу, что надо изменить.
*

x1

  • Давно я тут
  • 637
  • 15 / 0
  • Linux — это Windows для бытовой техники
Re: Рейтинг в K2 из десяти звезд.
« Ответ #5 : 06.07.2012, 17:09:22 »
Покажите мне сайт и я вам в ЛС скажу, что надо изменить.
Спасибо, помогло, плюсик добавляю
*

moskit

  • Захожу иногда
  • 64
  • 6 / 0
  • ......
Re: Рейтинг в K2 из десяти звезд
« Ответ #6 : 24.12.2012, 20:31:54 »
Для K2 2.5.7 ни кто ни делал? Вчера попробовал, что то не прокатило.
*

moskit

  • Захожу иногда
  • 64
  • 6 / 0
  • ......
Re: Рейтинг в K2 из десяти звезд
« Ответ #7 : 26.12.2012, 22:29:59 »
Всё катит. Стили подправил и норм.
*

Badal

  • Осваиваюсь на форуме
  • 19
  • 0 / 0
Re: Рейтинг в K2 из десяти звезд
« Ответ #8 : 29.03.2013, 14:34:19 »
а как поменять стандартные звездочки?
*

paternoster

  • Давно я тут
  • 506
  • 24 / 1
Re: Рейтинг в K2 из десяти звезд
« Ответ #9 : 29.03.2013, 16:19:20 »
Загрузить вместо com_k2/images/system/star.gif свой спрайт с нужными изображениями.Ну или нарисовать его в фотошопе.
*

shokir

  • Захожу иногда
  • 56
  • 1 / 1
Re: Рейтинг в K2 из десяти звезд
« Ответ #10 : 25.05.2013, 21:17:42 »
Может кто подсказать как сделать так чтобы в материале отображалось десятизвездочный рейтинг, а в категории тоже десятизвездочный но в виде пятизвездочного, то-есть в самом материале 1 звезда отвечает за 1 а в категории 1 звезда отвечает за 2.

Сам старался делать таким образом:
Спойлер
[свернуть]
файл category_item
Спойлер
[свернуть]
*

makkons

  • Осваиваюсь на форуме
  • 28
  • 0 / 0
Re: Рейтинг в K2 из десяти звезд
« Ответ #11 : 30.03.2014, 17:37:32 »
Сделал как написано, все почти получилось.
При наведении на звезду №6 у меня загораются сразу две звезды №6 и 7. Соответственно при нажатии на звезду 6 или 7 ставиться всегда рейтинг 7.
Где я мог ошибиться?


код
Спойлер
[свернуть]
Эту ошибку нашел, но столкнулся с другой проблемой!

На некоторые страницы проставил рейтинг отличный от 10, но все 10 звезд горят.
Что бы отобразилась правильная статистика, приходиться еще раз прожимать звезды. Но если обновить страницу буду опять все 10, хотя и не на всех страницах.

Почему то вот этот показатель ширины иногда удваивается, т.е. показывает не 70% как должно быть, а 140% и соответственно не 7 звезд а максимум т.е. 10. Почему так? (см спойлер)
Спойлер
[свернуть]

нашел все ошибки!
« Последнее редактирование: 01.04.2014, 10:41:10 от makkons »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться