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

Beer

  • Moderator
  • 1103
  • 43 / 1
  • БИРУ - БИР!
Перебрал много скриптов и расширений для Joomla, но мне как-то этот глянулся лучше всех: демо посмотреть тут - photo-sphere-viewer

Да и ради десятка другого панорам городить отдельное расширение не хочется. Данный скрипт у меня отлично работает в контенте, но хочу сделать в галерее, создав определенную категорию для круговых панорам или же используя JoomAdditionalImageFields для создания условия - обозначения панорамы 360.

1. Создаем папку
сайт\images\photo-sphere\
Туда копируем файлы скрипта Photo Sphere Viewer v2.9
Код
photo-sphere-viewer.js
photo-sphere-viewer.min.js
three.min.js

2. В файл \components\com_joomgallery\views\detail\tmpl\default.php
Добавляем условие для загрузки скрипта:

Код
<!-- load script 360 panorama -->
  <?php if($this->image->catid == '6'): ?>
<script src="/images/photo-sphere/three.min.js" async="async"></script>
<script src="/images/photo-sphere/photo-sphere-viewer.min.js" async="async"></script>
  <?php   endif;?>
<!------------------------>

В данном примере - это категория с id=6
Т.е. скрипты будут подгружаться только если открываем фото из категории 6.

3. В нужном месте (пока тест) добавляем ссылку на панораму:

Код
<!-- load photo-sphere panorama -->
  <?php if($this->image->catid == '6'): ?>
<div class="bg-gray">
<?php  echo '<a href="/components/com_joomgallery/views/detail/tmpl/photo-sphere.php" class="modal" rel="{size:{x:800,y:600}}">Панорама photo-sphere</a>'; ?>
</div>
  <?php   endif;?>
<!------------------------>

4. photo-sphere.php
Спойлер
[свернуть]
Все работает, но в полуручном режиме.
Т.е. загруженная панорама через фронтенд не отобразится, т.к. скрипт выведет панораму /images/stories/panorama-examples/01-interior/pano-360.jpg а надо:
Код
<?php echo $this->image->link; ?>

Но запись вида:
Код
panorama: '/images/stories/panorama-examples/01-interior/<?php echo $this->image->link; ?>'
Неправильная

Ну и ссылка на панораму должна быть по клику на детальное изображение (это сделаю потом.)

Прошу помощи у гуру! !
*

Beer

  • Moderator
  • 1103
  • 43 / 1
  • БИРУ - БИР!
Re: Вывод круговой панорамы в галерее
« Ответ #1 : 19.11.2019, 11:11:52 »
Сделал так:
components\com_joomgallery\views\detail\tmpl\default.php
После if($this->params->get('image_linked')): ?>
меняем на:
Код
<!-- load link photo-sphere panorama -->
<?php if($this->image->catid == '43'): ?>
<a href="images/com_joomgallery/pano360/<?php echo $this->image->id;?>.html" class="modal" rel="{size:{x:800,y:600}}">
<img src="<?php echo $this->image->img_src; ?>" class="jg_photo-detail" id="jg_photo_big" width="<?php echo $this->image->width; ?>" height="<?php echo $this->image->height; ?>" alt="<?php echo $this->image->imgtitle;?>" title="<?php echo $this->image->imgtitle;?>" />
</a>
<?php endif;?>

<?php if($this->image->catid <> '43'): ?>
<a <?php echo $this->image->atagtitle; ?> href="<?php echo $this->image->link; ?>" rel="lightbox">
<?php endif;?>



<?php endif; ?>
<?php if($this->image->catid <> '43'): ?>
      <img src="<?php echo $this->image->img_src; ?>" class="jg_photo-detail" id="jg_photo_big" width="<?php echo $this->image->width; ?>" height="<?php echo $this->image->height; ?>" alt="<?php echo $this->image->imgtitle;?>" title="<?php echo $this->image->imgtitle;?>" <?php echo $this->extra; ?> />
<?php if($this->params->get('image_linked')): ?>
    </a>
<?php endif;?>
<!------------------------>

Теперь будет открываться images/com_joomgallery/pano360/ID.html
Который надо заранее положить в отдельную папку - в нем код панорамы.
Все работает.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как убрать слово "описание" со страницы категории. Как вообще убрать любые названия полей в галерее?

Автор Adrian1111

Ответов: 2
Просмотров: 2161
Последний ответ 02.06.2017, 20:26:37
от Septdir
Вывод изображений JoomGallery в категории Joomshoping

Автор Andruxakonst

Ответов: 0
Просмотров: 1694
Последний ответ 24.12.2016, 01:27:37
от Andruxakonst
Вывод модулем ?

Автор warlocksp

Ответов: 4
Просмотров: 1771
Последний ответ 19.03.2016, 16:54:38
от warlocksp
Вывод галереи в материале

Автор Igoritaly

Ответов: 7
Просмотров: 3451
Последний ответ 27.01.2016, 12:57:33
от Dimets
Вывод подкатегорий в материал

Автор Dimets

Ответов: 0
Просмотров: 1376
Последний ответ 27.01.2016, 12:44:08
от Dimets