Новости Joomla

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

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

Проект Joomla! рад сообщить о выходе Joomla 6.1.3 и Joomla 5.4.8. Это релизы безопасности и исправления ошибок для серий 5.x и 6.x.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

👩‍💻 WT Otpravkapochtaru - библиотека сервиса Отправка Почты России для Joomla-разработчиков.

Joomla 5+ пакет для интеграции с API Почты России: нормализация данных, расчёт доставки, создание отправлений, партии, документы, возвраты, поиск отделений, справочники и SOAP-отслеживание.

v.3.0.0. Что нового?
Это дальнейшее развитие ранее закрытой Joomla-библиотеки для работы с API сервиса Отправка (для бизнеса) Почты России. Поэтому версия не 1.0.0, а 3.0.0.

Сейчас эта библиотека ушла от собственных реализаций и стала Joomla-обёрткой известного PHP SDK от Lapay Group.

Возможности библиотеки.
- получение настроек аккаунта, точек сдачи и текущего остатка запросов к API;
- нормализация адресов, ФИО и телефонов перед созданием отправления;
- расчёт тарифа и срока доставки;
- создание, поиск, изменение, удаление и возврат заказов в состояние «Новые»;
- проверка надёжности получателя;
- создание партий, просмотр партий и заказов внутри партии;
- генерация пакета печатных документов и формы Ф103;
- создание, изменение и удаление возвратных отправлений;
- поиск отделений по индексу, адресу и координатам, получение сервисов отделения;
- локальный список стран;
- SOAP-отслеживание операций по РПО и работа с билетами пакетного трекинга.

👩‍💻 Joomla-возможности.
В пакете библиотеки WT Otpravkapochtaru есть поля Joomla Form для расширений. Они позволяют работать в интерфейсе Joomla с некоторыми типами данных, получаемых по API из вашего личного кабинета в ЛК Почты России для бизнеса.
На данный момент в библиотеке доступны 3 поля списков, которые отображают доступные в аккаунте ОПС, типы и категории отправлений.
Поддерживаются зависимые списки: значение одного поля обновляется при изменении другого.

Системные требования.
Системные требования в основном связаны с системными требованиями апстрима библиотеки - LapayGroup PHP SDK.
- Joomla 5+
- PHP 8.3+
- Расширения PHP:
-- ext-mbstring
-- ext-simplexml
-- ext-soap (опционально, для трекинга)
-- ext-zip

Ссылки:
- Страница расширения
- GitHub библиотеки и документация

@joomlafeed

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

sibdes

  • Захожу иногда
  • 103
  • 0 / 0
  • Никогда не бойся делать то, что ты не умеешь.
Так как МинОбр обязывает все образовательные сайты делать версия контента для слабовидящих, пришлось искать способы. нашел. чтобы настраивать скрипт под себя скачал два файла js и CSS от этого скрипта себе на сайт. теперь о проблеме.
1. как убрать кнопку? нужна чистая картинка при нажатии на которую активировался бы скрипт.
2. как сделать картинку по центру? пока картинка в две строки, но это исправимо. главное по центру ее сделать.
адрес сайта : http://кулиш16.рф
код скрипта:
Код
window.onload = funonload;
function funonload() {
var coocka = ReadSpec('special');
addButton(coocka);
checkSpec(coocka);
}

function checkSpec(spec) {
  setButton(spec);
if (spec == 'y')
{
  addStyleSheet('http://xn--16-vlchf1cxb.xn--p1ai/js/vi.css');
}
}

function ReadSpec(name)
{
 var matches = document.cookie.match(new RegExp(
 "(?:^|; )" + name.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g, '\\$1') + "=([^;]*)"
  ));
  return matches ? decodeURIComponent(matches[1]) : undefined;
}

function SetCookieSpec(name,value) {
    document.cookie = name + "=" + value;
}

function addButton() {
    var button = document.createElement('input');
    var parentElem = document.body;
    var s = ReadSpec('special');
    button.type = 'button';
    button.id = 'spec';
    button.value = ' ';
    button.setAttribute("onclick", "Spec()");
    button.setAttribute("style","width: 300px; height: 70px; margin-bottom: 5px; background-image: url(js/vers_for_slabovid.png)");
    parentElem.insertBefore(button, parentElem.firstChild);
    setButton(s);
}

function addStyleSheet(url)
{
  // Создаём элемент LINK/STYLE и добавляем в документ
  var style;

// 

//    if (typeof url == 'undefined')
//  {
//    style = document.createElement('style');
//  }
//  else
//  {
    style = document.createElement('link');
   style.rel = 'stylesheet';
   style.type = 'text/css';
    style.href = url;
//    style.id = 'speccss';
//  }
 
   document.getElementsByTagName('head')[0].appendChild(style);
  // Находим новый стиль в коллекции styleSheets
  style = document.styleSheets[document.styleSheets.length - 1];

  // Делаем объект совместимыми с W3C DOM2 (для IE)
  return StyleSheet_makeCompatible(style);

}
function delStyleSheet()
{
style=document.getElementsByTagName('head')[0].lastChild;//document.styleSheets[document.styleSheets.length - 1]
document.getElementsByTagName('head')[0].removeChild(style);//
}


function Spec() {
var spec = ReadSpec('special');
//alert (spec);

if (spec == 'y')
{
   delStyleSheet();
   SetCookieSpec('special','n');  setButton('n');
}
else {
   addStyleSheet('http://xn--16-vlchf1cxb.xn--p1ai/js/vi.css');
   SetCookieSpec('special','y');  setButton('y');

}
}

function setButton(spec) {
var inputTag = document.getElementById("spec");
 if (inputTag.hasAttribute("value"))               // если есть атрибут value
   defaultValue = inputTag.getAttribute("value");
//if (spec == 'y')
//{
//  inputTag.setAttribute("value", "");
//}
//else {
//  inputTag.setAttribute("value", "версия для слабовидящих");
//}
//}
if (spec == 'y')
{
  inputTag.setAttribute("style", "width: 300px; height: 70px; margin-bottom: 5px; background-image: url(js/stand_vers.png)");

}
else {
  inputTag.setAttribute("style", "width: 300px; height: 70px; margin-bottom: 5px; background-image: url(js/vers_for_slabovid.png)");
}
}


function StyleSheet_makeCompatible(style)
{
  // Mozilla не даёт доступа к cssRules до загрузки стиля
  try
  {
    style.cssRules;
  }
  catch (e)
  {
    return style;
  }

  // Создаём CSSStyleSheet.cssRules
  if (typeof style.cssRules == 'undefined' && typeof style.rules != 'undefined')
    style.cssRules = style.rules;

  // Создаём CSSStyleSheet.insertRule и CSSStyleSheet.deleteRule
  if (typeof style.insertRule == 'undefined' && typeof style.addRule != 'undefined')
    style.insertRule = StyleSheet_insertRule;
  if (typeof style.deleteRule == 'undefined' && typeof style.removeRule != 'undefined')
    style.deleteRule = style.removeRule;

  // Проверяем, существуют ли все нужные свойства
  if (typeof style.cssRules == 'undefined' || typeof style.insertRule == 'undefined'
      || typeof style.deleteRule == 'undefined')
    return null;
  else
    return style;
}

function StyleSheet_insertRule(rule, index)
{
  // Выделяем селектор и стиль из параметра
  if (rule.match(/^([^{]+)\{(.*)\}\s*$/))
  {
    this.addRule(RegExp.$1, RegExp.$2, index);
    return index;
  }
  throw "Syntax error in CSS rule to be added";
}

код стилей:
Код
* {
color: #000 !important;
font-style: normal !important;
font-family: Arial, Helvetica, sans-serif !important;
   font-size: x-large !important;
   font-weight: bold !important;
overflow: visible;
line-height: 150% !important;
letter-spacing: 2px !important;
}

h1 {
    font-size: xx-large !important;
}
h2, h3 {
   font-size: x-large !important;
}
div#wrapper {
  width: 1200px !important;
}
div#leftcolumn {
  width: 25% !important;
  float: left;
}
div#maincolumn {
    width: 72% !important;/**/
    margin-top: 0 !important;
    padding-top:0;
}
div#rightcolumn, div#tabarea {
display: none !important;
visibility: hidden;
  width: 0 !important;
 margin: 0 !important;
 padding: 0 !important;
}
/*p, li {
padding-bottom: 1.5em  !important;
}*/
a:link, a:hover {
    text-decoration: underline;
}
#spec {
    width: 300px !important;
    height: 70px !important;
    background-image: url(http://xn--16-vlchf1cxb.xn--p1ai/js/stand_vers.png)!important;
     margin-bottom: 5px;
}

h1, h2, h3{
font-size: xx-large !important;
}

#nav, #menu{
    height: 8em !important;
}
#nav a, #menu a {
    height: 1.6em !important;
}
*

Hufflepuff

  • Захожу иногда
  • 124
  • 0 / 0
как вы сделали?
*

sibdes

  • Захожу иногда
  • 103
  • 0 / 0
  • Никогда не бойся делать то, что ты не умеешь.
Я по другому сделал. проще как по мне. в файл index.php шаблона вставил такой код вроде бы:
Код
<?php
$vi = JFactory::getApplication()->input->getString('vi', '');
       $session = JFactory::getSession();
if ($vi=='1' or $vi=='0') {$session->set("vi",  $vi);}
?>
 
<?php if ($session->get("vi")=='1') { ?>
      <link rel="stylesheet" href="js/vi.css" type="text/css" />
    <?php } else { ?>
      <link rel="stylesheet" href="templates/allrounder-3/css/template.css" type="text/css" />
    <?php } ?>

потом создал модуль и в него воткнул это:
Код
<p style="text-align: center;">
<a href="http://кулиш16.рф/index.php?vi=1"><img class="download" src="js/vers_for_slabovid.png" title="Версия для слабовидящих" /></a><br />
<a href="http://кулиш16.рф/index.php?vi=0"><img class="download" src="js/stand_vers.png" title="Обычная версия" /></a></p>

в шаблоне уже была позиция для модуля - панель которая выдвигалась сверху. я только изменил иконку.
*

alya22

  • Новичок
  • 1
  • 0 / 0
где можно найти плагин и шаблон для версии для слабовидящих
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Версия для слабовидящих с помощью Template Selector

Автор Ilhom666

Ответов: 654
Просмотров: 186701
Последний ответ 08.04.2026, 22:29:14
от antonioan
Как вывести Alt картинки в описание Lightbox?

Автор art22

Ответов: 2
Просмотров: 3971
Последний ответ 14.05.2023, 09:21:39
от sivers
Как сделать вывод ссылок в обратном порядке (com_weblinks)?

Автор Slava77

Ответов: 0
Просмотров: 1759
Последний ответ 24.11.2022, 16:42:09
от Slava77
Helix 3 старается горизонтально размеченные картинки переставить вертикально

Автор olderman

Ответов: 3
Просмотров: 2316
Последний ответ 30.10.2022, 08:59:06
от marksetter
Вывод материалов блогом с фильтром по меткам

Автор muzzy76

Ответов: 7
Просмотров: 2421
Последний ответ 06.10.2022, 13:57:56
от muzzy76