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

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
Друзья,  решить проблему. Нашел замечательный модуль Mini frontpage
С его помощью очень удобно выводить последние или случайные новости на разных страницах.

Однако у него есть традиционная проблема - некорректная обрезка кириллических символов при включении их лимита.

Прописывание Jstring:: проблему не решает  :(

Проблема в этом коде, как ее победить я не знаю.
Если не трудно - помогите!
Код
//function added by Jerry Wijaya
if (!function_exists("fptn_limittext")) {
function fptn_limittext($text,$allowed_tags,$limit) {
$strip = strip_tags($text);
$endText = (JString::strlen($strip) > $limit)? "..." : "";
$strip = JString::substr($strip, 0, $limit);
$striptag = strip_tags($text, $allowed_tags);
$lentag = JString::strlen($striptag);

$display = "";
if(strlen($strip)>$limit)
{
$x = 0;
$ignore = true;
for($n = 0; $n < $limit; $n++) {
for($m = $x; $m < $lentag; $m++) {
$x++;
if($striptag[$m] == "<") {
$ignore = false;
} else if($striptag[$m] == ">") {
$ignore = true;
}
if($ignore == true) {
if($strip[$n] != $striptag[$m]) {
$display .= $striptag[$m];
} else {
$display .= $strip[$n];
break;
}
} else {
$display .= $striptag[$m];
}
}
}
else{
$display = $striptag;
}
return fix_tags ('<p>'.$display.$endText.'</p>');}
}

PS. В аттаче прицепил сам модуль.

[вложение удалено Администратором]
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
*

Dal

  • Новичок
  • 5
  • 0 / 0
Кстати нашел довольно интересный баг - если последний выводимый символ кириллицы ЗАГЛАВНЫЙ, то выводится без проблем. Можете сами проверить. Буду думать дальше, потому что сам столкнулся с такой же проблемой..
*

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
да, тоже подметил эту "фичу"
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
*

Dal

  • Новичок
  • 5
  • 0 / 0
Вобщем вроде как работает. Нужно протестировать:

Эту строку

Код
$striptag = strip_tags($text, $allowed_tags);

Заменяем на эту:

Код
$striptag = strip_tags($text);

То есть я просто убираю переменную $allowed_tags - разрешенные теги. Вроде как работает. Проверяем..
*

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
Не помогает
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
*

Dal

  • Новичок
  • 5
  • 0 / 0
Мне помогло - по крайней мере пока ошибок не вижу.
Joomla 1.5.15 RE c Joom.ru
http://extensions.joomla.org/extensions/2751/details - сам плагин отсюда

Это моя система на текущий момент - сделал все что описал выше. Если вдруг что еще придумаю - напишу
*

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
Да система ничем не отличается. И плагин оттуда-же.
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
*

Dal

  • Новичок
  • 5
  • 0 / 0
Ну тогда не знаю - как придумаю что напишу.
*

b2z

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

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
В это стройке  добавить JString?

if(strlen($strip)>$limit)
Ой, это вообще продукт моего больного формотвочества :) Там такого нет и не может быть. Фишка где-то зарыта, а где, блин не понимаю :(
« Последнее редактирование: 12.12.2009, 20:50:29 от crazyASD »
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
*

Виталик

  • Завсегдатай
  • 1244
  • 130 / 0
там проблема не только в функциях обрезки части строки, но и в цикле в котором строка обрабатывается как массив
*

crazyASD

  • Давно я тут
  • 582
  • 26 / 2
Осталось понять как этот цикл пофиксить, я к сожалению языками владею плохо...
Сон разума порождает монстров
--
Фрилансом не занимаюсь. Никому ничего не должен. Отвечаю по мере знания и умения. -- JFusion - Наше всё! Joomla 1.5.23 SMF 1.1.15 JFusion 1.5.6 JComments 2.2.0 JoomGallery 1.5.6.4 JDownloads 1.8
*

tolstoj

  • Новичок
  • 6
  • 0 / 0
Тема старая, но проблема в модуле осталась.
На офф. форуме есть решение:
в helper.php между
Код
$endText = (strlen($strip) > $limit)? "&nbsp;[&nbsp;...&nbsp;]" : ""; 
и
Код
$strip = substr($strip, 0, $limit);
вставить
Код
//following 3 lines added to fix problem with strange symbol appended at the end of introtext
//in case of greek characters
$n=0;
while (!($strip[$n]==" " && $n>$limit) && $n < strlen($strip)) $n++;
$limit=$n;
//end of fix

Проверенно, работает.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Ограничение на количество символов в названии файлов

Автор vova630

Ответов: 0
Просмотров: 961
Последний ответ 18.02.2020, 17:51:46
от vova630
Mini FrontPage с ромбами в конце слов

Автор sova

Ответов: 7
Просмотров: 4360
Последний ответ 28.07.2019, 21:52:09
от Mister Shadow
При загрузке Google Карт на этой странице возникла проблема

Автор amor

Ответов: 10
Просмотров: 9076
Последний ответ 24.03.2019, 22:51:24
от amor
Проблема со строкой в колонке (шорткод)

Автор bayersoff

Ответов: 0
Просмотров: 1606
Последний ответ 27.09.2017, 15:53:12
от bayersoff
Проблема после установки jch optimize

Автор Sasha25Sh

Ответов: 13
Просмотров: 4779
Последний ответ 30.06.2017, 19:53:31
от Alex_Vazovski