Новости Joomla

Вышли релизы безопасности Joomla 5.3.4 и Joomla 4.4.14

Релиз безопасности Joomla 5.3.4

Проект Joomla спешит сообщить о выпуске Joomla 5.3.4 и Joomla 4.4.14. Это релиз безопасности для серии Joomla 5.3 и релиз безопасности для серии Joomla 4.4.

0 Пользователей и 1 Гость просматривают эту тему.
  • 16 Ответов
  • 1612 Просмотров
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Всем привет! Пишу модуль, данные в нем имеют такой вид
Код
object(stdClass)#1003 (1) {
  ["__field10"]=>
  object(stdClass)#1002 (1) {
    ["project"]=>
    object(stdClass)#996 (3) {
      ["project_name"]=>
      string(14) "Имя соискателя"
      ["project_descr"]=>
      string(0) ""
      ["list_image"]=>
      object(stdClass)#999 (2) {
        ["__field20"]=>
        object(stdClass)#998 (1) {
          ["images"]=>
          object(stdClass)#997 (1) {
            ["image"]=>
            string(98) "images/site-images/ava1.png#joomlaImage://local-images/site-images/ava1.png?width=150&height=150"
          }
        }
        ["__field21"]=>
        object(stdClass)#1001 (1) {
          ["images"]=>
          object(stdClass)#1000 (1) {
            ["image"]=>
            string(98) "images/site-images/ava2.png#joomlaImage://local-images/site-images/ava2.png?width=150&height=150"
          }
        }
      }
    }
  }
}

пробую перебрать вот так
Код
<?php
$portfolioData = $params->get('portfolioData', new \stdClass);
   foreach($portfolioData as $key=>&$data){
     $image = $data->project->list_image->images->image;
}
?>

мне нужно в $image получить путь к картинкам, но чет не работает))
$project_name = $data->project->project_name   - все норм, данные выводятся, а вот картинки не хотят, дают вот такие warning
Warning: Undefined property: stdClass::$images in C:\OpenServer\domains\stroisofi.loc\templates\stroisofi\html\mod_portfoliosection\default.php on line 17

Warning: Attempt to read property "image" on null in C:\OpenServer\domains\stroisofi.loc\templates\stroisofi\html\mod_portfoliosection\default.php on line 17

Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
привет.
так у тебя там ещё один подуровень вложенности с объектами __field20 и __field21, и уже в них лежат images...
типа надо ещё 1 цикл на foreach ну или в 2 переменные забирать оба поля, если их всегда 2, хотя подозреваю что там динамически они множатся?
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
привет.
так у тебя там ещё один подуровень вложенности с объектами __field20 и __field21, и уже в них лежат images...
типа надо ещё 1 цикл на foreach ну или в 2 переменные забирать оба поля, если их всегда 2, хотя подозреваю что там динамически они множатся?
Привет! Конечно еще одним циклом, спасибо! Я просто спешил, и написал вот так
Код
<?php
foreach($portfolioData as $key=>&$data){
    $list_image = $data->project->list_image;
    foreach($list_image as $key=>&$images){
      $image = $images->images->image;
    }
}
а надо то $image[], я и подумал что цикл в цикле - это просто неправильное решение, и надо идти другим путем))
В общем, спасибо!
есть еще один вопрос не по теме, но ради него новую тему не хочется создавать. Почему путь к картинке имеет такой вид
"images/site-images/ava2.png#joomlaImage://local-images/site-images/ava2.png?width=150&height=150"
картинку получаю обычным способом
Код
<field
                    name="image"
                    type="media"
                    default=""
                    label="Фото"
                    description="Загрузите фото"
                    class="inputbox"
                    required=""
preview_width="40"
                    preview_height="40"
            />
раньше, по моему, вот такой конструкции #joomlaImage://local-images/site-images/ava2.png?width=150&height=150" не добавлялось? Как то можно от нее избавится?

Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
я вообще таких записей не видел. но самое простое - explode по # и берешь нулевой элемент получившегося массива.
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
explode понятно, но сам факт - откуда оно появляется?? Всегда в модулях делал field type="media" и в шаблон из этого поля получаем чистый относительный путь к картинке, без всяких этих #...
на данный момент наблюдаю такое на J4.0.4
сейчас проверил, лого вывожу другим модулем тоже через type="media",   путь к картинке с той же самой фигней http://stroisofi.loc/images/site-images/logo2.png#joomlaImage://local-images/site-images/logo2.png?width=151&height=107
может это с какими нибудь новыми фичами типа микроразметки связано (если такие фичи есть вообще)?
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
такое ощущение, что просто добавили настроек в поле, а чтобы совместимость не пострадала - запихали все в одну строку.
по типу надо через api получать, но я бы просто дробил.
я лично пока на 3-ке сижу, ибо новизна ради новизны меня не вставляет уже (штарость  ;D)
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Да я не ради новизны, просто надо уже потихоньку переходить. Кстати не оправдывает 4-ка ожиданий вообще. Я ждал, что хотя бы процентов на 15 будет лучше производительность, а по ощущениям - ну, не лучше чем было на 3-ке. Кстати, в процессе работы наткнулся еще на один косяк: если сессия админа прошла, браузер вываливает белый экран. Обновляешь, логинишся, и получаешь алерт с сообщением "Вы не имеете права доступа к этой странице по прямой ссылке". Закрываешь алерт и работаешь, в общем хз что такое. На 4.0.1 у меня такого точно не было.
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
Так это содержимое поля в таком виде? хорошая шутка чья-то ) запихнуть в поле вывод var_dump...
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
#joomlaImage://local-images/site-images/ava2.png?width=150&height=150"
Нет, var_dump в топикстарте это я привел то, что получаю в шаблон из модуля, а вот то, что поле media отдает путь к картинке в таком вот виде #joomlaImage://local-images/site-images/ava2.png?width=150&height=150" - это да, теперь так)) как бы, картинка то откроется, но зачем? Ведь не было такого на 3-ке
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

sivers

  • Живу я здесь
  • 2593
  • 360 / 0
теперь так)) как бы, картинка то откроется, но зачем? Ведь не было такого на 3-ке
кто их (разработчиков) знает?
самое простое, пожалуй, будет переопределить макет поля media в /templates/шаблон/html/layouts/joomla/form/field/media.php и там подправить ссылку на картинку. Можно даже попробовать взять макет из 3-ки - вдруг подхватится?
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

ProtectYourSite

  • Живу я здесь
  • 2366
  • 138 / 4
  • Безопасность вебсайтов
Да я не ради новизны, просто надо уже потихоньку переходить. Кстати не оправдывает 4-ка ожиданий вообще. Я ждал, что хотя бы процентов на 15 будет лучше производительность, а по ощущениям - ну, не лучше чем было на 3-ке. Кстати, в процессе работы наткнулся еще на один косяк: если сессия админа прошла, браузер вываливает белый экран. Обновляешь, логинишся, и получаешь алерт с сообщением "Вы не имеете права доступа к этой странице по прямой ссылке". Закрываешь алерт и работаешь, в общем хз что такое. На 4.0.1 у меня такого точно не было.
А с чего бы? Функционал добавился, типизация не реализована, даже для сравнения, Joomla 4 с коробки имеет 50 запросов в базу, из них 10 дублируются, на тройке на 10 или 20 запросов меньше.
Вот и вопрос, с чего бы этому монстру быстрее стать?
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
А с чего бы? Функционал добавился, типизация не реализована, даже для сравнения, Joomla 4 с коробки имеет 50 запросов в базу, из них 10 дублируются, на тройке на 10 или 20 запросов меньше.
Вот и вопрос, с чего бы этому монстру быстрее стать?
да, к сожалению есть такое))
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
есть еще один вопрос не по теме, но ради него новую тему не хочется создавать. Почему путь к картинке имеет такой вид
"images/site-images/ava2.png#joomlaImage://local-images/site-images/ava2.png?width=150&height=150"
Потому что...
https://github.com/joomla/joomla-cms/issues/35871
https://docs.joomla.org/Potential_backward_compatibility_issues_in_Joomla_4#Media_Field

Чтобы получить окончательный URL-адрес изображения или относительный путь к файлу изображения - используем новый метод HTMLHelper:
Код
echo \Joomla\CMS\HTML\HTMLHelper::cleanImageURL($oldValue);

Чтобы получить чистое значение (без информации об адаптере и метаданных) из значения, которое хранится в поле медиа-формы:
Код
echo \Joomla\CMS\Helper\MediaHelper::getCleanMediaFieldValue($oldValue);
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
Потому что...
Спасибо, супер!
но остался вопрос - а для чего вообще эти метаданные можно использовать и как?
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

b2z

  • Глобальный модератор
  • 7287
  • 778 / 0
  • Разраблю понемногу
Спасибо, супер!
но остался вопрос - а для чего вообще эти метаданные можно использовать и как?
Например, для lazyloading. Да и вообще, сейчас счетается хорошим тоном задавать width и height для тега img.
https://habr.com/post/524918/
*

Шмайсер

  • Давно я тут
  • 801
  • 35 / 3
сейчас счетается хорошим тоном задавать width и height для тега img
так до да, если не в случае с style="background: url(<?php echo $img;?>)";
Разработка сайтов любой сложности, на Joomla 3.9-4.x и не только на ней. Пишу компоненты, модули и плагины на заказ. Переношу сайты с ветки 2.5.х на 4-ю версию Joomla. Пишу любые скрипты и интерфейсы.
*

sergeytolkachyov

  • Захожу иногда
  • 207
  • 20 / 0
  • @sergeytolkachyov https://web-tolk.ru
Для тех, кому эти мета-данные в урле картинки могут мешать вот принцип их работы:
  • Картинка выбирается в админке с помощью поля типа media
  • JS Joomla при клике на картинку определяет размеры и перед сохранением (в моем случае модуля) пишет в url превьюшки и куда-то ещё.
  • При сохранении модуля в базу данных сохраняется url картинки с мета-данными
  • Далее при отображении картинки снаружи получается просто уже готовый url из базы данных
  • Просто заменить файлы по ftp не получится, если нужно. Нужно зайти в модуль, заново выбрать в медиа-менеджере все обновляемые картинки, чтобы новые размеры картинок записались в бд.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Данные в таблице #_session

Автор Mick_20

Ответов: 2
Просмотров: 10813
Последний ответ 19.09.2025, 15:29:19
от Mick_20
Сломался сайт Joomla 4 после обновления одного модуля

Автор androv77

Ответов: 4
Просмотров: 1049
Последний ответ 17.05.2025, 06:12:07
от azm1n
Не могу из Joomla админки отправить тестовое сообщение

Автор androv77

Ответов: 0
Просмотров: 578
Последний ответ 03.12.2024, 20:25:36
от androv77
Вывод содержимого модуля по его ID в коде статьи

Автор goga_pgasovav

Ответов: 4
Просмотров: 1344
Последний ответ 22.10.2024, 20:22:08
от x1
Рендер / вывод модуля через сторонний файл

Автор eLig

Ответов: 5
Просмотров: 1090
Последний ответ 03.07.2024, 21:17:28
от Vastriet