Новости Joomla

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+)

Новый способ добавления и рендера полей в Joomla Form - метод renderControlFields() (Joomla 5.3+). При отображении форм компонента в админке раньше разработчикам нужно было описывать скрытые поля в лейаутах. И выглядело это так:

<?php     // Это файл в /layouts/components/com_component/your_layout.php?><input type="hidden" name="task" value=""><input type="hidden" name="return" value="<?php echo $input->getBase64('return'); ?>"><input type="hidden" name="forcedLanguage" value="<?php echo $input->get('forcedLanguage', '', 'cmd'); ?>"><?php echo HTMLHelper::_('form.token'); ?>
Начиная с Joomla 5.3 добавлен новый способ добавления таких полей (их называют control fields) - программно. И теперь это можно сделать просто в Controller / View.
// В Controller/View добавляем поля$this->form  ->addControlField('task', '')  ->addControlField('return', $input->getBase64('return', ''))  ->addControlField('forcedLanguage', $forcedLanguage);
А в layout'е просто используем метод
renderControlFields()
// В layout формыecho $this->form->renderControlFields();
Многие компоненты ядра уже используют этот подход. Соответствующий PR был принят в Joomla 5.3 осенью 2024г.Смотреть
Pull Request@joomlafeed#joomla #разработка #php

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

JoomGallery 4.1.0 - компонент галереи изображений для Joomla

Новая итерация компонента продолжает развиваться, ведь с v.4.x компонент был переписан практически с нуля.

v.4.1.0. Что нового?

Редактирование метаданных изображений. Теперь метаданные можно не только читать, но и напрямую редактировать и записывать обратно в изображение JPG. Поддерживаются данные EXIF ​​и IPTC.

Полная совместимость с Joomla! 4.x, 5.x и 6.x. Компонент почистили от устаревших методов в коде.

Заметно ускорили загрузку больших галерей. Списки в админке, особенно для очень больших галерей ( >30 000 изображений), теперь загружаются значительно быстрее.

Несколько сеток lightGallery на одной странице. Будь то плагины контента или модули изображений: теперь вы можете отображать несколько галерей или категорий на одной странице без каких-либо ограничений.

Множество мелких исправлений ошибок и оптимизаций.

Сайт проекта

GitHub расширения

Скачать

0 Пользователей и 1 Гость просматривают эту тему.
  • 1 Ответов
  • 2780 Просмотров
*

A0ff

  • Новичок
  • 2
  • 0 / 0
Joomla 1.5.20 - поставлена хостером.

При вызове из сайта формы для добавления либо изменения статьи независимо от роли пользователя - поле "title" вылезает за пределы TABLE, и почему то находится на верхней части сайта - на том месте, которое поле "Заголовок страницы" (Пункт меню - Главное меню - Параметры - Система).

В коде (файл form.php в каталоге components/com_content/views/article/tmpl) написано вроде бы всё правильно:
Код
<table class="adminform" width="100%">
<tr>
<div style="float: left;">
<label for="title">
<?php echo JText::_( 'Title' ); ?>:
</label>
<input class="inputbox" type="text" id="title" name="title" size="50" maxlength="100" value="<?php echo $this->escape($this->article->title); ?>" />
<input class="inputbox" type="hidden" id="alias" name="alias" value="<?php echo $this->escape($this->article->alias); ?>" />
</div>
<div style="float: right;">
<button type="button" onclick="submitbutton('save')">
<?php echo JText::_('Save')?>
</button>
<button type="button" onclick="submitbutton('cancel')">
<?php echo JText::_('Cancel')?>
</button>
</div>
</td>
</tr>
</table>

От смены table class="adminform" на table class="adminform2" ничего не меняется.

Поле type="text" id="title" (Текст-Текст-Текст) упорно виднеется наверху, на том месте, где обычно виднеется поле "Заголовок страницы", а самого заголовка не видно.

Получаемый текст смотрю в браузере - там всё нормально написано:
Код
<div style="float: left;">
<label for="title"> Заголовок: </label>
<input class="inputbox" type="text" id="title" name="title" size="50" maxlength="100" value="Текст-Текст-Текст"/>
<input class="inputbox" type="hidden" id="alias" name="alias" value="article-it-v-gorode"/>
</div>
Но при этом поле явно вылезает совсем не после поля label.
И в Опера 11.52, и в ИЭ 8 - аналогично.
*

A0ff

  • Новичок
  • 2
  • 0 / 0
В общем, это всё туда лезет, потому что верхнее поле с аналогичным id:
<div id="header">
<div id="title">Текст-Хедера</div>

Хедер описывается в файле site/templates/green_road/index.php.
Изменение там его id на "sitetitle" эффекта не дает - сбивается стиль, но заголовок формы всё равно показывается на этом же месте.

Зато изменение id самого поля всё исправляет... но при этом не даёт сохранять.

Подскажите, что заменить на что в файле form.php в каталоге components/com_content/views/article/tmpl, чтобы всё нормально работало?

Либо как исправить этот сбой разметки с id="title"?
« Последнее редактирование: 02.11.2011, 21:22:37 от A0ff »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

При сохранении материала редактор удаляет все теги

Автор taco3

Ответов: 1
Просмотров: 2678
Последний ответ 21.08.2013, 10:33:24
от fastneed
Ошибка при создании или редактировании статьи. Warning: Missing argument 2 for plgButtonImage::onDis

Автор Mafiosi

Ответов: 0
Просмотров: 2676
Последний ответ 05.07.2012, 14:04:17
от Mafiosi
Разбиение материала на две части

Автор Nikolay212

Ответов: 13
Просмотров: 3650
Последний ответ 09.05.2012, 15:26:04
от Nikolay212
Поле ввода текста перекрывает Меню с иконками не могу нормально редактировать текст

Автор diokim

Ответов: 2
Просмотров: 5346
Последний ответ 22.04.2011, 16:53:38
от diokim
Редактировка HTML кода главной страницы

Автор alex1928

Ответов: 1
Просмотров: 2720
Последний ответ 03.12.2010, 13:14:42
от domanoff