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

Витрум

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Добрый день!
Есть в виртмарте такая полезная функция, как динамическое изменение размеров эскиза товара.

И работает она только в том случае, если при добавлении товара мы закачем  в "Маленькая картинка" большое изображение, из которогоVirtueMartбудет создавать новые эскизы в случае изменения размера в настройках магазина. При этом при добавлении товара опция "автоматически создавать уменьшеное изображение" должна быть выключена, иначе эта созданная картинка более не будет изменятся в размерах при изменении их в настройках.

Собственно вопрос -
чтобы фото товара посмотреть на весь экран, нужно закачивать Большое изображение.
Чтобы была возможность изменять размер эскиза (сменился дизайн к примеру и т.п.) - нужно также закачивать большое изображение.

Получается на каждый товар дублируется по 2 одинаковых больших изображения, плюс виртмарт сам создаст 1 маленькое изображении в соответствии с текущими настройками.

Нельзя ли как то это упроситть, чтобы виртмарт брал "на создание эскиза" картинку от большого изображения? т.е. загружать всего 1 изображение, а эскиз будет сам создаваться, и если изменим размер, то опять пересоздасться сам
*

Витрум

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Ну ведь сейчас он не испытавыет особой нагрузки..
Схема работы виртмарта (стандартная):
Загрузили в обе опции два одинаковых качественных изображения.
В настройках глобальных указали размер эскиза и поставили галочку о том чтобы создавались они.
При первом обращении на страницу товаров - эскиз генерируется (да, тут может съедаться 0,00001 процессорного времени сервера),  а далее если картинка уже сгенерирована, она повторно не генерируется, а берётся из папки risize :)
Вот так всё просто..

Но вопрос в другом состоит.. Как избежать двух одинаковых картинок из-за этого...
*

beagler

  • Moderator
  • 3276
  • 392 / 4
  • https://alorisman.ru/
В стандарте эскиз генериться, когда администратор аплодит большую картинку. А Вы хотите, чтобы при обращение посетителя на фронтэнде генерился эскиз. А теперь представьте - на странице 50 товаров (50 эскизов), таких страниц 100 (хотя в реальных магазнах может быть намного больше) И посетителе у Вас - хотя бы 500 в сутки. Умножайте.
*

Витрум

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Извиняюсь, конечно.. Но вы читаете что я пишу? :)
Эскиз в стандарте генерится только 1 раз - если при загрузке картинки поставить галочку на автоматическое создание.
И в дальнейшем если изменить размеры изображения в настройках - новый эскиз не создасться, а так и будет маленьким всегда,т.к. эских давно уже создан.

А вот если автоматического эскиза не создавать, А залить вторую большую картинку, то  эскиз создаться ЕДИНОЖДЫ при первом обращении к странице, и запишется согласно текущим настройкам размера, и останется в папке risized, от куда и будет при дальнейшем обращении и ПОДГРУЖАТЬСЯ :)

т.е. нагрузка только на первый раз - создать эскиз из большой фото, если его нет :)

вопрос же в чём - как сделать чтобыVirtueMartиспользовал 1 большую фото, вместо двух  (1 для увеличенного изображения, вторую для создания эскиза в случае изменения размеров в настройках, и если эскиза нет в папке)

Спасибо! ;-)
*

Витрум

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
изо дня в день пытаюсь решить эту проблемку для себя, и уже в который раз натыкаюсь на свой же пост в форуме тут :-D
*

kamuzon

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Насколько я вкурил как работает 1.1.3, то при заливке ТОЛЬКО БОЛЬШОЙ картинки, даже при автоматическом создании маленькой картинки, при изменении размеров маленькой картинки в настройках магазина они (миниатюры) автоматом пересоздаются при первом заходе на страницу со списком товаров и первый раз страница с миниатюрами грузится долго, а дальше оно загружает всё из кеша. Вернее из папки resized. По крайней мере основные миниатюры так изменяются. А потом в этой директории валяются миниатюры всех когда-либо созданных размеров.
Поэтому не вижу, где тут большая нагрузка на сервер. И вообще всё работает отлично.

У меня другая проблема, когда заливаешь картинку, то проставлен размер большой картинки 500 на 500.
При этом размер миниатюры настраивается в админке и его можно легко менять, а вот этот размер с наскока я не нашёл где можно поменять.
ГДЕ можно изменить настройку этих размеров?
В коде они именуются
         Высота: <input type="text" name="fullimage_height" value="500" class="inputbox" />&nbsp;&nbsp;&nbsp;
        Ширина: <input type="text" name="fullimage_width" value="500" class="inputbox" /></div>
« Последнее редактирование: 13.08.2009, 19:52:29 от kamuzon »
*

kamuzon

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
И тут до меня дошло поискать в файлах fullimage_height
И оказалось, что эти размеры тупо прописаны в php файле product.file_form.php

Однако остаётся другой вопрос. Эти размеры используются при добавлении дополнительных картинок. А какие размеры для большой картинки используются при добавлении основной картинки?!
*

kamuzon

  • Осваиваюсь на форуме
  • 12
  • 0 / 0
Круто. И снова я отвечаю сам на свой ответ. гыгы
Когда добавляешь основную картинку через закладку "Изображение товара", то большая картинка не ресайзится вообще, а показывается в том разрешении, в котором была залита на сайт. Это имхо косяк и недоработка.
*

Витрум

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
Насколько я вкурил как работает 1.1.3, то при заливке ТОЛЬКО БОЛЬШОЙ картинки, даже при автоматическом создании маленькой картинки, при изменении размеров маленькой картинки в настройках магазина они (миниатюры) автоматом пересоздаются при первом заходе на страницу со списком товаров и первый раз страница с миниатюрами грузится долго, а дальше оно загружает всё из кеша. Вернее из папки resized. По крайней мере основные миниатюры так изменяются. А потом в этой директории валяются миниатюры всех когда-либо созданных размеров.
Поэтому не вижу, где тут большая нагрузка на сервер. И вообще всё работает отлично.

При загрузки большой фото, если снята опция создавать эскизы - ничего не создаёт.
Если поставить опцию создавать эскизы - создаст при текущих настройках эскиза. И если дальше изменить  в настройках размер эскиза, то ничего не пересоздаётся :( По крайней мере у меня, на двух тестовых сайтах.
А вот если два раза загрузить большую фото, и в большую и в эских, то хоть как меняй размеры эскиза, он будет нормально загружаться и пересоздаваться. Вот только хранить по две полноразмерные фото на сайте не рентабельно немного...
*

Samcat

  • Осваиваюсь на форуме
  • 42
  • 0 / 0
При загрузки большой фото, если снята опция создавать эскизы - ничего не создаёт.
Если поставить опцию создавать эскизы - создаст при текущих настройках эскиза.

Абсолютно не понятно как это делается в v1.1.3. В v1.0 было все очень просто и классно: залил большую картинку, поставил галочку "делать маленькую" и о счастье.) А тут куда лезть?...
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Изменение товара

Автор almerashop89

Ответов: 12
Просмотров: 3356
Последний ответ 10.01.2017, 11:35:18
от almerashop89
количество товаров на странице

Автор gazman

Ответов: 0
Просмотров: 3280
Последний ответ 03.03.2016, 21:50:39
от gazman
Объединение похожих товаров в карточке товара

Автор newjey

Ответов: 8
Просмотров: 1645
Последний ответ 09.10.2015, 14:39:31
от newjey
Неправильное сортировка по цене в категориях товаров

Автор Tobi_108

Ответов: 0
Просмотров: 1467
Последний ответ 06.08.2015, 16:29:26
от Tobi_108
Удаление большого пласта товаров по артикулу из админки (компонент модуль)

Автор holovla

Ответов: 0
Просмотров: 1547
Последний ответ 28.06.2015, 23:50:37
от holovla