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

ISV

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
JoomShoping 4.3.3, Widgetkit 1.5.5

Создал дополнительное поле (description1) описания на странице продукта.
Элемент Widgetkit вызывается через такой код [widgetkit id=1].
При этом в обычном поле описания (description) Widgetkit вызывается и работает.
В дополнительно созданном поле - нет.

В чем может быть проблема?
(возможно где-то надо зарегистрировать это поле, так как плагин не обрабатывает его...)

Спасибо за помощь.
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
\components\com_jshopping\lib\functions.php function changeDataUsePluginContent
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ISV

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Оригинальный код:
Код: php
function changeDataUsePluginContent(&$data, $type){
    $mainframe =JFactory::getApplication();
    $dispatcher =JDispatcher::getInstance();
    JPluginHelper::importPlugin('content');
    $obj = new stdClass();
    $params = $mainframe->getParams('com_content');
   
    if ($type=="product"){
        $obj->product_id = $data->product_id;
    }
    if ($type=="category"){
        $obj->category_id = $data->category_id;
    }
    if ($type=="manufacturer"){
        $obj->manufacturer_id = $data->manufacturer_id;
    }
    if (!isset($data->name)) $data->name = '';
    $obj->text = $data->description;
    $obj->title = $data->name;
    $results = $dispatcher->trigger('onContentPrepare', array('com_content.article', &$obj, &$params, 0));
    $data->description = $obj->text;
    return 1;
}

Пытался разобраться сам - не получилось (почти не знаю PHP).
У меня имеется еще одно значение (description1), если я добавляю две строки
Код: php
$obj->text = $data->description1;

$data->description1 = $obj->text;
Widgetkit начинает работать, но у меня description1 копируется в description...
*

dmitry_stas

  • Легенда
  • 13151
  • 1234 / 8
в конце перед return надо добавить

Код: php
$obj->text = $data->description1;
$results = $dispatcher->trigger('onContentPrepare', array('com_content.article', &$obj, &$params, 0));
$data->description1 = $obj->text;
Тут дарят бакс просто за регистрацию! Успей получить!
Все советы на форуме раздаю бесплатно, то есть даром. Индивидуально бесплатно консультирую только по вопросам стоимости индивидуальных консультаций
*

ISV

  • Осваиваюсь на форуме
  • 10
  • 0 / 0
Огромное спасибо!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Отдельное поле для себя в админке к заказам

Автор Kugata

Ответов: 3
Просмотров: 956
Последний ответ 05.02.2019, 19:09:40
от kit2m2
Поле количество товара, шаблон vina fashion ii

Автор Chypik

Ответов: 15
Просмотров: 1034
Последний ответ 30.11.2018, 15:48:06
от lexxbry
Съедает описание в карточке товара Joomshoping

Автор standerson13

Ответов: 2
Просмотров: 1114
Последний ответ 24.04.2018, 21:29:25
от standerson13
Вывод краткого описания категории в модуле категории mod_jshopping_categories

Автор tigra-uki

Ответов: 11
Просмотров: 936
Последний ответ 16.09.2017, 16:26:23
от tigra-uki
Редактирование количества товара в корзине кнопками "+", "-" (Joomshoping)

Автор eavasi

Ответов: 21
Просмотров: 6642
Последний ответ 19.02.2017, 00:12:06
от alex_nice