Проблемы после перехода J3 --> J4. Существует ли лекарство?

7 мес. 1 нед. назад #9530 от Дмитрий
После перехода J3 --> J4 всплыла проблема хвоста урл изображений: #joomlaImage://local-images/arh-katalog/.../img633.jpg?width=900&height=648
Проблема, как выяснилось, известная, обсуждалась здесь: joomlaforum.ru/index.php/topic,358624.0.html рецепт здесь: sivers.su/120-rabota-s-izobrazheniyami-klass-jimage.html. Но как убрать эти хвосты (чтобы они не прикреплялись к изображениям стандартных статей) я так и не понял.
Может кто сталкивался, как решили?
Мне, эти хвосты без надобности (все равно они, к статьям созданным в J3, не добавились). Может подскажите запрос к базе, чтобы их удалить? И что можно сделать, чтобы они не появлялись...

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

7 мес. 1 нед. назад #9532 от Wedal
Дмитрий, что есть изображения стандартных статей? Те, которые вы вставляете в статью через редактор или те, которые выбираете в специальных полях для intro и full?

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

7 мес. 1 нед. назад #9533 от Дмитрий
Которые выбираю в специальных полях для intro и full.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

7 мес. 1 нед. назад - 7 мес. 1 нед. назад #9534 от Wedal
Дмитрий, первое, что мне приходит в голову и что я бы, наверное, сделал - вырезать лишние параметры в переопределенном layout'е вывода этих картинок. Кстати, там эта ерунда и добавляется. Файл:
/layouts/joomla/html/image.php.
Он переопределяется в шаблон, так что проблема решается быстро.
Спасибо сказали: Дмитрий

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

7 мес. 6 дн. назад - 7 мес. 3 дн. назад #9535 от Дмитрий

Wedal пишет: Кстати, там эта ерунда и добавляется. Файл:
/layouts/joomla/html/image.php.
Он переопределяется в шаблон, так что проблема решается быстро.

Не смог, пока, разобраться, какая часть кода отвечает за добавление "хвоста".
Мой image.php:
<?php
 
/**
 * @package     Joomla.Site
 * @subpackage  Layout
 *
 * @copyright   (C) 2021 Open Source Matters, Inc. <https://www.joomla.org>
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */
 
/**
 * Layout variables
 * -----------------
 * @var   array  $displayData  Array with all the given attributes for the image element.
 *                             Eg: src, class, alt, width, height, loading, decoding, style, data-*
 *                             Note: only the alt and src attributes are escaped by default!
 */
defined('_JEXEC') or die;
 
use Joomla\CMS\HTML\HTMLHelper;
use Joomla\Utilities\ArrayHelper;
 
$img = HTMLHelper::_('cleanImageURL', $displayData['src']);
 
$displayData['src'] = $this->escape($img->url);
 
if (isset($displayData['alt'])) {
    if ($displayData['alt'] === false) {
        unset($displayData['alt']);
    } else {
        $displayData['alt'] = $this->escape($displayData['alt']);
    }
}
 
if ($img->attributes['width'] > 0 && $img->attributes['height'] > 0) {
    $displayData['width']  = $img->attributes['width'];
    $displayData['height'] = $img->attributes['height'];
 
    if (empty($displayData['loading'])) {
        $displayData['loading'] = 'lazy';
    }
}
 
echo '<img ' . ArrayHelper::toString($displayData) . '>';
По идее, должно быть это:
if ($img->attributes['width'] > 0 && $img->attributes['height'] > 0) {
    $displayData['width']  = $img->attributes['width'];
    $displayData['height'] = $img->attributes['height'];
 
    if (empty($displayData['loading'])) {
        $displayData['loading'] = 'lazy';
    }
}
Но удаление ничего не меняет.

Обнаружил еще одну проблему (с полями):
Раньше поля типа "Список с мултивыбором" имели "крестик", для удаления содержимого (см. первый скриншот).
Теперь его нет (см. второй скриншот). Если материал создается копированием другого материала, изменить выбранное содержимое поля можно, а вот удалить все содержимое и получить пустой список не удается...
Вложения:

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

7 мес. 15 ч. назад #9538 от Wedal
Дмитрий, попробуйте вообще удалить эти строчки:

$displayData = $img->attributes;
$displayData = $img->attributes;

По поводу поля мультивыбора - сейчас это классический Select Multiple. Почему он такой - это уже вопрос на совести разработчиков.
Чтобы сделать вид как раньше зайдите в настройки поля -> Вкладка "Параметры" -> опция "Макет" -> Вариант "Расширенный выбор". По крайней мере в J 4.2.8 такой уже имеется.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

6 мес. 3 нед. назад #9542 от Дмитрий

Wedal пишет: Чтобы сделать вид как раньше зайдите в настройки поля -> Вкладка "Параметры" -> опция "Макет" -> Вариант "Расширенный выбор". По крайней мере в J 4.2.8 такой уже имеется.

От всей души, большое спасибо! Хоть одну проблему решил, заведение товаров пошло гораздо бодрее. В J 4.2.7 , тоже имеется (я, пока, не переходил на 4.2.8).
Чуть позже, отчитаюсь по удалению "хвостов".

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.

5 мес. 4 нед. назад - 5 мес. 4 нед. назад #9555 от Дмитрий

Дмитрий пишет: Чуть позже, отчитаюсь по удалению "хвостов".

Удаление "хвостов" не увенчалось успехом.

Wedal пишет: удалить эти строчки:
$displayData = $img->attributes;
$displayData = $img->attributes;

Строчки удалил, эффекта нет.

Пожалуйста Войдите или Зарегистрируйтесь, чтобы присоединиться к беседе.