DY XML Table

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

Описание

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

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

Возможности

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

Для начала работы с 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); ?>

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

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

<?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

<div class="table-responsive">
    <table class="table table-striped">
        <thead>
            <tr>
                <th>Производитель</th>
                <th>Модель</th>
                <th>Комплектация</th>
                <th>Количество</th>
                <th>Цена, руб.</th>
            </tr>
        </thead>
        <tbody>
            <tr>
                <td>Canon</td>
                <td>EOS 5D Mark III</td>
                <td>Body</td>
                <td>1</td>
                <td>176669</td>
            </tr>
            <tr>
                <td>Canon</td>
                <td>EOS 6D</td>
                <td>Body</td>
                <td>1</td>
                <td>94999</td>
            </tr>
            <tr>
                <td>Canon</td>
                <td>EOS 70D</td>
                <td>Kit</td>
                <td>3</td>
                <td>84999</td>
            </tr>
            <tr>
                <td>Canon</td>
                <td>EOS 100D</td>
                <td>Kit</td>
                <td>4</td>
                <td>38499</td>
            </tr>
        </tbody>
    </table>
</div>