Новости 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 Гость просматривают эту тему.
  • 10 Ответов
  • 14263 Просмотров
*

Uman

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Друзья, есть 2 меню: одно обычное, другое содержит псевдонимы пунктов из первого меню.
При переходе на страницу, куда ведут одни и те же пункты двух меню, у основного меню активный пункт принимает код:
<li class="item-103 current active"></li>

а у второго меню (с псевдонимом) пункт принимают код:
<li class="item-147 active"></li>

Как сделать, чтобы пункт с псевдонимом из второго меню тоже принял класс "current active"?
« Последнее редактирование: 12.11.2014, 20:36:08 от Uman »
*

Uman

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
Ребята, есть кто живой?
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
А зачем? Есть же active общий и на него можно накинуть стили. Current ведь это именно текущая страница для меню
*

Uman

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
А зачем? Есть же active общий и на него можно накинуть стили. Current ведь это именно текущая страница для меню

Дело в том, что если в родительском пункте есть вложенный дочерний пункт, то при активации дочернего, оба пункта (родительский и дочерний) принимают класс "active". Так работает Joomla.

Есть на моём сайте скрипт, который удаляет ссылку из пункта меню страницы, которая ведет на саму себя (SEO-оптимизация), и этот скрипт работает именно с классом "current", потому что если он будет работать с классом "active", то скрипт удалит из меню не только ссылку страницы на саму себя, но также удалит ссылку на родительский пункт меню, а это уже лишнее.

А так-как активной странице класс "current" почему-то присваивается только в обычном меню (в меню с псевдонимами не присваивается), то при активации в одном меню ссылка страницы на саму себя удалена, а в другом меню (с псевдонимами) не удалена. Вот и прошу помочь сделать так, чтобы в обоих меню активизировался класс "current", тогда в обоих меню ссылка будет удалена, а не только в одном.
« Последнее редактирование: 12.11.2014, 21:23:46 от Uman »
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Шаблон обычный или на фреймворке ?
Если обычный то в макете вывода меню, в файле шаблон/html/mod_login/default.php вот в это условие добавить класс current
Код: php
elseif ($item->type == 'alias')
{
$aliasToId = $item->params->get('aliasoptions');
if (count($path) > 0 && $aliasToId == $path[count($path) - 1])
{
$class .= ' active current'; // сюда
}
elseif (in_array($aliasToId, $path))
{
$class .= ' alias-parent-active';
Если такого файла нет, можно создать, скопировав оригинальный файл из модуля меню .
Вроде бы работает .

Если шаблон на фреймворке, найти файл ответственный за вывод меню и сделать это там .
Ответы на вопросы по CSS . Откройте для себя Firebug
*

Uman

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
midav, благодарю, сработало! Только две небольшие поправки:

1) Файл находится по этому адресу: шаблон/html/mod_menu/default.php
2) Порядок класса должен быть именно таким: "current active", а не наоборот.


Только вот не могу понять, скрипт всё-равно не удаляет активную ссылку из меню (которое с псевдонимами), несмотря на то, что классы идентичные у активных пунктов обоих меню. Помогите пожалуйста решить эту проблему, я в долгу не останусь.


В общем, файл, отвечающий за удаление активной ссылки из меню находится тут: /modules/mod_menu/tmpl/default_component.php
В этом файле оригинальный код выглядит так:
Код
switch ($item->browserNav) :
default:
case 0:
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
break;
case 1:


вышеприведенный код заменяем на этот:
Код
switch ($item->browserNav) :
default:
case 0:
if ($menu->getActive() == $menu->getItem($item->id)){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
case 1:

в результате активные ссылки меню превращаются из <a></a> в <span></span>. Но этот код, как я уже говорил, удаляет активные ссылки только в обычном меню, в то время как в меню с псевдонимами ничего не меняется. Что изменить в коде, чтобы в обоих меню удалялась активная ссылка?


ЗЫ
Шаблон обычный.
« Последнее редактирование: 13.11.2014, 22:38:53 от Uman »
*

midav

  • Давно я тут
  • 926
  • 115 / 1
mod_menu конечно, опечатался просто, не то написал :)
Ответы на вопросы по CSS . Откройте для себя Firebug
*

midav

  • Давно я тут
  • 926
  • 115 / 1
Попробуйте так, в default.php добавить проверку на наличие класса current . После присвоения классов  , перед switch вставляем проверку :
Код: php
	if(strpos($class, 'current')){
$remove_link = TRUE;
}
else{
$remove_link = FALSE;
}

// Render the menu item.
switch ($item->type) :
case 'separator':

И потом в файлах default_component.php и default_url.php , поскольку псевдоним пункта меню обрабатывается в файле default_url.php , проверяем эту переменную и удаляем ссылку если true :
Код: php
	case 0:
if ($remove_link){
echo '<span '.$class.'>'.$linktype.'</span>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}
break;
Ответы на вопросы по CSS . Откройте для себя Firebug
*

Uman

  • Осваиваюсь на форуме
  • 37
  • 0 / 0
midav, всё заработало, cпасибо огромное!

Скиньте мне в личку пожалуйста Ваш кошелёк WebMoney. Знаю, в той стране, где Вы живете, по сравнению с нашей Молдовой, это копейки, но чисто символически я всё-равно хотел бы Вас отблагодарить.
*

lawrik2005

  • Осваиваюсь на форуме
  • 13
  • 0 / 0
midav, всё заработало, cпасибо огромное!

Скиньте мне в личку пожалуйста Ваш кошелёк WebMoney. Знаю, в той стране, где Вы живете, по сравнению с нашей Молдовой, это копейки, но чисто символически я всё-равно хотел бы Вас отблагодарить.


Пожалуйста! Можете более подробно описать как вы побороли циклические ссылки? У вас не слетает шаблон меню?
Я готов отправить Вам денежку за более подробный ответ....

После внесения кода:
case 0:
if (in_array($item->id, $path) || in_array($aliasToId , $path)){
echo '<a class="separator">'.$linktype.'</a>';
}else {
?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
}  
break;
Стиль меню не меняется, и циклическая ссылка исчезает, но и в родителе тоже, что очень плохо для юзабилити....

А после такого решения, с сылками родителя и активным пунктом меню все ок, только пропадает стиль активного пункта меню:
switch ($item->browserNav) {
   default:
   case 0:
   $aliasToId = $item->params->get('aliasoptions');
       if ($item->flink == $_SERVER['REQUEST_URI']){
           echo '<span class="myclass">'.$linktype.'</span>';
       }else {
           ?><a <?php echo $class; ?>href="<?php echo $item->flink; ?>" <?php echo $title; ?>><?php echo $linktype; ?></a><?php
       }
       break;

Пожалуйста, помогите)))) я с ума сойду)))
« Последнее редактирование: 31.07.2017, 23:58:19 от lawrik2005 »
*

midav

  • Давно я тут
  • 926
  • 115 / 1

           echo '<span class="myclass">'.$linktype.'</span>';


Что это за код ? Что за myclass ?
Ответы на вопросы по CSS . Откройте для себя Firebug
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Назначение макета, посредством ссылки в меню

Автор xxxLOGIATxxx

Ответов: 20
Просмотров: 10508
Последний ответ 04.02.2022, 14:44:14
от hoi
Съезжает меню при наведении

Автор yyyuuu

Ответов: 4
Просмотров: 5868
Последний ответ 08.12.2020, 11:12:32
от AlexB
Добавить позиция или изменить порядок

Автор FBM

Ответов: 15
Просмотров: 9762
Последний ответ 21.05.2019, 11:01:50
от FBM
Проблемы в горизонтальном меню Joomla 2.5

Автор Димьяна

Ответов: 1
Просмотров: 6558
Последний ответ 27.11.2018, 14:58:30
от Ragivort
mod_menu и подписи к пунктам меню (subtitles)

Автор St@lker

Ответов: 21
Просмотров: 10120
Последний ответ 29.10.2017, 16:24:00
от xilog