Функция aikiTreeReadObj() - чтение DOM-объекта формы каталога

Функция aikiTreeReadObj() - чтение DOM-объекта формы каталога

Функция aikiTreeReadObj(string $name) читает указанную в параметре $name запись из формы Tree и возвращает её в виде DOM-объекта для дальнейшего преобразования, получения данных и иных манипуляций.

После преобразования вы можете сохранить объект в форму, используя функцию aikiTreeSaveObj()

Пример:

<?php
include($_SERVER["DOCUMENT_ROOT"]."/engine/engine.php");
header("Content-Type: text/xml");
$out=aikiTreeReadObj("test");
echo $out->outerHtml();
?>

Пример выше отобразит структуру каталога в виде xml:

<?php
include($_SERVER["DOCUMENT_ROOT"]."/engine/engine.php");
$out=aikiTreeReadObj("test");
echo $out
     ->find("name:contains(Ветка 1-2-1)")
     ->parent("branch")
     ->attr("data-id");
?>

Имея такой объект каталога, можно легко им манипулировать используя методы работы с DOM.

В следующем примере, показано как получить имя ветки, имея её id:

<?php
include($_SERVER["DOCUMENT_ROOT"]."/engine/engine.php");
$out=aikiTreeReadObj("test");
echo $out->find("branch[data-id=589302a108b6] > name")->text();
?>

Или наоборот, имея имя ветки, получить её id:

 

Следующий пример показывает как найти ветку по имени, поменять значения полей в ней, сохранить и показать результат:

<?php
include($_SERVER["DOCUMENT_ROOT"]."/engine/engine.php");
header("Content-Type: text/xml");
$str="Ветка 1-2-1";
$out=aikiTreeReadObj("test");
    $out->find("name:contains({$str})")->parent("branch")
        ->find("data fld1")->html("Новое значение 1");
    $out->find("name:contains({$str})")->parent("branch")
        ->find("data fld2")->html("Новое значение 2");
    $out->find("name:contains({$str})")->parent("branch")
        ->find("data fld3")->html("Новое значение 3");
aikiTreeSaveObj($out);
echo $out->outerHtml();
?>
 

Интеграция с Bootstrap v.3

Чистый & понятный код

Парсер DOM в PHP