HostCMS,
мне необходимо выводить массив, либо одно значение из 3-го уровня модуля (запили полей). Функция parseUrl мне тут не подойдет, я думаю, так как для сайта предполагается вывод данных модуля в двух местах:
1. В шапке сайта (среднее из последних 10-ти записей уровня 3)
2. На отдельной странице (максимальное значение за период, минимальное значение за период, множество значений за период для построения графика(-ов), из уровня 3 так-же)
Постараюсь описать то, что напридумывал как точка вызова из шаблона:
1.
$Wm_Channel_Controller_Show = new Wm_Channel_Controller_Show(
Core_Entity::factory('Wm_channel', 1) // идентификатор канала данных, уровень 1
);
$Wm_Channel_Controller_Show
->xsl(
Core_Entity::factory('Xsl')->getByName('Меню')
)
->field(1) // идентификатор поля данных, уровень 2, если NULL - вывод из всех полей
->records() // идентификатор записи данных, уровень 3, если NULL - вывод всех записей
->recordsOrderBy(2) // тип сортировки данных поля уровня 3, предполагается несколько типов
->limit(10) // количество записей уровня 3 (а может стоит контроллер показа делать на 3-м уровне?)
->avg(1) // среднее значение данных поля уровня 3 с округлением до десятых &1
->show();
Может опять мутно, но киньте уже какую-нибудь доку, хотя-бы примитивную по логике создания методов контроллера с порядком необходимых действий (типо 1 - включить метод в _allowedProperties, 2 - создать __construct, 3 - создать show(), 4 - в show() что-то вызвать, ну и т.д.)