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

ftp27

  • Новичок
  • 3
  • 0 / 0
Доброго времени суток.
Столкнулся с такой проблемой. Написал свой компонент для каталога радиотокомпонентов и собственно плагин к нему. Вроде как индексируется и во время ввода слов в поисковое поле появляются какие подсказки, но при поиске результатов никаких. Даже добавил еще один столбец `published` со значением по умолчанию 1. Что я сделал не так?

Код
<?php

defined('JPATH_BASE') or die;

require_once JPATH_ADMINISTRATOR.'/components/com_finder/helpers/indexer/adapter.php';

class PlgFinderRadioitem extends FinderIndexerAdapter
{
protected $context = 'Radioitem';
protected $extension = 'com_radiocatalog';
protected $layout = 'item';
protected $type_title = 'item';
protected $table = '#__radiocatalog_item';
protected $state_field = 'published';
protected $autoloadLanguage = true;

  protected function setup()
        {
           return true;
        }


   public function onFinderDelete($context, $table)
   {
      if ($context == 'com_radiocatalog.item')
      {
         $id = $table->id;
      }
      elseif ($context == 'com_finder.index')
      {
         $id = $table->id;
      }
      else
      {
         return true;
      }

      return $this->remove($id);
   }

   public function onFinderChangeState($context, $pks, $value)
   {
      if ($context == 'com_radiocatalog.item')
      {
         $this->itemStateChange($pks, $value);
      }

      if ($context == 'com_plugins.plugin' && $value === 0)
      {
         $this->pluginDisable($pks);
      }
   }

   protected function index(FinderIndexerResult $item, $format = 'html')
   {
      if (JComponentHelper::isEnabled($this->extension) == false)
      {
         return;
      }

      $item->url = $this->getURL($item->id, 'com_radiocatalog&layout=item', $this->layout);
      $item->route = 'index.php?option=com_radiocatalog&view=item&layout=item&id='.$item->id;
      $item->addTaxonomy('Type', 'Radioitems');
      $item->addTaxonomy('Language', $item->language);
      $this->indexer->index($item);     
   }

   protected function getListQuery($sql = null)
   {
      $db = JFactory::getDbo();
      $sql = $sql instanceof JDatabaseQuery ? $sql : $db->getQuery(true);
      $sql->select('a.id as id, a.name as title, a.description as description, a.published as published');
      $sql->from('#__radiocatalog_item AS a');

      return $sql;
   }

   protected function getStateQuery()
   {
      $sql = $this->db->getQuery(true);
      $sql->select($this->db->quoteName('a.id'));
      $sql->select($this->db->quoteName('a.name').' as title');
      $sql->select($this->db->quoteName('a.published').' as published');
      $sql->from($this->db->quoteName('#__radiocatalog_item'). ' AS a');
      return $sql;
   }

}
?>
*

newvideo

  • Захожу иногда
  • 194
  • 2 / 0
У меня плагин Smart Search Zoo не работает. Создаю модуль "умный поиск". А он выводит результаты даже с выключенным плагином. А с включенным - никаких изменений. шаблон Smart Search не выводится.
Простой поиск выводит шаблон Search Zoo, но без картинок.
Почему так?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Доработать плагин импорта полей CFI от joomline

Автор R31rus

Ответов: 1
Просмотров: 449
Последний ответ 21.12.2022, 10:40:11
от R31rus
Jroute компонента альбомов

Автор Koot

Ответов: 2
Просмотров: 850
Последний ответ 03.08.2019, 10:21:04
от Aleks.Denezh
Как использовать функции компонента в модуле?

Автор specialist-web

Ответов: 6
Просмотров: 1073
Последний ответ 12.05.2019, 12:26:10
от AlekVolsk
params->get для компонента, как получить свои собственные параметры для компонента

Автор klubnichkaaa

Ответов: 13
Просмотров: 14077
Последний ответ 01.06.2017, 20:20:28
от Septdir
Как вставить модуль в контент компонента

Автор sava36

Ответов: 21
Просмотров: 18431
Последний ответ 15.06.2016, 09:55:51
от Ilja93