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

olf

  • Захожу иногда
  • 360
  • 5 / 1
Знатоки, подскажите пожалуйста, каким образом возможно переопределить подключение другого, не дефолтного шаблона сайта для определённого вида?
Я вызываю при помощи &task=gallery функцию в контроллере, которая подключает вид:
Код: php
public function gallery() {
$view = & $this->getView('gallery','html');
$view->setLayout('gallery');
$view->display();
}
Но саму страницу надо вывести в определённом шаблоне...
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Код: php
$input = JFactory::getApplication()->input;
$input->set('template', 'template_name');
*

olf

  • Захожу иногда
  • 360
  • 5 / 1
Код: php
$input = JFactory::getApplication()->input;
$input->set('template', 'template_name');
Не фурычит почему-то. Добавляю код и в код и в view.html, и в контроллере - ни гугу.
*

olf

  • Захожу иногда
  • 360
  • 5 / 1
Пока решил по-другому.
Беру значение task= если есть и подгружаю из index.php нужный файл шаблона:
Код: php
$task= JRequest::getVar('task', null);

switch($task) {
case 'gallery':
require_once('item_gallery.php');
break;
default:
require_once('main.php');
}
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
имя шаблона как указываете? И какая версия Joomla?
Можете ещё так попробовать:
Код: php
JFactory::getApplication()->setTemplate( 'template_name' );
*

olf

  • Захожу иногда
  • 360
  • 5 / 1
имя шаблона как указываете? И какая версия Joomla?
Можете ещё так попробовать:
Код: php
JFactory::getApplication()->setTemplate( 'template_name' );
Имя шаблона как в базе в поле "name" - "Gallery".
Joomla 2.5.

О, этот код сработал! Теперь осталось определиться с вариантом, который больше подходит  ^-^. Спасибо!
« Последнее редактирование: 29.07.2014, 15:55:47 от olf »
*

Aleks.Denezh

  • Живу я здесь
  • 3404
  • 428 / 4
Имя шаблона как в базе в поле "name" - "Gallery".
Joomla 2.5.
Я не помню как в базе именуются шаблоны но надо имя папки с шаблоном задавать, то есть например если шаблон к папке templates/protostar
то
$input = JFactory::getApplication()->input;
$input->set('template', 'protostar');
или
JFactory::getApplication()->setTemplate( 'protostar' );
*

olf

  • Захожу иногда
  • 360
  • 5 / 1
JFactory::getApplication()->setTemplate( 'template_name' ) в контроллёре, - написал выше. Спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Вставка кода вызова модуля в тело шаблона другого модуля

Автор Dorfman

Ответов: 15
Просмотров: 2223
Последний ответ 19.11.2018, 21:45:54
от beliyadm
[Решено] Доступ к параметру материала из шаблона

Автор olf

Ответов: 5
Просмотров: 1559
Последний ответ 10.07.2014, 18:32:21
от b2z
Дизайн шаблона!

Автор bhaal

Ответов: 1
Просмотров: 1047
Последний ответ 04.06.2014, 09:24:36
от verstalshik
Куплю модуль для граба новостей из другого сайта J3.2

Автор volkov2000

Ответов: 0
Просмотров: 1134
Последний ответ 02.12.2013, 17:06:44
от volkov2000
Создание расширения Опросов на базе функции другого сайта

Автор Roporak

Ответов: 2
Просмотров: 2020
Последний ответ 20.05.2013, 23:24:12
от Aleks.Denezh