Описание
Плагин DY XML Table для системы управления контентом GetSimple CMS предназначен для упрощения и автоматизации публикации табличных данных, представленных в формате XML-документов.
Типичными сценариями для использования DY XML Table является публикации на страницах веб-сайта часто обновляемых статистических, аналитических данных, прайс-листов, складских остатков, а так же любой другой информации, представленной в табличном виде. Таким образом, применение DY XML Table может значительно повысить эффективность использования веб-сайта, а так же снизить затраты на его администрирование.
Возможности
- поддержка шорткодов: вызов DY XML Table встраивается непосредственно в содержание страницы и не требует от пользователя специальных знаний в области программирования или обязательного редактирования компонентов или шаблонов оформления страниц веб-сайта;
- экономичное использование ресурсов веб-сервера: плагин поддерживает возможность кэширования данных, что позволяется понизить потребление вычислительных ресурсов веб-сервера при обработке объёмных XML-документов, а так же повысить скорость формирования страниц веб-сайта и обеспечить стабильность его работы;
- полный контроль над оформлением: DY XML Table не использует предопределённых стилей оформления в формируемом HTML коде, что даёт полную свободу при встраивании таблиц в используемую тему оформления веб-сайта.
Использование
Для начала работы с 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 через шорткоды
Для встраивания таблицы в текст страницы, в редакторе текста следует использовать специальный шорткод:
keywords: 'разработка, лаборатория, GetSimple CMS, плагин, xml, таблица, данные'
(% 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>