Новости Joomla

Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5Системные...

Как вызвать событие только для указанной (одной или более) группы плагинов в Joomla 5Системные плагины в Joomla срабатывают всегда, но большое их количество может негативно сказаться на скорости работы Приложения. А во-вторых ошибка в системном плагине, добавляющем кнопку в тулбар может обрушить механизм регистрации / авторизации пользователя. Поэтому для лучшего быстродействия и надёжности работы системы плагины в Joomla разделены на группы. Каждая группа срабатывает только в определённом месте и в определённый момент времени. Небольшой пост-шпаргалка для Joomla-разработчиков от участника нашего сообщества Виталия Некрасова (@vitalik_a) подскажет как в своём коде сделать то, что написано в заголовке поста 😎Читать пост на Хабре#joomla #php #разработка #webdev

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3

Обновление модуля WT Quick links v.2.3.0Модуль позволяет создавать быстрые наборы элементов: ссылки на различные сущности на сайте Joomla: категории материалов, Virtuemart, JoomShopping, пункт меню или пользовательскую ссылку. Есть условия для исключений показа элементов списка.Вы можете создавать собственные макеты вывода модуля, создавая таким образом почти всё, что угодно: от простого списка ссылок до стены фотографий на главную страницу или ссылки-теги для перелинковки категорий интернет-магазина. Модуль позволяет выводить изображения, адаптивные изображения, видео, адаптивные видео. Также это могут быть не только ссылки, но и список вопросов FAQ, элементы Bootstrap Tabs, Accordion и т.д.v.2.3.0 Что нового?- Собственные макеты для ссылокТеперь для каждой ссылки можно указать собственный макет из папки /tmpl/sublayout/. Для использования модуля в этом режиме, необходимо выбрать макет модуля - default-sublayouts или создать собственный вариант этого макета. - Обработка плагинами контентаСодержимое поля Дополнительный текст для ссылки теперь обрабатывается плагинами контента.- Поле примечанияДобавлено поле примечания для ссылки. Это удобно ориентации в большой форме.- Рефакторинг кодаПроведена чистка и улучшения кода.Страница расширенияGitHub#расширения #virtuemart #JoomShopping

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

hyperion

  • Новичок
  • 3
  • 0 / 0
Друзья. Сайт http://snabsib.com/ Google ругается на долгую загрузку страницы. Просит перенести подключение скриптов вниз страницы. В каком файле это сделать?
*

kern.USR

  • Давно я тут
  • 827
  • 68 / 1
в шаблоне, если подключали руками.
Если не получается по-человечески перенести - читайте эту тему https://github.com/joomla/joomla-cms/issues/10250
И попробуйте этот плагин https://extensions.joomla.org/extension/scriptsdown/
*

Kasyanov

  • Захожу иногда
  • 123
  • 9 / 0
  • Всё будет хорошо)
Прежде чем переносить скрипты, попробуйте сделать базовое ускорение.

https://kasyanov.info/seo-prodvizhenie/149-seo-svoimi-rukami-chast-4

Перенос скриптов очень ответственное дело, можно здорово накосячить.
*

wishlight

  • Гуру
  • 5044
  • 311 / 1
  • От 300 руб быстрый хостинг. Сервера.
Тут похоже просто не хватает ресурсов хостинга. Ответ сервера мрачный. Это по скорости.

Время ответа сервера   1191 мс

Похоже ради сжатия там потрачены все ресурсы.

jch optimize при сжатии на хостинге с слабым процессором очень сильно увеличивает ответ сервера и делает сайт не быстрее, а медленнее.
« Последнее редактирование: 11.01.2018, 10:23:09 от wishlight »
*

Андрей Нестеров

  • Захожу иногда
  • 207
  • 6 / 0
Доброго времени суток!

В одном из компонентов скрипт выводится в head при помощи кода:

Код
$document->addScript($uri->base()."components/com_muscol/assets/typeahead.js/typeahead.bundle.js");

Есть возможность изменить этот код таким образом, чтобы скрипт выводился перед </body>, или нет?
*

AlexB

  • Завсегдатай
  • 1973
  • 54 / 2
Так перенесите его
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

Андрей Нестеров

  • Захожу иногда
  • 207
  • 6 / 0
Перенос скриптов и стилей в подвал сайта

Я читал ветку выше. Насколько понял, описанный по этой ссылке способ переносит все файлы CSS и js? Тогда это не подходит...
*

Viclingvolive

  • Осваиваюсь на форуме
  • 31
  • 2 / 1
Да просто берёшь эту строчку стираешь или комментируешь
 а уже в шаблоне перед тегом </body>  просто пишешь как обычный Script

Код: html
<script async defer  src="/components/com_muscol/assets/typeahead.js/typeahead.bundle.js"></script>
Если будут ошибки попробуйте убрать атрибуты async && defer
Ну конечно defer лучше всего ставить
*

SeBun

  • BanMaster
  • 4030
  • 259 / 5
  • @SeBun48
Есть возможность изменить этот код таким образом, чтобы скрипт выводился перед </body>, или нет?
Я когда писал ссылку, не обратил внимания, что точно такой же ответ уже был дан раньше.

Смотрите, суть в чем. У вас в коде стоит такая конструкця:
Код
$document->addScript
Это означает, что все, что вы передаете в данный класс, будет выводится в том месте шаблона, где он определен, в данном случае в шапке.

Есть плагин для оптимизации, который может перенести скрипты и оптимизировать страницу. Думаю, это как раз то, что вы ищите.
Оказываю услуги по Joomla | Миграция/Обновление | Сопровождение | IT-аутсорсинг | Недорогие домены и хостинг
*

Андрей Нестеров

  • Захожу иногда
  • 207
  • 6 / 0
Viclingvolive, SeBun, и "ручной" вариант, и вариант с помощью плагина для переноса скриптов вниз работают. Спасибо!

А если мне надо, чтобы скрипт располагался в head как можно выше, есть какое-нибудь решение?
*

Viclingvolive

  • Осваиваюсь на форуме
  • 31
  • 2 / 1
Цитировать
А если мне надо, чтобы скрипт располагался в head как можно выше, есть какое-нибудь решение?
Да есть это с помощью плагина.
 для системных плагинов есть такое событие onAfterRender
 То есть это тогда когда уже страница  созданное в виде HTML но ещё клиенту не отдана.
 Если вы в системном плагине создадите такой  метод
Код: php
private $app;
 
public function onAfterRender ()
{
    $dom = new \DOMDocument();
    $body = $this->app->getBody();
    $dom->loadHTML( $body );
    $xpath = new \DOMXPath( $dom );
    $Nodes = $xpath->query( '//script[@src="https://www.google-analytics.com/analytics.js"]' );
    $headNodes = $xpath->query( '//head');

    foreach( $Nodes as $node )
    {
        // клонируем узел/элемент
        $clone = $child->cloneNode(false);
        // Удалить найденный узел
$node->parentNode->removeChild( $node );
       
        if ($headNodes->hasChildNodes()) {
              $head->insertBefore($clone,$headNodes->firstChild);
        } else {
             $headNodes->appendChild( $clone );
       }       
    }
    $body = $dom->saveHTML();
    $this->app->setBody( $body );
}
то он переставит тег  скрипт analytics.js  сразу после <head>
 Удачи вам  8)

ps -  писал с головы работоспособность не проверял -  Ну по идее должно работать || если что пишите!!
*

Viclingvolive

  • Осваиваюсь на форуме
  • 31
  • 2 / 1
Только не забудьте получить экземпляр приложения private $app;
Код
$this->app = JFactory::getApplication();
Обычно люди это в Конструктор засовывают )))
*

Андрей Нестеров

  • Захожу иногда
  • 207
  • 6 / 0
Цитировать
Да есть это с помощью плагина.
 для системных плагинов есть такое событие onAfterRender
 То есть это тогда когда уже страница  созданное в виде HTML но ещё клиенту не отдана.
 Если вы в системном плагине создадите такой  метод

Для меня это, к сожалению, сложновато))
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Уязвимые скрипты class.phpmailer.php

Автор rezchik

Ответов: 6
Просмотров: 2020
Последний ответ 31.08.2023, 22:18:57
от rezchik
Отключить кэширование для страницы или модуля

Автор velyar

Ответов: 8
Просмотров: 1769
Последний ответ 20.11.2021, 16:47:58
от Byzi
Внизу страницы вылез код

Автор Zegeberg

Ответов: 13
Просмотров: 1106
Последний ответ 20.11.2021, 16:47:00
от Byzi
Как удалить на главной страницы "?start=2" "?start=3" и так далее?

Автор Igor5

Ответов: 11
Просмотров: 1243
Последний ответ 20.11.2021, 16:46:40
от Byzi
Модуль Custom Filters - перенести рамку блока

Автор DrShepard

Ответов: 25
Просмотров: 1329
Последний ответ 22.04.2021, 05:44:12
от draff