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

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Здравствуйте, в редактировании профиля, есть дополнительные поля, в них через админку можно добавить классы, как добавить классы к уже имеющимся input формам таким как name, email, password? сразу говорю, CSS решения не предлагать, нужно добавить класс к полю.
« Последнее редактирование: 21.08.2019, 12:47:51 от sesil »
*

sivers

  • Живу я здесь
  • 2626
  • 363 / 0
Вариант 1:
дописать классы в XML соответствующей формы тут /components/com_users/models/forms/

Вариант 2:
плагин, событие подготовки формы

Вариант 3:
В макете редактирования профиля edit.php
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
Вариант 1:
дописать классы в XML соответствующей формы тут /components/com_users/models/forms/

Вариант 2:
плагин, событие подготовки формы

Вариант 3:
В макете редактирования профиля edit.php

В 1 вариант если добавить класс через XML в файле profile все ровно class не появляется в input jform_username. 2 способом не понятно что именно нужно сделать? можно пример? И третим способом тоже не получилось сделать.
*

sivers

  • Живу я здесь
  • 2626
  • 363 / 0
В 1 вариант если добавить класс через XML в файле profile все ровно class не появляется в input jform_username. 2 способом не понятно что именно нужно сделать? можно пример? И третим способом тоже не получилось сделать.

1. Попробуйте другие XML из той директории и убедитесь, что макет вывода формы не переопределен (иначе сразу в п.3). Проверил - способ рабочий.
2. Делаете плагин группы Content, в нем добавляете обработчик вот такого вида:
Код
    public function onContentPrepareForm($form, $data) {
        if (!($form instanceof JForm)) {
            $this->_subject->setError('JERROR_NOT_A_FORM');
            return false;
        }

        // Получаем название формы (текущего компонента)
        $name = $form->getName();
       
        switch($name){
            case 'com_users.login':
                $form->setFieldAttribute('username', 'class', 'myClassLogin');
            break;
            case 'com_users.profile':
                $form->setFieldAttribute('password', 'class', 'myClassPass');
            break;
        }

        return true;
    }
Здесь добавляется (замещается) класс для поля логина в форме логина и класс поля ввода пароля в форме профиля. Пример рабочий - проверил.
3. Третим способом проще. Сперва надо точно вычислить макет, который подключается. Потом скопировать его в свой шаблон и внести изменения там.

Если у вас нет эффекта после изменений, то скорее всего в вашем шаблоне уже переопределен этот макет. Поищите здесь: /templates/название_вашего_шаблона/html/com_users/profile
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
*

sesil

  • Захожу иногда
  • 82
  • 0 / 0
  • Учусь!
public function onContentPrepareForm($form, $data) {
        if (!($form instanceof JForm)) {
            $this->_subject->setError('JERROR_NOT_A_FORM');
            return false;
        }

        // Получаем название формы (текущего компонента)
        $name = $form->getName();
       
        switch($name){
            case 'com_users.login':
                $form->setFieldAttribute('username', 'class', 'myClassLogin');
            break;
            case 'com_users.profile':
                $form->setFieldAttribute('password', 'class', 'myClassPass');
            break;
        }

        return true;
    }

Сделал все как Вы сказали, распечатал $form

Код
 object(SimpleXMLElement)#578 (1) {
            ["@attributes"]=>
            array(8) {
              ["name"]=>
              string(8) "username"
              ["type"]=>
              string(4) "text"
              ["label"]=>
              string(32) "COM_USERS_PROFILE_USERNAME_LABEL"
              ["description"]=>
              string(26) "COM_USERS_DESIRED_USERNAME"
              ["filter"]=>
              string(8) "username"
              ["required"]=>
              string(4) "true"
              ["class"]=>
              string(18) " base-form__input "
              ["size"]=>
              string(2) "30"
            }
          }

По идее должен присваиваться class но он пустой.

Вот так выглядит HTML

Код
<input type="text" name="jform[username]" id="jform_username" value="Моё имя!" size="30" readonly="readonly">
*

sivers

  • Живу я здесь
  • 2626
  • 363 / 0
По идее должен присваиваться class но он пустой.
В моем коде поменяйте имя поля с password на username. Ведь там пример был. Или посмотртите появился ли класс в поле ввода пароля.

В дампе формы должно быть его видно. Если в дампе есть, а в самой форме (на фронте) класса нет, значит переопределен макет у вас.
На связи в telegram @sivers
sivers @ inbox . ru
https://sivers.su/
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как изменить lang=&quot;ru-ru&quot;?

Автор Maffo

Ответов: 0
Просмотров: 1236
Последний ответ 07.04.2023, 16:07:22
от Maffo
Заменить текст - просмотров - на иконку (или свой текст)

Автор all_zer

Ответов: 2
Просмотров: 1385
Последний ответ 28.03.2023, 13:32:35
от all_zer
Как изменить лимит размера файла при загрузке обновлений?

Автор Besa

Ответов: 3
Просмотров: 1906
Последний ответ 15.12.2022, 11:23:09
от Besa
Обнаружена ошибка. Class 'JFormFieldPredefinedList' not found

Автор sevent45

Ответов: 14
Просмотров: 5559
Последний ответ 14.12.2022, 18:34:07
от peklor
Блок особенностей, как добавить в поле с информацией кнопку или ссылку Подробнее

Автор Alex from SPb

Ответов: 5
Просмотров: 1866
Последний ответ 28.11.2022, 19:54:42
от marksetter