Ограничение объема данных

#
Ограничение объема данных
Пытаюсь создать "хлебные крошки" вместе с группами интернет-магазина, но что-то не прет.
В принципе все работает
   $external_propertys['item'] = $item_id;
   $external_propertys['group'] = $result['group'];
   $structure = & singleton('Structure';
   $structure->ShowStructure(false, 'ХлебныеКрошки', $property, $external_propertys);

Но размер XML: 284 137 байт. Это много. Каким образом можно ограничить выборку?
Пришел, увидел... Наследил...
#
Re: Ограничение объема данных
Или может как-то можно в XML-шаблон передать параметр (например, какой-то html-текст, который потом можно будет вывести)?
Пришел, увидел... Наследил...
Модератор
#
Re: Ограничение объема данных
nikki21 писал(а):
Но размер XML: 284 137 байт.

200 Кб - совсем не много.

nikki21 писал(а):
Или может как-то можно в XML-шаблон передать параметр

можно, через $external_property (см. API)
#
Re: Ограничение объема данных
HostCMS писал(а):
nikki21 писал(а):
Но размер XML: 284 137 байт.

200 Кб - совсем не много.


Ничего себе не много, когда нужно то всего 10 кб данных, а то больше!
Неужели нельзя никак выборку ограничить? Выбирать только те группы и элементы, которые нужны в конкретный момент?

HostCMS писал(а):

nikki21 писал(а):
Или может как-то можно в XML-шаблон передать параметр

можно, через $external_property (см. API)


Смотрел Хелп написан на столько плохо и кратко, что разобраться довольно сложно (а иногда только после многочасовых экспериментов).
Я много раз ссылался на конкурирующую CMS Битрикс, но получалось так, что HostCMS по таким сравнениям была на уровне. Сошлюсь и сейчас, но тут HostCMS явно проигрывает. У Битрикс ОЧЕНЬ хороший хелп и описание API. Очень удобное. А у HosyCMS описаны только методы и кратко параметры, а как запускать и в каких ситуациях - не описано. Так же не приведено примеров кода

Пришел, увидел... Наследил...
Модератор
#
Re: Ограничение объема данных
nikki21 писал(а):
Ничего себе не много, когда нужно то всего 10 кб данных, а то больше!
Неужели нельзя никак выборку ограничить? Выбирать только те группы и элементы, которые нужны в конкретный момент?

В XML выбираются данные, на XSL они обрабатываются. Ограничивать выборки Вы можете на основе передачи параметров в методы, что это за параметры хорошо описано в API.

По хэлпу давайте посуществу. Вы пишете "плохо и кратко". Что именно плохо? Что именно кратко? Методы все очень простые, принимаемые и возвращаемые параметры описаны. Как вызвать метод программист на PHP знает.

Сравнение с монстробразным Битриксом несколько некорректно. Мы никогда не сравниваем себя с другими системами, ведем разработку исключительно на основе стратегического плана развития и пожеланий клиентов.

nikki21 писал(а):
А у HosyCMS описаны только методы и кратко параметры, а как запускать и в каких ситуациях - не описано.

Есть описание метода, вызываемые параметры, возвращаемые параметры. Примеры для сложных участков (в частности показ ИС). Для всего остального пример состоял бы из двух строчек - создание объекта и вызов метода, что в состоянии написать сам программист.
#
Re: Ограничение объема данных
HostCMS, возможно, я плохо ищу по хелпу.
Простой пример. Есть дополнительное свойство у групп каталога в виде флажка (Да/нет). Каким образом можно отобрать в XML только те группы товаров, у которых стоит Нет (или Да) и вывести в браузер, используя XSL?
Пришел, увидел... Наследил...
Модератор
#
Re: Ограничение объема данных
nikki21 писал(а):
Простой пример. Есть дополнительное свойство у групп каталога в виде флажка (Да/нет). Каким образом можно отобрать в XML только те группы товаров, у которых стоит Нет (или Да) и вывести в браузер, используя XSL?

При выводе карты сайта узлы магазина и инфосистем идут под видом обычных узлов, соответственно у них отсутствуют какие либо св-ва, по которым можно фильтровать.

Для показа групп с ограничением по св-вам можно воспользоваться методом http://hostcms.ru/api/HostCMS_5/shop.html#methodShowShop

Пример ограничения элементов
$element = array();
$element['type']=1; // 0 - основное св-во, 1 - дополнительное
$element['prefix'] = 'and'; // префикс
$element['property_id'] = 26; // ID дополнительного св-ва, указывается если тип = 1
$element['if'] = '='; // Условие
$element['value'] = '10';
$element['sufix']='';
$param['select'][]=$element; // Указываем очередное ограничение, введенное выше


Ограничение выборки по доп. св-вам групп сейчас не реализовано, думаю оно войдет в обновление 5.0.9. Сейчас такой функционал можно сделать на уровне XSL, дописав ограничение на выборку в XSL-шаблоне.

nikki21 писал(а):
$external_propertys написано - "многомерный массив дополнительных свойств для включения в исходный XML код". Все

Система "external_propertys" едина для большинства методов показа. Пример работы с external_propertys дан на стр. 13 руководства по интеграции:
Цитата:
Рассмотрим шаблон для вывода содержания страницы и пяти новостей снизу.
<?$kernel->show_current_page()?>

<?
# Вывод информационных систем
$InformationSystem = new InformationSystem();

$external_propertys=array();
$external_propertys['ОтображатьСсылкуНаАрхив']=1;
$external_propertys['ОтображатьСсылкиНаСледующиеСтраницы']=0;

$InformationSystem->ShowInformationSystem(1,false,'СписокНовостей',5,
0,$external_propertys);
?>
#
Re: Ограничение объема данных
HostCMS писал(а):
Ограничение выборки по доп. св-вам групп сейчас не реализовано, думаю оно войдет в обновление 5.0.9. Сейчас такой функционал можно сделать на уровне XSL, дописав ограничение на выборку в XSL-шаблоне.


Понятно. На уровне XSL получается очень большой объем XML - более 200 Кб, а если бы была возможность фильтровать по свойствам групп, то получился бы объем в 10-12 кб и ускорение времени обработки в 10-15 раз
Пришел, увидел... Наследил...
Модератор
#
Re: Ограничение объема данных
nikki21,
ограничение по св-вам групп дописано в план, сделаем.
Авторизация