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

Ptolemej

  • Захожу иногда
  • 52
  • 6 / 0
mod_helloworld туториал
« : 17.03.2008, 20:06:54 »
Оригинал статьи
Оригинал статьи (английский)
http://dev.joomla.org/component/option,com_jd-wiki/Itemid,/id,modules:hello_world/

Сама статья укороченная, не стал писать вводные тексты, а только то, что мне кажется важным.


Файловая структура:
В основном используется четыре файла для написания модулей:
  • mod_helloworld.php — это главный файл для модуля. Используется для инициации, вызова помощника для сбора различных данных, загрузка темплея, который выводит результат работы.
  • mod_helloworld.xml — этот файл содержит информацию о модуле. Он определяет файлы, которые нужны для инсталяции и специфические настройки модуля.
  • helper.php — этот файл содержит класс-помощник, который собирает всю информацию (обычно из базы данных или других мест)
  • tmpl/default.php — это темплей модуля. Он показывает все собранные данные и генерирует ХТМЛь, в нужном виде.


Создаём mod_helloworld.php
mod_helloworld.php выполняет три функции:
  • загружает helper.php
  • вызывает нужные методы класса-помошника
  • загружает файл темплея.

Код
<?php
/**
 * Hello World! Module Entry Point
 *
 * @package    Joomla.Tutorials
 * @subpackage Modules
 * @link http://dev.joomla.org/component/option,com_jd-wiki/Itemid,31/id,tutorials:modules/
 * @license        GNU/GPL, see LICENSE.php
 * mod_helloworld is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 */

// zawita ot prjamogo dostupa
defined( '_JEXEC' ) or die( 'Restricted access' );

// tol'ko odin raz zagruzit' fajl s klassom-pomownikom
require_once( dirname(__FILE__).DS.'helper.php' );

// vypolnit' metod  getHello() klassa-pomownika modHelloWorldHelper
$hello = modHelloWorldHelper::getHello( $params );


require( JModuleHelper::getLayoutPath( 'mod_helloworld' ) );
?>


Создание helper.php

Код
<?php
/**
 * Helper class for Hello World! module
 *
 * @package    Joomla.Tutorials
 * @subpackage Modules
 * @link http://dev.joomla.org/component/option,com_jd-wiki/Itemid,31/id,tutorials:modules/
 * @license        GNU/GPL, see LICENSE.php
 * mod_helloworld is free software. This version may have been modified pursuant
 * to the GNU General Public License, and as distributed it includes or
 * is derivative of works licensed under the GNU General Public License or
 * other free or open source software licenses.
 */

// zawita ot prjamogo dostupa
defined( '_JEXEC' ) or die( 'Restricted access' );

class modHelloWorldHelper
{
    /**
     * Retrieves the hello message
     *
     * @param array $params An object containing the module parameters
     * @access public
     */   
    function getHello( $params )
    {
        return 'Hello, World!';
    }
}
?>


Создание tmpl/default.php

Код
<?php // no direct access
defined( '_JEXEC' ) or die( 'Restricted access' ); ?>
<?php echo $hello; ?>


Создание mod_helloworld.xml

Код
<?xml version="1.0" encoding="utf-8"?>
<install type="module" version="1.5.0">
    <name>Hello, World!</name>
    <author>John Doe</author>
    <version>1.5.1</version>
    <description>A simple Hello, World! module.</description>
    <files>
        <filename module="mod_helloworld">mod_helloworld.php</filename>
        <filename>index.html</filename>
        <filename>helper.php</filename>
        <filename>tmpl/default.php</filename>
        <filename>tmpl/index.html</filename>
    </files>
    <params>
    </params>
</install>


Маленькая добавка

В каждую папку, которую мы создаём надо добавлять index.html, чтобы нельзя было просмотреть содержание папок при их прямом вызове.
Код
<html><body bgcolor="#FFFFFF"></body></html>


P.S. Кириллица в коде в виде уникода отображается, пришлось писать транслитом.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться