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

St@lker

  • Захожу иногда
  • 80
  • 0 / 0
Ув, Peroon сделал хак, я написал более подробное описание.

1. В шапке (где переменные объявлены) вставляем (у меня 23 строка):

Код
$pathimages1 = JURI::base(). $ad_pathimages . "/";

2. 345-ая строка БЫЛО:

Код
$tle = jsspecialchars($row1->imgtitle);
              echo "<a href='" . JRoute::_("index.php?option=com_datsogallery&func=detail&catid=$catid&id=$row1->id&Itemid=" . $Itemid). "'";
              echo "onmouseover=\"showttip('";
              echo "<strong>$tle</strong>";
              if ($ad_showimgcounter > 0) {
                echo "<br />$dghits: $row1->imgcounter";
              }
              if ($ad_showrating > 0) {
                echo "<br />$dgvotes: $frating  ";
              }
              if ($ad_showcomment > 0) {
                echo "<br />$dgcomment : $comments";
              }
              echo "');\"";
              echo "onmouseout=\"hidettip();\"><img src='$thumbnailpath$row1->imgthumbname' id='dg-image' alt='" . $tle . "' /></a><br />";
            echo "</td>\n";

СТАЛО:

Код
$tle = jsspecialchars($row1->imgtitle);
              echo "<a href='" . JRoute::_("index.php?option=com_datsogallery&func=detail&catid=$catid&id=$row1->id&Itemid=" . $Itemid). "' ";
        echo "onmouseover=\"showInfo('".$stringinfobox."','".$pathimages1.$row1->imgthumbname."')\" onmouseout=\"hidettip();\" >";
echo "<img src='".$thumbnailpath.$row1->imgthumbname."' id='dg-image' alt='" . $tle . "' />";
echo "</a>";
 echo "</td>\n";

3. Теперь после этого у меня 359 строка ДОБАВЛЯЮ:
Код
?>
<script type="text/javascript">     
function showInfo(title, name, dimensions) {
  HTML = '<div style="width:100%;text-align:center;vertical-align:middle;">'+title+'<img style="border:1px solid Beige; margin:20px" src='+name+' name="imagelib" alt="No Pics" height="250"/></div>';
  showttip(html)
  }
</script>
<?php
*

Sombre

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
интересный хак, но у меня не работает - ошибка связана с stringinfobox
*

Peroon

  • Захожу иногда
  • 247
  • 11 / 1
  • http://textonix.ru
после строки:
$tle = jsspecialchars($row1->imgtitle);


логичнее будет добавить:
Код
  $stringinfobox= "<strong>".$tle."</strong /><br />";
              $pathimages1 = JURI::base(). $ad_pathimages . "/";
 
    if ($ad_showimgcounter > 0)
      {
    $stringinfobox.=$dghits.": ".$row1->imgcounter."<br />";
  }
                if ($ad_showrating > 0)
    {
  $stringinfobox.= $dgvotes.":". $frating ."<br />";
                }
                if ($ad_showcomment > 0)
    {
  $stringinfobox.= $dgcomment.":". $comments ."<br />";
                   
                }

так будет правильнее ;)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Полное изображение из категории с JS эффектом (1.8.1)

Автор beliyadm

Ответов: 20
Просмотров: 13548
Последний ответ 25.06.2015, 14:22:52
от beliyadm
категории - эффект аккордеон

Автор kira

Ответов: 2
Просмотров: 4741
Последний ответ 29.05.2012, 18:34:27
от act1ve
Описание категории при просмотре мини эскизов для 1.8.4

Автор Webprohozhiy

Ответов: 1
Просмотров: 4023
Последний ответ 01.10.2011, 20:27:58
от hlopusha16
Как присвоить категории индивидуальную, а не генерированную, картинку в DatsoGallery 1.6.2.

Автор pclux

Ответов: 1
Просмотров: 4636
Последний ответ 24.02.2011, 23:04:01
от Animatik
Открытие оригинального изображения при клике на миниатюру в категории

Автор MAMOHT

Ответов: 7
Просмотров: 5934
Последний ответ 01.09.2009, 17:32:38
от Pleschengrad