Написал я кастомный метод, всё работает, выборку пока не делал:
<?php
class custom extends def_module {
public function cms_callMethod($method_name, $args) {
return call_user_func_array(Array($this, $method_name), $args);
}
public function __call($method, $args) {
throw new publicException("Method " . get_class($this) . "::" . $method . " doesn't exists");
}
//TODO: Write your own macroses here
public function cassa()
{
//Устанавливаем время.
date_default_timezone_set("Etc/GMT-11");
$date = date('Hi');
$dir = dirname(dirname(dirname(__FILE__))).'/files/pay/';
//Получаем список всех файлов.
$files = scandir($dir);unset($files[0]);unset($files[1]);
$data = array();
//Фильтруем.
foreach($files as $f)
{
if(substr($f,0,4)<=$date)
{
$data[] = $f;
}
}
//Выбираем последний из массива.
$last = (count($data)-1);
//Проверка на количество подходящих файлов
if(count($data)==0)
{
$file = "index.html";
}
else
{
$file = $data[$last];
}
//Проверяем существование файла и парсим.
if(file_exists($dir.$file))
{
//Подключаем парсер.
include_once('simple_html_dom.php');
//Открываем файл и ищем данные.
$html = file_get_html($dir.$file);
$id = $html->find("span.STL8");
$name = $html->find("span.STL9");
$num = $html->find("span.STL10");
$price = $html->find("span.STL12");
//Отчищаем данные от html
for($i=0;count($id)>$i;$i++)
{
$id[$i] = strip_tags($id[$i]);
$name[$i] = strip_tags($name[$i]);
$num[$i] = strip_tags($num[$i]);
$price[$i] = strip_tags($price[$i]);
}
$order = substr_replace(strip_tags($html->find("span.STL0",0)),"Заказ",0,3);
$time = substr(strip_tags($html->find("span.STL1",0)),11,16);
$list.= "<ul>\n";
for($i=0;count($id)>$i;$i++)
{
$list.= "
<li>
<img src='/image/".$id[$i].".jpg' width='150' alt='".$name[$i]."' /><br/>
<p>Количество: ".number_format($num[$i])." шт.</p>
<p>".$name[$i]."</p>
<p>Сумма: ".$price[$i]." руб.</p>
</li>
";
}
$list.= "</ul>";
return $list;
}
else
{
echo('Ничего не заказывали');
}
}
};
?>
Но вот при вызове в шаблоне:
<xsl:value-of select="document('udata://custom/cassa/')/udata" />
Ничего не происходит! Что делать?)