DY XML Table
Публикация данных из XML-документов для GetSimple CMS

Описание

Плагин DY XML Table для системы управления контентом GetSimple CMS предназначен для упрощения и автоматизации публикации табличных данных, представленных в формате XML-документов.

Типичными сценариями для использования DY XML Table являются публикации на страницах веб-сайта часто обновляемых статистических, аналитических данных, прайс-листов, складских остатков, а так же любой другой информации, представленной в табличном виде. Таким образом, применение DY XML Table может значительно повысить эффективность использования веб-сайта, а так же снизить затраты на его администрирование.

Возможности

Поддержка шорткодов

Поддержка шорткодов упрощает использование DY XML Table благодаря возможности встраивания вызовов плагина непосредственно в текст страницы, что не требует от пользователя специальных знаний в области веб-разработки с использованием языка PHP.

Автоматическое обновление таблиц

Для обновления данных, выводимых в сфомированной таблице, достаточно заменить исходный XML-документ. Никакой дополнительной настройки при этом не требуется.

Экономичное использование ресурсов веб-сервера

Благодаря использованию кэширования при работе DY XML Table снижается потребление ресурсов веб-сервера при обработке больших XML-документов, что повышает не только скорость формирования страниц веб-сайта, но и положительно влияет на стабильность его работы.

Полный контроль над оформлением

В формируемом HTML коде DY XML Table не использует предопределённых стилей оформления, что даёт пользователю полную свободу для настройки внешнего вида сформированной таблицы, путём задания стиля оформления через свойства и селекторы CSS без необходимости их переопределения.

Использование

Для начала работы с DY XML Table необходимо подготовить и загрузить на веб-сервер XML-документы с данными. Загружать XML-документы следует непосредственно в стандартную директорию, используемую GetSimple CMS для хранения, загруженных пользователем, файлов, или в созданные внутри неё директории.

DY XML Table работает с XML-документами, имеющими структуру с определённым уровнем вложенности элементов: корень / потомок корня / тупиковый элемент.

Пример XML-документа для обработки

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<records xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <item>
    <manufacturer>Canon</manufacturer>
    <model>EOS 5D Mark III</model>
    <type>Body</type>
    <quantity>1</quantity>
    <price>176669</price>
  </item>
  <item>
    <manufacturer>Canon</manufacturer>
    <model>EOS 6D</model>
    <type>Body</type>
    <quantity>1</quantity>
    <price>94999</price>
  </item>
  <item>
    <manufacturer>Canon</manufacturer>
    <model>EOS 70D</model>
    <type>Kit</type>
    <quantity>3</quantity>
    <price>84999</price>
  </item>
  <item>
    <manufacturer>Canon</manufacturer>
    <model>EOS 100D</model>
    <type>Kit</type>
    <quantity>4</quantity>
    <price>38499</price>
  </item>
</records>

Приведённый в качеств примера XML-документ, содержащий данные об ассортименте магазина фототехники, был сформирован при помощи табличного редактора Microsoft Excel, на основе данных, хранящихся в рабочей книге.

Для автоматического формирования XML-документов необходимо настроить используемое программное обеспечение. При необходимости XML-документы могут быть набраны вручную.

DY XML Table может использоваться непосредственно в PHP коде, а так же встраиваться в текст страницы при помощи шорткода.

Использование DY XML Table в PHP коде

Для использования DY XML Table в PHP коде используется функция:

<?php dyXMLTable($file, $full, $thead, $echo); ?>

Параметры, принимаемые функцией:

  • $file - имя XML файла с данными. Имя файла должно содержать путь к файлу относительно директории uploads, а так же включать в себя расширение файла (.xml);
  • $full - управляет формирование таблицы, необязательный параметр:
    • $full = true - формируется полная таблица (значение по умолчанию);
    • $full = false - формируется тело таблицы - cтроки таблицы, объединённые блоком <tbody></tbody>;
  • $thead - массив, содержащий заголовки для столбцов формируемой таблицы, необязательный параметр. По умолчанию принимает значение null, формируемая таблица не содержит заголовков столбцов;
  • $echo - управляет выводом функции, необязательный параметр:
    • $echo = true - функция печатает результат на странице, значение по умолчанию;
    • $echo = false - функция возвращает строку, содержащую HTML код сформированной таблицы.

Пример использования функции:

<?php
  dyXMLTable('my-xml-files/shop.xml', true, array('Производитель', 'Модель', 'Комплектация', 'Количество', 'Цена, руб.'), true);
?>

Использование DY XML Table через шорткоды

Для встраивания таблицы в текст страницы, в редакторе текста следует использовать специальный шорткод:

(% dyXMLTable filename:data.xml full:true THEAD:"Title | Description" %)

Параметры, используемые в шорткоде соответствуют параметрам, передаваемым фукнции dyXMLTable, кроме параметра $echo. При перечислении заголовков столбцов необходимо использовать разделитель следующего вида: " | " (пробел, вертикальная черта, пробел).

Пример использования шорткода в тексте страницы:

<div class="table-responsive">
  <table class="table table-striped">
    <thead>
      <tr>
        <th>Производитель</th>
        <th>Модель</th>
        <th>Комплектация</th>
        <th>Количество</th>
        <th>Цена, руб.</th>
      </tr>
    </thead>
    (% dyXMLTable filename:my-xml-files/shop.xml %)
  </table>
</div>

Результат работы DY XML Table

Производитель Модель Комплектация Количество Цена, руб.
Canon EOS 5D Mark III Body 1 176669
Canon EOS 6D Body 1 94999
Canon EOS 70D Kit 3 84999
Canon EOS 100D Kit 4 38499

История обновлений

  • 1.0 - 17/06/2015
    • Релиз плагина.