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

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
Как сделать, чтобы значение `$result_1` можно было вывести циклом внутри echo первого отрывка кода
Код
foreach ($acc as $acc_result){
echo '<label><input type="checkbox">'.$acc_result.'</label>';}


Полный код:
Код
						<?php					
$fieldValues = $ObjectField_name->field_name0->namer_ff;


$fieldTexts_2 = array_reduce((array)$fieldValues, function ($acc_2, $valueData_2) {

if (!empty($valueData_2->test_list)) {
$acc_2[] = trim($valueData_2->test_list);
}

foreach ($acc_2 as $acc_result_2){
$result_1 = $acc_result_2;
}

});

$fieldTexts = array_reduce((array)$fieldValues, function ($acc, $valueData) {

if (!empty($valueData->test_text)) {
$acc[] = trim($valueData->test_text);
}

foreach ($acc as $acc_result){
echo '<label><input type="checkbox">'.$acc_result.'</label>';
}

});

?>
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Как сделать, чтобы значение `$result_1` можно было вывести циклом внутри echo первого отрывка кода ↓
Не понял Вопроса !!
Код

*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
$result_1
Не понял Вопроса !!

Прошу прощения, если плохо объяснил. Нужно сделать примерно так
Код
:echo '<label><input type="'.$result_1.'">'.$acc_result.'</label>';
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
Прошу прощения, если плохо объяснил. Нужно сделать примерно так:
Код
echo '<label><input type="'.$result_1.'">'.$acc_result.'</label>';
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Прошу прощения, если плохо объяснил. Нужно сделать примерно так:
Код: php
foreach ($acc as $i=> $acc_result){
     echo '<label><input type="'.$result_1[$i].'">'.$acc_result.'</label>';
}
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
а что тут ?
Код: php
echo'<pre>';print_r( $result_1 );echo'</pre>'.__FILE__.' '.__LINE__;
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
а что тут ?
Код: php
echo'<pre>';print_r( $result_1 );echo'</pre>'.__FILE__.' '.__LINE__;
При вставке данного кода отображается:
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
@gartes подскажите, почему-то не выводится информация из $result_1[$i]
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
@gartes подскажите, почему-то не выводится информация из $result_1[$i]
ну так у Вас в $result_1 не массив  а 1 либо INT или BOOL или STRING - но не как не ARRAY
Я же говорю Вам - что я не понимаю сути Вашего вопроса !
Задайте его более ясно - и я Вам скажу что Вам написать !
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
А ну Да !! Тогда ДА|НЕТ тогда это булевое значение 0|1
Ок - А что хотите Вы?
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Если Вы хотите проверить BOOL просто !!
Код
if( $result_1 ) {
echo '-это да! :))'
}else{
echo '-это нет! :(('
}
Еще если Вам будет удобно - то  Вы можете использовать тернарный оператор :
Код
echo ( $result_1 ?   '-это да! :))'  :  '-это нет! :(('   ) ; 
« Последнее редактирование: 21.08.2020, 23:31:52 от gartes »
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
А ну Да !! Тогда ДА|НЕТ тогда это булевое значение 0|1
Ок - А что хотите Вы?
Я бы хотел, чтобы если значение $result_1 == 0, то
Код
echo '<label><input type="checkbox">'.$acc_result.'</label>'
, если $result_1 == 1, то
Код
echo '<label><input type="radio">'.$acc_result.'</label>'
и если $result_1 == 2, то
Код
echo '<label><input type="text">'.$acc_result.'</label>'
*

Damarkuzz

  • Захожу иногда
  • 116
  • 1 / 0
Сделал вот это:
Код
foreach ($acc as $acc_result){

if ($result_1 == 0) {
$result_1 = 'checkbox';
echo '<label><input type="'.$result_1.'">'.$acc_result.'</label>';
}
elseif ($result_1 == 1){
$result_1 = 'radio';
echo '<label><input type="'.$result_1.'">'.$acc_result.'</label>';
}
elseif ($result_1 == 2){
$result_1 = 'text';
echo '<label><input type="'.$result_1.'">'.$acc_result.'</label>';
}

}
Но в type="" отображается только  checkbox, т.е. $result_1 = 0;
*

gartes

  • Завсегдатай
  • 1859
  • 142 / 6
  • Е = mс²
Попробуйте так
Код
foreach ($acc as $acc_result){
                switch ($result_1){
                    case '0':
                        echo '<label><input type="checkbox">'.$acc_result.'</label>';
                        break;
                    case '1':
                        echo '<label><input type="radio">'.$acc_result.'</label>';
                        break;
                    case '2':
                        echo '<label><input type="text">'.$acc_result.'</label>';
                        break;
                    default :
                        throw new Exception('Неизвесный код переменной $result_1') ;
                }
            }
А как у вас определяется переменная $result_1 ?  - (Точнее где ? )
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вывести поля профиля Joomla

Автор romagromov

Ответов: 11
Просмотров: 4489
Последний ответ 28.04.2025, 10:25:44
от sivers
Вывести модуль в модуле

Автор jimka

Ответов: 2
Просмотров: 2876
Последний ответ 18.04.2025, 15:39:36
от fbr
Мультиязычность. Не отображается флаг одного из языков

Автор NadiaNadezhdina

Ответов: 9
Просмотров: 1549
Последний ответ 12.01.2023, 01:06:39
от NadiaNadezhdina
Как вывести в категории VirtueMart кастомное поле с редактором?

Автор dc_web

Ответов: 4
Просмотров: 990
Последний ответ 05.10.2022, 11:07:00
от sivers
Как в конце модуля mod_articles_news вывести ссылку на страницу с блогом?

Автор androv77

Ответов: 4
Просмотров: 1164
Последний ответ 20.09.2022, 11:20:29
от androv77