Новости Joomla

Astroid обновился до версии 3.3.7!

Astroid обновился до версии 3.3.7!

Astroid — это мощный фреймворк для дизайнеров и разработчиков, позволяющий создавать адаптивные, быстрые и надежные веб-сайты и шаблоны на базе Joomla.

Главное в новой версии:

-   Исправлена загрузка файлов макетов

В предыдущем крупном релизе Astroid 3.3.6 были сделаны важные улучшения:

Основные моменты:

  • Улучшенный UI/UX в ключевых областях конфигурации
  • Повышенная стабильность и согласованность в Layout Builder и Form Builder
  • Исправления ошибок на основе отзывов сообщества
  • Улучшенная обработка визуальных эффектов, границ и шрифтов

Улучшения:

  • Обновленный UX Layout Builder
  • Улучшенный эффект предзагрузчика
  • Улучшенный стиль границ
  • Улучшенный UI/UX вкладки «Layout» в Template Options

Исправления ошибок:

  • Решены проблемы с некорректными динамическими значениями
  • Исправлен Color Transform при прокрутке
  • Устранены проблемы с работой Form Builder в Article Layout и Module Layout Builder
  • Исправлена проблема с созданием ненужных временных файлов при обработке шрифтов

Скачать: https://github.com/templaza/astroid-framework/releases/tag/v3.3.7

Как тестировать Joomla PHP-разработчику? Компонент Patch tester.

👩‍💻 Как тестировать Joomla PHP-разработчику? Компонент Patch tester.Joomla - open source PHP-фреймворк с готовой админкой. Его основная разработка ведётся на GitHub. Для того, чтобы международному сообществу разработчиков было удобнее тестировать Pull Requests был создан компонент Patch Tester, который позволяет "накатить" на текущую установку Joomla именно те изменения, которые необходимо протестировать. На стороне инфраструктуры Joomla для каждого PR собираются готовые пакеты, в которых находится ядро + предложенные изменения. В каждом PR обычно находятся инструкции по тестированию: куда зайти, что нажать, ожидаемый результат. Тестировщики могут предположить дополнительные сценарии, исходя из своего опыта и найти баги, о которых сообщить разработчику. Или не найти, и тогда улучшение или исправление ошибки быстрее войдёт в ядро Joomla. Напомню, что для того, чтобы PR вошёл в ядро Joomla нужны минимум 2 положительных теста от 2 участников сообщества, кроме автора. Видео на YouTubeВидео на VK ВидеоВидео на RuTubeКомпонент на GitHub https://github.com/joomla-extensions/patchtester@joomlafeed#joomla #php #webdev #community

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

bormir

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Дубли Joomla 5
« : 25.12.2024, 20:28:18 »
Здравствуйте, может кто помочь? В Я.Вебмастер появились дубли страниц с .html) как сделать редирект с «html)» на html или запретить индексацию страниц .html)
Такая конструкция сработает? Disallow: *)*
Дополнение. Пока таких страниц мало, сделал на них редирект. Что делать если появятся дубли в массовом порядке. «Доброжелатель», видно, подставляет к url всякие знаки, а метрика подхватывает эти страницы как новые.
« Последнее редактирование: 25.12.2024, 22:34:41 от bormir »
*

web1

  • Захожу иногда
  • 364
  • 23 / 1
Re: Дубли Joomla 5
« Ответ #1 : 26.12.2024, 10:06:34 »
Добрый день, если хотите, чтоб ваши ссылки открывались с .html на конце, то вам нужно включить эти параметры в общих настройках.

Общие настройки > Система > Параметры SEO

Включить SEF
Да

Перенаправлять URL
Да

Добавлять суффикс к URL
Да

Также важно не забыть переименовать htaccess.txt в .htaccess

Если вы хотите запретить индексацию всех страниц с окончанием .html, то в robots.txt нужно добавить следующие:

Disallow: *html

Вроде бы так, удачи, всех благ!
« Последнее редактирование: 26.12.2024, 10:11:09 от web1 »
*

bormir

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Дубли Joomla 5
« Ответ #2 : 26.12.2024, 11:34:42 »
Добрый день, если хотите, чтоб ваши ссылки открывались с .html на конце, то вам нужно включить эти параметры в общих настройках.

Общие настройки > Система > Параметры SEO

Включить SEF
Да

Перенаправлять URL
Да

Добавлять суффикс к URL
Да

Также важно не забыть переименовать htaccess.txt в .htaccess
Все, конечно, включено, сайт с 2009 г. (начинал еще с Joomla 1.5). Дело в дублях страниц. Яндекс стал индексировать такие url: stranica.html) Вот и нужно запретить индексировать знак закрывающаяся скобка «)» или настроить редирект.
Такой вариант сработает? Disallow: *html)
Кстати, страницы доступны и с другими знаками, если их добавить к html: точка «.», открывающаяся скобка и т.д.
« Последнее редактирование: 26.12.2024, 11:51:11 от bormir »
*

web1

  • Захожу иногда
  • 364
  • 23 / 1
Re: Дубли Joomla 5
« Ответ #3 : 26.12.2024, 11:53:48 »
Если нужно запретить индексировать к примеру https://site.com/blog/add.html) то в robots.txt добавьте :

Disallow: *html)

Хотя у вас должна срабатывать страница 404
*

web1

  • Захожу иногда
  • 364
  • 23 / 1
Re: Дубли Joomla 5
« Ответ #4 : 26.12.2024, 11:55:23 »
У вас некорректно скорее всего работает страница 404
*

web1

  • Захожу иногда
  • 364
  • 23 / 1
Re: Дубли Joomla 5
« Ответ #5 : 26.12.2024, 12:44:21 »
Если у вас открывается корректно страница 404, то больше не нужно нечего делать, робот сам поймет, что таких страниц не существует.
*

bormir

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Дубли Joomla 5
« Ответ #6 : 26.12.2024, 13:17:28 »
Если у вас открывается корректно страница 404, то больше не нужно нечего делать, робот сам поймет, что таких страниц не существует.
Спасибо, если еще появятся дубли, то попробую Disallow: *html)
Страница 404 не срабатывает на url такого вида. Установлен Aimy Canonical и в индекс попадают дубли с двумя каноническими страницами.
*

web1

  • Захожу иногда
  • 364
  • 23 / 1
Re: Дубли Joomla 5
« Ответ #7 : 26.12.2024, 13:36:14 »
Код ответа сервера должен быть 404, если это так, то все в порядке будет. Удачи, всех благ!
*

web1

  • Захожу иногда
  • 364
  • 23 / 1
Re: Дубли Joomla 5
« Ответ #8 : 26.12.2024, 13:39:03 »
Проверить код ответа сервера можно здесь https://2ip.ru/server-response/
*

bormir

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Дубли Joomla 5
« Ответ #9 : 27.12.2024, 11:29:41 »
Может, кому и будет полезно. Нашел такой вариант редиректа, убирает всё после .html (не затрагивая знак ?, который используется в пагинации):
RewriteEngine On
RewriteRule (.+?)\.html.+$ https://%{HTTP_HOST}/$1.html [L,R=301]
Теперь бы еще с умным поиском разобраться. База разрослась до огромных размеров, да еще на запросы с точкой тупит (такого вида Калинин М.И., С.П. Боткин и т.д.), иногда минуты через две выскакивает ошибка 500. Посмотрел, что некоторые вместо умного поиска используют поиск Яндекс или Google.
*

web1

  • Захожу иногда
  • 364
  • 23 / 1
Re: Дубли Joomla 5
« Ответ #10 : 27.12.2024, 11:33:25 »
Поздравляю, я знаю, что умный поиск и вообще поиск, если он настроен неправильно может грузить сервер, по этому я поиск у себя не использую, смысла нет.
*

bormir

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Дубли Joomla 5
« Ответ #11 : 18.05.2025, 18:28:23 »
После обновления на Joomla 5.3.0 новые проблемы с дублями. Для сайта использовали плагин Console - Save old articles aliases. Теперь с такой конструкцией: sait.ru/katalog/podkatalog/*-statya могут появиться огромное количество дублей.
* - любая цифра (совпадает с id)
Поздно заметил, лучше бы оставил Joomla 5.26
Плагин: https://joomlaportal.ru/news/fastnews/3751-problema-s-id-v-url-materialov-joomla-pri-obnovlenii-bolshogo-starogo-sajta-do-joomla-5
« Последнее редактирование: 18.05.2025, 18:33:42 от bormir »
*

bormir

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Дубли Joomla 5
« Ответ #12 : 19.05.2025, 06:25:03 »
Из анонса (версия 5.3.0) на Joomlaportal.ru: «Строгая маршрутизация и улучшенные параметры SEF URL уменьшают количество дублированного контента и ненужных перенаправлений, повышая SEO вашего сайта».
На этом сайте для ряда подразделов также применили плагин: Console - Save old articles aliases, где теперь срабатывает неправильный редирект по ID и создает много дублей. Какие есть варианты исправления, помимо возвращения на Joomla 5.2.6?
*

bormir

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Дубли Joomla 5
« Ответ #13 : 19.05.2025, 17:25:12 »
Где-то нужно в этом коде "копать", чтобы вместо редиректа на дубли, была страница 404. 
Код
public function setTainted()
    {
        $this->tainted = true;
    }

    /**
     * Return if the last parsed URL was tainted.
     *
     * @return  bool
     *
     * @since  5.3.0
     */
    public function isTainted()
    {
        return $this->tainted;
    }

    /**
     * Process the parsed router variables based on custom defined rules
     *
     * @param   \Joomla\CMS\Uri\Uri  &$uri   The URI to parse
     * @param   string               $stage  The stage that should be processed.
     *                                       Possible values: 'preprocess', 'postprocess'
     *                                       and '' for the main parse stage
     *
     * @return  void
     *
     * @since   3.2
     */
    protected function processParseRules(&$uri, $stage = self::PROCESS_DURING)
    {
        if (!\array_key_exists('parse' . $stage, $this->rules)) {
            throw new \InvalidArgumentException(\sprintf('The %s stage is not registered. (%s)', $stage, __METHOD__));
        }

        foreach ($this->rules['parse' . $stage] as $rule) {
            $rule($this, $uri);
        }
    }

    /**
     * Process the build uri query data based on custom defined rules
     *
     * @param   \Joomla\CMS\Uri\Uri  &$uri   The URI
     * @param   string               $stage  The stage that should be processed.
     *                                       Possible values: 'preprocess', 'postprocess'
     *                                       and '' for the main build stage
     *
     * @return  void
     *
     * @since   3.2
     */
    protected function processBuildRules(&$uri, $stage = self::PROCESS_DURING)
    {
        if (!\array_key_exists('build' . $stage, $this->rules)) {
            throw new \InvalidArgumentException(\sprintf('The %s stage is not registered. (%s)', $stage, __METHOD__));
        }

        foreach ($this->rules['build' . $stage] as $rule) {
            \call_user_func_array($rule, [&$this, &$uri]);
        }
    }

    /**
     * Create a uri based on a full or partial URL string
     *
     * @param   string  $url  The URI or an associative array
     *
     * @return  Uri
     *
     * @since   3.2
     */
    protected function createUri($url)
    {
        if (!\is_array($url) && !str_starts_with($url, '&')) {
            return new Uri($url);
        }

        $uri = new Uri('index.php');

        if (\is_string($url)) {
            $vars = [];

            if (str_contains($url, '&')) {
                $url = str_replace('&', '&', $url);
            }

            parse_str($url, $vars);
        } else {
            $vars = $url;
        }

        $vars = array_merge($this->getVars(), $vars);

        foreach ($vars as $key => $var) {
            if ($var == '') {
                unset($vars[$key]);
            }
        }

        $uri->setQuery($vars);

        return $uri;
    }
}
*

bormir

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Дубли Joomla 5
« Ответ #14 : 19.05.2025, 21:19:57 »
Надеюсь, что Вадим Куницын (автор размещения плагина) или другой специалист посоветует как отменить редиректы, если удалить часть кода:
 
Код
 public function setTainted()
    {
        $this->tainted = true;
    }
ошибка 500, а не 404.
*

bormir

  • Осваиваюсь на форуме
  • 27
  • 0 / 0
Re: Дубли Joomla 5
« Ответ #15 : 25.05.2025, 09:16:03 »
Простое решение: components\com_content\src\Service\Router.php
Код
           
        $id = (int) $segment;

        if ($id) {
            $dbquery = $this->db->getQuery(true);
            $dbquery->select($this->db->quoteName('alias'))
                ->from($this->db->quoteName('#__content'))
                ->where($this->db->quoteName('id'). ' = :id')
                ->bind(':id', $id, ParameterType::INTEGER);
            $this->db->setQuery($dbquery);
            $alias = $this->db->loadResult();

            if ($alias && $id . '-' . $alias != $segment) {
                $this->app->getRouter()->setTainted();
            }
        }

        return $id;
    }
return $id; заменить на: return false;
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

script type="application/json" class="joomla-script-options new"

Автор Gadzila

Ответов: 2
Просмотров: 158
Последний ответ 23.12.2025, 14:09:30
от Gadzila
На что ориентироваться : Joomla 4 или Joomla 5 ?

Автор Ebelous

Ответов: 10
Просмотров: 2139
Последний ответ 10.12.2025, 16:12:12
от yevrowl
Joomla 3 и Joomla 5 на одном хостинге

Автор AlexP750

Ответов: 4
Просмотров: 367
Последний ответ 06.12.2025, 13:39:16
от AlexP750
Правильная Canonical с версии Joomla 5.4 +

Автор creative3d

Ответов: 0
Просмотров: 139
Последний ответ 04.12.2025, 21:52:58
от creative3d
Как вывести материалы по тегам в 3 колонки (Joomla! 5.3.1)?

Автор sergspb

Ответов: 0
Просмотров: 157
Последний ответ 03.12.2025, 22:07:18
от sergspb