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

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Немного запутался.

Переделываю старый компонент по рекомендации https://cmscafe.ru/docs/joomla/developer/component-joomla-2-5/266-chast-12-podderzhka-acl. Почти все работает. Не работает проверка прав по указанной конкретной записи.

В хелпере код
Код
public static function getActions($section = '', $id = 0)
{
if (empty($section) && !$id)
        {
            $assetName = 'com_paymentsbrf';
        }
        else
        {
            $assetName = 'com_paymentsbrf.'.$section.'.' . (int) $id;
        }

//echo $assetName;
//exit;

$user = JFactory::getUser();
$result = new JObject;
//$assetName = 'com_paymentsbrf';
$actions = JAccess::getActions( $assetName );
foreach ( $actions as $action ) {
$result->set( $action->name, $user->authorise( $action->name, $assetName ) );
}
return $result;
}

Вызываю его
Код
$this->canDo = paymentsbrfHelper::getActions( 'base', $this->item->id);
Не получаю правильного ответа, но если вызвать
Код
$this->canDo = paymentsbrfHelper::getActions();
- работает но без учета конкретных изменений
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Re: ACL - взять rules конкретной записи
« Ответ #1 : 23.10.2017, 23:13:32 »
Проблема как мне кажется, что где-то должны подключаться родительские права, а этого не происходит.
*

robert

  • Живу я здесь
  • 4974
  • 457 / 20
Re: ACL - взять rules конкретной записи
« Ответ #2 : 23.10.2017, 23:21:27 »
Не вижу, чтобы вы следовали рекомендации. Советую посмотреть код метода JAccess::getActions().
Не будь паразитом, сделай что-нибудь самостоятельно!
*

platonische

  • Давно я тут
  • 523
  • 2 / 1
  • Парусные экспедиции vk.com/tc670
Re: ACL - взять rules конкретной записи
« Ответ #3 : 23.10.2017, 23:26:50 »
Не вижу, чтобы вы следовали рекомендации. Советую посмотреть код метода JAccess::getActions().
Именно. Спасибо! Тоже нашел это. Что-то выкинул часть кода за ненадобностью, а потом забыл что выкинул.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

создание новой записи во view компонента

Автор tm2010

Ответов: 29
Просмотров: 2133
Последний ответ 26.12.2017, 15:00:14
от Aleks.Denezh
Логирование ошибок - куда сохраняются записи логов

Автор Inoken

Ответов: 3
Просмотров: 4450
Последний ответ 07.10.2017, 12:37:22
от dmitry_stas
Получить данные AJAX в контроллере и направить их в модель для записи в бд

Автор donpekc

Ответов: 6
Просмотров: 2441
Последний ответ 24.04.2017, 12:04:52
от donpekc
Пользовательская форма - редактирование записи

Автор kadett

Ответов: 5
Просмотров: 1034
Последний ответ 03.11.2016, 12:17:00
от Septdir
Как получить id записи в компоненте?

Автор vickof

Ответов: 1
Просмотров: 1660
Последний ответ 23.06.2016, 09:40:04
от b2z