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

Yurets

  • Захожу иногда
  • 405
  • 92 / 0
  • Губернатор острова Борнео
Всем привет.

Есть такой простой, но достаточно интересный модуль "Datso Gallery Preview". В частности я использую его для вывода новинок из галереи на главную страницу.
Да вот незадача — фотографии-то в галерее бывают "горизонтальные" и "вертикальные". Если выводить их одним горизонтальным рядом (например 5 штук), то результат получается, мягко говоря, некрасивым.

Возникла идея модифицировать модуль для решения следующей конкретной задачи: выводить N только горизонтальных фотографий из самой новой категории, причем выбирать их (фотографии) случайным образом.

В настройках модуля (в админке) д.б. "Type of display" → Banner, "Ordering" → Latest pix.
Открываем mod_datso_preview.php (предварительно сделаем его бэкап!).

[spoiler title=Ищем старое и приводим к виду:]
...
   switch($ordering) {
      case "latest":
         $query = "SELECT DISTINCT *, c.access FROM #__datsogallery as p"
          . "\n left join #__datsogallery_catg as c on c.cid=p.catid"
          . "\n WHERE p.catid = (SELECT MAX(p.catid) FROM #__datsogallery AS p) AND p.published = '1' and p.approved=1 and c.access <= $my->gid"
          . "\n ORDER BY RAND()";
         
         break;
...
[/spoiler]
[spoiler title=+ перепишем в самом низу]
...
      default:
      
      $counter = 0;
      $arr_horiz = array();
      
      foreach($rows as $row) {
      
         $img_size = getimagesize($thumbnailpath.$row->imgthumbname);
         $width = $img_size[0];
         $height = $img_size[1];
         
         if ($width > $height) { // т.е. фотка горизонтальная
            $arr_horiz[$counter] = array('id' => $row->id, 'name' => $row->imgthumbname, 'title' => $row->imgtitle);
            $counter++;
         }         
      }

      for ( $i = 0; $i<$nbPix; $i++ ) {
         echo "<a href=\"". sefRelToAbs("index.php?option=com_datsogallery&Itemid=$Itemid&func=detail&id=".$arr_horiz[$i]['id']."") ."\"><img src=\"{$thumbnailpath}{$arr_horiz[$i]['name']}\" title=\"{$arr_horiz[$i]['title']}\" alt=\"{$arr_horiz[$i]['title']}\"></a>";
      }
         break;
   }
?>[/spoiler]

Всё.
В комнате с белым потолком
*

Yurets

  • Захожу иногда
  • 405
  • 92 / 0
  • Губернатор острова Борнео
Вот, что должно получиться в итоге:

В комнате с белым потолком
*

vsh

  • Захожу иногда
  • 64
  • 3 / 0
Хоть что-то похожее на то что я ищу!

Нужен модуль вывода последних 10 категорий на главную в виде привьюшек(которые изменяются рандомом) и под каждой привьюшкой название категории.
При нажатии выводится данная категория.

Данный модуль существует для JoomGallery, но его функциональность мне не подошла.
Может подскажите где взять такой модуль или как переделать любой другой под мои критерии?
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

модуль для вывода последнего созданного альбома ?

Автор coltt

Ответов: 4
Просмотров: 5703
Последний ответ 31.10.2013, 09:48:03
от Glee
Дополнение к DatsoPic - кнопка вывода тега в редакторе

Автор bestel

Ответов: 7
Просмотров: 5504
Последний ответ 09.11.2009, 18:33:39
от pechka