Новости Joomla

👩‍💻 WT CDEK library v.1.3.0 - обновление PHP SDK для Joomla + CDEK.

👩‍💻 WT CDEK library v.1.3.0 - обновление PHP SDK для Joomla + CDEK.

Небольшая нативная PHP Joomla библиотека для работы с API v.2 службы доставки CDEK. Библиотека представляет собой клиент для авторизации в CDEK API по OAuth, работы с некоторыми методами API: получения ряда данных и расчета стоимости доставки. Поддерживается Joomla 4.2.7 и выше.

В пакет входят:
- библиотека Webtolk/Cdekapi
- системный плагин System - WT Cdek для хранения настроек и AJAX-интеграций
- task-плагин Task - Update WT Cdek data для обновления локальных копий справочников CDEK по расписанию
- web asset с официальным JavaScript-виджетом СДЭК

👉 v.1.3.0. Что нового?
- Полный рефакторинг библиотеки. Библиотека переработана в entity-based API с фасадом Cdek и отдельным слоем запросов. Обратная совместимость не нарушена, поэтому версия библиотеки - 1.3.0.
- Добавлена поддержка новых разделов API СДЭК. Добавлена поддержка новых разделов API СДЭК: webhooks, prealert, печатные формы, payment, passport, reverse, intakes и других сущностей.
- Улучшена интеграция с Joomla.
Улучшена интеграция с Joomla: installer script для layouts, новые поля Joomla Form для тарифов и обновлённые js виджета CDEK.
- документация библиотеки. Все методы библиотеки подробно описаны, а так же текст документации собран в отдельной папке в git репозитории и будет опубликован на сайте.

Библиотека эта нужна для разработчиков, создающих свои расширения для интеграции Joomla и курьерской службы CDEK.

Страница расширения
GitHub расширения

@joomlafeed

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

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

  • Гуру
  • 5078
  • 320 / 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
Просмотров: 2651
Последний ответ 31.08.2023, 22:18:57
от rezchik
Отключить кэширование для страницы или модуля

Автор velyar

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

Автор Zegeberg

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

Автор Igor5

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

Автор DrShepard

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