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

talion2003

  • Захожу иногда
  • 95
  • 36 / 6
  • Не программер я...
Все ниже приведенное выполяняется в шаблоне сайта!

Предположим, у нас поставлена задача: отобразить модуль слева от основного текста (mainbody) так, чтобы он выводился только в режиме просмотра «таблицы категории», а при открытии материала исчезал. Плюс ко всему, сам модуль вставляется в шаблоне внутри html-таблицы, которая имеет собственное оформление и отведена специально для этого модуля, соответственно и отображается только в случае, когда модуль включен. Наглядно весь этот блок можно представить так:

Код
<table bgcolor="#000000">
        <tr>
              <td>
                   <?php mosLoadModules ( 'left' ); ?>
              </td>
          </tr>
</table>

Итак, чтобы модуль выводился только в режиме «таблицы категории», нам нужно добавить проверку переменной «$task» и присвоить ей значение «category». Для этого мы добавляем следующие строки:

Код
<?php if($task == 'category') { ?>
   <table bgcolor="#000000">
        <tr>
              <td>
                   <?php mosLoadModules ( 'left' ); ?>
              </td>
          </tr>
   </table>
<?php } ?>

Теперь весь блок будет отображаться только тогда, когда мы находимся в режиме просмотра «таблицы категории», а при открытии материала он скроется.

Однако возникает проблема: если мы отключим модуль и вернемся в режим просмотра «таблицы категории», то исчезнет лишь выводимое модулем содержимое, а сама таблица - от открывающего тэга <table> до закрывающего тэга </table> - все равно будет отображаться на экране, портя дизайн. Что же делать? Все очень просто: нам нужно добавить еще пару строк кода и использовать тэг <div>:

Код
<?php if(mosCountModules('left')) { ?> 
  <div>
     <?php if($task == 'category') { ?>
        <table bgcolor="#000000">
           <tr>
              <td>
                   <?php mosLoadModules ( 'left' ); ?>
              </td>
          </tr>
       </table>
     <?php } ?>
   </div>
<?php } ?>

Вот! Теперь, если мы находимся, скажем, в режиме просмотра «таблицы категории» и наш модуль выключен, то всё, что находится между первой и последней строчкой выше приведенного кода, отображаться не будет.

Примечание:
Если нам нужно, чтобы модуль отображался не только в режиме просмотра «таблицы категории», но и в режиме «таблицы раздела», то добавляем через «or» всего лишь еще один параметр переменной «task», вот так:

Код
<?php if(mosCountModules('left')) { ?> 
  <div>
     <?php if($task == 'category' or $task == 'section') { ?>
        <table bgcolor="#000000">
           <tr>
              <td>
                   <?php mosLoadModules ( 'left' ); ?>
              </td>
          </tr>
       </table>
     <?php } ?>
   </div>
<?php } ?>

p.s. - рад был помочь.
« Последнее редактирование: 03.12.2006, 20:17:29 от talion2003 »
Да говорю же Вам, не программер я!!!

 www.chelovekdnevnik.ru www.serdcadetey.ru
*

smart

  • Администратор
  • 6478
  • 1318 / 15
  • Хочешь сделать хорошо — сделай!
В эти условия нужно добавить еще проверку на текущий компонент, а точнее com_content. Иначе данный модуль может случайным образом появиться на страницах других компонентов, в которых используется параметр task и  значение category. Применительно к последнему примеру, вышесказанное можно применить следующим образом:

Код
<?php if (mosCountModules('left') && $option == 'com_content' && $task == 'category' or $task == 'section') { ?> 
  <div>
        <table bgcolor="#000000">
           <tr>
              <td>
                   <?php mosLoadModules ( 'left' ); ?>
              </td>
          </tr>
       </table>
   </div>
<?php } ?>

@talion2003: респект за статью!
« Последнее редактирование: 11.06.2008, 12:03:25 от smart »
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться