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

dmsoh

  • Захожу иногда
  • 195
  • 8 / 0
В файле autobb.php  комлектация выводится следующим образом ( в autobb.html.php по тому же принципу):

Код
$k=1;
for( $i=0; $i<ceil(sizeof($complects)/2); ++$i ) {
$j = $i+ceil(sizeof($complects)/2);
$lists['complect'] .= '<li><label for="complect_'.$complects[$i]->id.'">';
if( trim( $complects[$i]->options )=='' ) {
$lists['complect'] .= '<input type="checkbox" value="yes" name="complect_'.$complects[$i]->id.'" id="complect_'.$complects[$i]->id.'"'.( $complects[$i]->ischecked ? ' checked' : '' ).' /> '.$complects[$i]->title.'</label>';
} else {
$options = explode( ';', $complects[$i]->options );
$opts = array();
$opts[] = mosHTML::makeOption( 'no', '&nbsp;' );
for( $l=0; $l<sizeof($options); ++$l ) {
$opts[] = mosHTML::makeOption( $l, $options[$l] );
}
$lists['complect'] .= mosHTML::selectList( $opts, 'complect_'.$complects[$i]->id, ' class="inputbox" size="1"', 'value', 'text', $complects[$i]->ischecked ? $complects[$i]->mcoptions : 'no' );
unset($l, $opts);
}
$lists['complect'] .= '</li>'
.'<li>'.($j<sizeof($complects) ? '<label for="complect_'.$complects[$j]->id.'">'.$complects[$j]->title.'</label>' : ' ');
if( $j<sizeof($complects) ) {
if( trim( $complects[$j]->options )=='' ) {
$lists['complect'] .= '<input type="checkbox" value="yes" name="complect_'.$complects[$j]->id.'" id="complect_'.$complects[$j]->id.'"'.( $complects[$j]->ischecked ? ' checked' : '' ).' /></li>';
} else {
$options = explode( ';', $complects[$j]->options );
$opts = array();
$opts[] = mosHTML::makeOption( 'no', '&nbsp;' );
for( $l=0; $l<sizeof($options); ++$l ) {
$opts[] = mosHTML::makeOption( $l, $options[$l] );
}
$lists['complect'] .= mosHTML::selectList( $opts, 'complect_'.$complects[$j]->id, ' class="inputbox" size="1"', 'value', 'text', $complects[$j]->ischecked ? $complects[$j]->mcoptions : 'no' );
unset($l, $opts);
}
}
$lists['complect'] .= "";
$k = 3 - $k;
}
$lists['complect'] .= '</ul>';
unset($j, $k);

}

Видно, что один и тот же фрагмент кода, вызывается дважды, предлагаю другой вариант - более оптимальный (тем более, что подобный код встречается не один раз):


Код
$lists['complect'] = '<ul>';

for( $i=0; $i<ceil(sizeof($complects)); ++$i ) {

if ($i == ceil(sizeof($complects)/2)) $lists['complect'] .= '</ul><ul>';

$lists['complect'] .= '<li><label for="complect_'.$complects[$i]->id.'">';
if( trim( $complects[$i]->options )=='' ) {
$lists['complect'] .= '<input type="checkbox" value="yes" name="complect_'.$complects[$i]->id.'" id="complect_'.$complects[$i]->id.'"'.( $complects[$i]->ischecked ? ' checked' : '' ).' /> '.$complects[$i]->title.'</label>';
} else {
$options = explode( ';', $complects[$i]->options );
$opts = array();
$opts[] = mosHTML::makeOption( 'no', '&nbsp;' );
for( $l=0; $l<sizeof($options); ++$l ) {
$opts[] = mosHTML::makeOption( $l, $options[$l] );
}
$lists['complect'] .= mosHTML::selectList( $opts, 'complect_'.$complects[$i]->id, ' class="inputbox" size="1"', 'value', 'text', $complects[$i]->ischecked ? $complects[$i]->mcoptions : 'no' );


unset($l, $opts);



}
$lists['complect'] .= '</li>';


 }$lists['complect'] .= '</ul>';

}
« Последнее редактирование: 26.08.2008, 19:08:30 от dmsoh »
*

Alex Revo

  • Moderator
  • 1995
  • 109 / 0
Re: Упрощение вывода комплектации
« Ответ #1 : 02.09.2008, 15:57:55 »
Да, ты прав, довольно логичное решение.
Я не успел его включить в новую версию, но в следующей воспользуюсь точно.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Дизайн комплектации

Автор bananapapa

Ответов: 2
Просмотров: 1816
Последний ответ 04.12.2010, 02:18:09
от bananapapa
Доработка формы вывода списка объявлении компонета

Автор NeoKS

Ответов: 3
Просмотров: 2451
Последний ответ 29.01.2010, 09:26:12
от Alex Revo
Модуль вывода регионов

Автор limon

Ответов: 3
Просмотров: 2445
Последний ответ 14.01.2010, 17:13:38
от FreeDen
Неправильный порядок вывода фотографий

Автор selfmademan

Ответов: 6
Просмотров: 3195
Последний ответ 07.01.2009, 03:33:16
от dmsoh
подскажите еще где меняется шрифт модуля комплектации?

Автор vovchikku

Ответов: 8
Просмотров: 3594
Последний ответ 15.05.2008, 14:08:05
от vovchikku