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

googlonator

  • Осваиваюсь на форуме
  • 24
  • 1 / 0
Помогите разобраться с добавлением новых полей в регистрационную форму k2. Я почти закончил, осталось мелочь.
Если разберусь, то выложу полный пошаговый гайд,  как сделать доп. поля в регистрации k2.
Вопросов по этой теме миллионы, а вот ответов: 0
Ставить расширение типа CommunityBuilder из-за доп.полей тоже не вариант.

Сейчас доп.поля уже добавлены в регистрационную форму и успешно передают данные в БД при заполнении, но есть большая проблема. Я не силен в php и не знаю, как вывести эти данные на страницу пользователя. Проблема в том, что нужно, что бы эти данные видел не только пользователь, но и те, кто просматривают его страницу.

Для это, мне нужно как то создать условие.
В общем вот код, который выводит доп. поле созданное мной на странице профиля
Код
$result = mysql_query("SELECT surname FROM jom_k2_users WHERE userID=50");
$myrow = mysql_fetch_array($result);

do {
    echo $myrow[surname];
}
while ($myrow = mysql_fetch_array($result));
Но как видите, код выводит только доп.поле surname пользователя с id 50, а мне нужно, что бы он выводил доп.поле пользователя, в профиле которого ты находишься.

Далее, обнаружил, что код:
Код
echo $this->user->name;
выведет имя пользователя из таблицы jom_users. Идентичная информация находится в jom_k2_users в поле userName.
Соответственно попробовал сделать так:
Код
//попытка создать условие
// Вывести доп.поле surname из таблицы jom_k2_users там где userName= $MySur:
$MySur = $this->user->name;
$result = mysql_query("SELECT surname FROM jom_k2_users WHERE userName= $MySur");
$myrow = mysql_fetch_array($result);

do {
    echo $myrow[surname];
}
while ($myrow = mysql_fetch_array($result));

Этот код привел к ошибке. Я просто не разбираюсь в php и мне нужен тот, кто подскажет, как сделать то, что я хочу.
 Если я разберусь, то выложу полный гайд, пошаговый, как сделать доп. поля в регистрации k2.
Прошу, откликнитесь кто нибудь, я уже устал разбираться.
« Последнее редактирование: 22.05.2015, 14:16:30 от googlonator »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Бесплатная система фильтрации полей Joomla

Автор zikkuratvk

Ответов: 271
Просмотров: 32365
Последний ответ 02.11.2024, 11:43:22
от GregSil