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

sarmin

  • Захожу иногда
  • 69
  • 1 / 0
substr. javascript и php
« : 12.02.2013, 01:31:03 »
есть модуль, который в <script type="text/javascript"> выводит следующий код (кусок нужного кода кидаю)
Код
slides 					:  	[
            // Slideshow Images
               <?php
                $j = count($list)-1;

                for ($i=0; $i<=$j; $i++) { ?>
                    <?php if($i != $j) { ?>

                {image : '<?php echo $url.$list[$i]->image; ?>',
                    title : '<?php echo $list[$i]->title; ?>',
                   caption:'<?php if($intro ==1){ if($limittext){  echo substr($list[$i]->intro,3,$limittext);  } else {  echo substr($list[$i]->intro, 3, -6); } } ?>',
                    thumb : '<?php echo $url.$list[$i]->image_thumb; ?>',

                    url : '<?php echo $url.$list[$i]->link; ?>'},

                <?php } ?>

                <?php     if($i==$j){?>
                        {image : '<?php echo $url.$list[$i]->image; ?>',
                            title : '<?php echo $list[$i]->title; ?>',
caption:'<?php if($intro ==1){ if($limittext){  echo substr($list[$i]->intro,3,$limittext);  } else {  echo substr($list[$i]->intro, 3, -6); } } ?>',
                            thumb : '<?php echo $url.$list[$i]->image_thumb; ?>',

                            url : '<?php echo $url.$list[$i]->link; ?>'}
                    <?php } ?>

                <?php } ?>
            ]
интересует эта строка
Код
caption:'<?php if($intro ==1){ if($limittext){  echo substr($list[$i]->intro,3,$limittext);  } else {  echo substr($list[$i]->intro, 3, -6); } } ?>',
и отрабатывает этот кусок в этой строке
Код
echo substr($list[$i]->intro, 3, -6); 
Это выводит короткое описание (introtext) для каждого слайда. substr выводит только строку, и поэтому при использовании каких либо тегов кроме <br> - у меня начинаются проблемы. (конкретно - не грузятся слайды вообще). тоесть если я внутри 1 тега <p></p> буду использовать <br> все норм, но пробую другие (<table>,<li>,) или еще один тег <p>, то эта фигня.

Модуль mod_tz_fullslide.
*

sarmin

  • Захожу иногда
  • 69
  • 1 / 0
Re: substr. javascript и php
« Ответ #1 : 12.02.2013, 13:52:26 »
Может заменить substr как-то, на что-то?
*

prometheus

  • Захожу иногда
  • 84
  • 7 / 0
Re: substr. javascript и php
« Ответ #2 : 12.02.2013, 18:18:27 »
Проблема не в substr скорее всего. Для безопасности я бы выводил вообще через htmlspecialchars
*

sarmin

  • Захожу иногда
  • 69
  • 1 / 0
Re: substr. javascript и php
« Ответ #3 : 12.02.2013, 20:23:20 »
Вот мой модуль. Если кто сможет решить проблему - буду очень благодарен.
Могу предоставить очень качественный хостинг на сколько нужно!

[вложение удалено Администратором]
*

prometheus

  • Захожу иногда
  • 84
  • 7 / 0
Re: substr. javascript и php
« Ответ #4 : 13.02.2013, 02:06:08 »
Попробуй в тот момент когда проявляется глюк посмотреть исходный текст страницы и посмотри что там сгенерировалось в этом месте
caption:
*

sarmin

  • Захожу иногда
  • 69
  • 1 / 0
Re: substr. javascript и php
« Ответ #5 : 13.02.2013, 02:55:28 »
текст генерится... но сайт некорректно отображается... не выводится этот модуль вообще... идет прогрузка, как буд то слайд грузится и все... не выводится на экран не слайд, не описалово...
хотя по исходному тексту - все должно работать норм
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: substr. javascript и php
« Ответ #6 : 13.02.2013, 09:44:48 »
ссылку на сайт?
Не будь паразитом, сделай что-нибудь самостоятельно!
*

prometheus

  • Захожу иногда
  • 84
  • 7 / 0
Re: substr. javascript и php
« Ответ #7 : 13.02.2013, 10:16:30 »
Поставил этот модуль и у меня не получилось его запустить хоть с тегами хоть без тегов всегда крутится загрузка.
*

sarmin

  • Захожу иногда
  • 69
  • 1 / 0
Re: substr. javascript и php
« Ответ #8 : 13.02.2013, 13:11:08 »
*

sarmin

  • Захожу иногда
  • 69
  • 1 / 0
Re: substr. javascript и php
« Ответ #9 : 13.02.2013, 13:12:09 »
*

prometheus

  • Захожу иногда
  • 84
  • 7 / 0
Re: substr. javascript и php
« Ответ #10 : 13.02.2013, 16:17:18 »
*

sarmin

  • Захожу иногда
  • 69
  • 1 / 0
Re: substr. javascript и php
« Ответ #11 : 13.02.2013, 20:37:09 »
потому что сейчас стоит substr. сейчас поставил htmlspecialchars....
Код
caption:'<?php if($intro ==1){ if($limittext){  echo htmlspecialchars($list[$i]->intro);  } else {  echo htmlspecialchars($list[$i]->intro); } } ?>'
« Последнее редактирование: 13.02.2013, 20:41:44 от sarmin »
*

prometheus

  • Захожу иногда
  • 84
  • 7 / 0
Re: substr. javascript и php
« Ответ #12 : 13.02.2013, 22:10:57 »
Попробуй так
Код
caption:'<?php if($intro ==1){ if($limittext){  echo nl2br(substr($list[$i]->intro,3,$limittext));  } else {  echo nl2br(substr($list[$i]->intro, 3, -6)); } } ?>',
*

sarmin

  • Захожу иногда
  • 69
  • 1 / 0
Re: substr. javascript и php
« Ответ #13 : 14.02.2013, 00:40:04 »
Так... изменил. выходит что на главной не работает модуль, из-за того что стоит intro с тегами... во всех подменю пункта "Услуги" текст выводится, но там все в одну строку, только с одним контейнером <p></p>
так же заметил, что немного Неправильно отображается исходный код... в начале не хватает открытие тега <p> и в конце половина закрывающего тега </table>
изменил код на
Код
caption:'<?php if($intro ==1){ if($limittext){  echo nl2br(substr($list[$i]->intro,0,$limittext));  } else {  echo nl2br(substr($list[$i]->intro,0, -2)); 
теперь в исходном коде все верно, но модуль не работает(((
« Последнее редактирование: 14.02.2013, 00:50:05 от sarmin »
*

prometheus

  • Захожу иногда
  • 84
  • 7 / 0
Re: substr. javascript и php
« Ответ #14 : 14.02.2013, 12:46:37 »
Вручную убрал переносы строк здесь
Код
caption:'<p>English is a West Germanic language that was first spoken</p><br /><p>тест</p><br /><table border="0" style="height: 200px; ; width: 500px;"><br /><tbody><br /><tr><br /><td><img src="images/avata.jpg" width="150" height="150" alt="avata" /></td><br /></tr><br /></tbody><br /></table>',
и у меня заработал, значит проблема в переносе строк
От куда они берутся? Может еще так сделать
Код
caption:'<?php if($intro ==1){ if($limittext){  echo str_replace('\r\n','',nl2br(substr($list[$i]->intro,0,$limittext)));  } else {  echo str_replace('\r\n','',nl2br(substr($list[$i]->intro,0, -2)));
« Последнее редактирование: 14.02.2013, 12:54:30 от prometheus »
*

sarmin

  • Захожу иногда
  • 69
  • 1 / 0
Re: substr. javascript и php
« Ответ #15 : 14.02.2013, 18:23:01 »
В JCE редакторе делаю все в 1 строку (в исходном коде в ручную) и после этого выводится... почему идет перевод строк? Может ка-то убрать? так же не работает всплывающее окно у картинки (jce mediabox). и срезает последний тег </p>. если меняю на -2 на 0, то не выводит( поставил -4, теперь </p> срезается полностью. контент выводится. слайд работает.
*

prometheus

  • Захожу иногда
  • 84
  • 7 / 0
Re: substr. javascript и php
« Ответ #16 : 14.02.2013, 19:01:57 »
последний вариант с str_replace пробовал?
*

sarmin

  • Захожу иногда
  • 69
  • 1 / 0
Re: substr. javascript и php
« Ответ #17 : 14.02.2013, 19:45:10 »
Сейчас стоит он. Все равно с новой строки. Вручную только через JCE убирать.
*

prometheus

  • Захожу иногда
  • 84
  • 7 / 0
Re: substr. javascript и php
« Ответ #18 : 15.02.2013, 13:02:21 »
А если так
Код
aption:'<?php if($intro ==1){ if($limittext){  echo str_replace('\r\n','\',nl2br(substr($list[$i]->intro,0,$limittext)));  } else {  echo str_replace('\r\n','\',nl2br(substr($list[$i]->intro,0, -2)));
*

denkog

  • Осваиваюсь на форуме
  • 46
  • 9 / 0
Re: substr. javascript и php
« Ответ #19 : 15.02.2013, 15:08:13 »
mb_substr - Тогда будет русский поддерживать и большие строки.
Только потдержку незабуть включить в  php.ini (php_mbstring)
*

sarmin

  • Захожу иногда
  • 69
  • 1 / 0
Re: substr. javascript и php
« Ответ #20 : 16.02.2013, 16:17:35 »
если просто слеш ставить в кавычках, то ошибка
Parse error: syntax error, unexpected T_NS_SEPARATOR
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Модуль. Сообщение о включенном AdBlock. Как отпустить Javascript в низ страницы?

Автор cartgen

Ответов: 2
Просмотров: 1847
Последний ответ 19.08.2015, 23:42:16
от palexa
Чем раскодировать и закодировать javascript?

Автор djdim

Ответов: 2
Просмотров: 7806
Последний ответ 23.09.2013, 19:49:09
от SmokerMan
JavaScript обработка XML формы

Автор Daiver-86

Ответов: 28
Просмотров: 3828
Последний ответ 12.06.2013, 21:04:51
от Aleks.Denezh
Как правильно подключать стили и JavaScript к своему модулю?

Автор DeadButHappy

Ответов: 5
Просмотров: 6348
Последний ответ 13.11.2011, 02:27:24
от Pazys