Новости 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 Ответов
  • 1422 Просмотров
*

bybus

  • Захожу иногда
  • 86
  • 2 / 1
Пытаюсь сделать свой первый модуль. Пока что пытаюсь понять как все это дело работает.
И в самом же начале у меня затык. Не могу выдернуть значения переменных из настроек модуля. В чем может быть проблема? И не получается привязать суффикс класса модуля. Поле для ввода сделал, но оно значение в нем не сохраняется.

mod_actual.xml
Код
<?xml version="1.0" encoding="utf-8"?>
<extension type="module" version="3.1.0" client="site" method="upgrade">
    <name>Актуальные цены</name>
    <author></author>
    <version>1.0.0</version>
    <description>Отображает дату задним числом.</description>
    <files>
        <filename>mod_actual.xml</filename>
        <filename module="mod_actual">mod_actual.php</filename>
        <filename>index.html</filename>
        <filename>helper.php</filename>
        <filename>tmpl/default.php</filename>
        <filename>tmpl/index.html</filename>
    </files>
    <config>
    <fields name="params">
     <fieldset name="basic">
     <field name="textdata" type="text" default="Актуальность цен" label="Надпись" description="Надпись возле даты"/>
     <field name="daydata" type="text" default="4" label="Дни" description="Дата отстает на столько дней"/>
</fieldset>
<fieldset name="advanced">
<field name="moduleclass_sfx" type="textarea" rows="3" label="COM_MODULES_FIELD_MODULECLASS_SFX_LABEL" description="COM_MODULES_FIELD_MODULECLASS_SFX_DESC" />
</fieldset>
</fields>
    </config>
</extension>

mod_actual.php
Код
<?php
defined('_JEXEC') or die;
require_once( dirname(__FILE__). '/helper.php' );
$textdata = $params->get('textdata');
$daydata = $params->get('daydata');
$actual = modActualHelper::Daybacker($daydata);
require( JModuleHelper::getLayoutPath('mod_actual'));
?>
helper.php
Код
<?php
class modActualHelper
{  
    public static function Daybacker($daydata)   {
return $daydata;
    }
}
?>
default.php - ввел получения параметра сразу, но толку нет никакого, не выводит ничего.
Код
<?php
defined('_JEXEC') or die; ?>
<?php echo $params->get('textdata')?>


Извините, похоже я разделом ошибся.
« Последнее редактирование: 28.09.2014, 20:23:24 от bybus »
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
в файле mod_actual.php достаточно две строки кода

Код
defined('_JEXEC') or die;
require JModuleHelper::getLayoutPath('actual', $params->get('layout', 'default'));

что бы параметры указанные в админке выводились в модуле...

используй
Код
<?php echo $params->get('textdata'); ?>
...
*

bybus

  • Захожу иногда
  • 86
  • 2 / 1
Спасибо! Все дело оказалось в том, что в модуле нужно нажать кнопку сохранить, без этого записи в бд не создаются. Я же вывел модуль, а уж потом стал его наполнять :o. Вот такие пироги
*

motokraft

  • Завсегдатай
  • 1326
  • 72 / 13
Спасибо! Все дело оказалось в том, что в модуле нужно нажать кнопку сохранить, без этого записи в бд не создаются. Я же вывел модуль, а уж потом стал его наполнять :o. Вот такие пироги

так что вопрос решен!
...
*

bybus

  • Захожу иногда
  • 86
  • 2 / 1
Да, решен. zainskavto.um.la вот такой простенький модуль с датой слева.
*

Fedor Vlasenko

  • Живу я здесь
  • 3845
  • 733 / 7
  • https://fedor-vlasenko.web.app
Актуальность цен который?
Для простых выводов не обязательно плодить модули.
В вашем же случае достаточно было создать альтернативный макет модуля custom и вывести его
/templates/ваш шаблон/html/mod_custom/time.php
в настройке публикации модуля выбрать этот (time) шаблон
Вставлять можно как php так и js
К примеру простые часы с датой
http://learn.javascript.ru/play/prKsub
*

ELLE

  • Глобальный модератор
  • 4510
  • 893 / 0
bybus! Где-то в правилах форума написано, что можно безнаказанно дублировать темы во всех приглянувшихся разделах?
http://joomlaforum.ru/index.php/topic,301512.0.html
*

bybus

  • Захожу иногда
  • 86
  • 2 / 1
Виноват, было открыто две вкладки. Проглядел и начал не с той.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как подружить в файле манифеста описание модуля и вызов джаваскрипта?

Автор DyadyaGenya

Ответов: 27
Просмотров: 1399
Последний ответ 25.03.2019, 15:59:07
от robert
JEvents размер модуля календаря

Автор sosny

Ответов: 0
Просмотров: 942
Последний ответ 25.02.2019, 20:03:22
от sosny
Вставка в плагин позиции модуля

Автор Melkiy

Ответов: 1
Просмотров: 864
Последний ответ 03.12.2018, 19:18:20
от effrit
Кривая анимация модуля

Автор Leo1986

Ответов: 2
Просмотров: 851
Последний ответ 10.10.2018, 14:29:36
от Leo1986
Отключение модуля в мобильной версии

Автор Leo1986

Ответов: 4
Просмотров: 1838
Последний ответ 05.10.2018, 10:32:51
от NewUsers