Пытаюсь создать "хлебные крошки" вместе с группами интернет-магазина, но что-то не прет.
В принципе все работает
$external_propertys['item'] = $item_id;
$external_propertys['group'] = $result['group'];
$structure = & singleton('Structure';
$structure->ShowStructure(false, 'ХлебныеКрошки', $property, $external_propertys);
Но размер XML: 284 137 байт. Это много. Каким образом можно ограничить выборку?
Ничего себе не много, когда нужно то всего 10 кб данных, а то больше!
Неужели нельзя никак выборку ограничить? Выбирать только те группы и элементы, которые нужны в конкретный момент?
HostCMS писал(а):
nikki21 писал(а):
Или может как-то можно в XML-шаблон передать параметр
можно, через $external_property (см. API)
Смотрел Хелп написан на столько плохо и кратко, что разобраться довольно сложно (а иногда только после многочасовых экспериментов).
Я много раз ссылался на конкурирующую CMS Битрикс, но получалось так, что HostCMS по таким сравнениям была на уровне. Сошлюсь и сейчас, но тут HostCMS явно проигрывает. У Битрикс ОЧЕНЬ хороший хелп и описание API. Очень удобное. А у HosyCMS описаны только методы и кратко параметры, а как запускать и в каких ситуациях - не описано. Так же не приведено примеров кода
Ничего себе не много, когда нужно то всего 10 кб данных, а то больше!
Неужели нельзя никак выборку ограничить? Выбирать только те группы и элементы, которые нужны в конкретный момент?
В XML выбираются данные, на XSL они обрабатываются. Ограничивать выборки Вы можете на основе передачи параметров в методы, что это за параметры хорошо описано в API.
По хэлпу давайте посуществу. Вы пишете "плохо и кратко". Что именно плохо? Что именно кратко? Методы все очень простые, принимаемые и возвращаемые параметры описаны. Как вызвать метод программист на PHP знает.
Сравнение с монстробразным Битриксом несколько некорректно. Мы никогда не сравниваем себя с другими системами, ведем разработку исключительно на основе стратегического плана развития и пожеланий клиентов.
nikki21 писал(а):
А у HosyCMS описаны только методы и кратко параметры, а как запускать и в каких ситуациях - не описано.
Есть описание метода, вызываемые параметры, возвращаемые параметры. Примеры для сложных участков (в частности показ ИС). Для всего остального пример состоял бы из двух строчек - создание объекта и вызов метода, что в состоянии написать сам программист.
HostCMS, возможно, я плохо ищу по хелпу.
Простой пример. Есть дополнительное свойство у групп каталога в виде флажка (Да/нет). Каким образом можно отобрать в XML только те группы товаров, у которых стоит Нет (или Да) и вывести в браузер, используя XSL?
Простой пример. Есть дополнительное свойство у групп каталога в виде флажка (Да/нет). Каким образом можно отобрать в XML только те группы товаров, у которых стоит Нет (или Да) и вывести в браузер, используя XSL?
При выводе карты сайта узлы магазина и инфосистем идут под видом обычных узлов, соответственно у них отсутствуют какие либо св-ва, по которым можно фильтровать.
Для показа групп с ограничением по св-вам можно воспользоваться методом
Пример ограничения элементов
$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();
Ограничение выборки по доп. св-вам групп сейчас не реализовано, думаю оно войдет в обновление 5.0.9. Сейчас такой функционал можно сделать на уровне XSL, дописав ограничение на выборку в XSL-шаблоне.
Понятно. На уровне XSL получается очень большой объем XML - более 200 Кб, а если бы была возможность фильтровать по свойствам групп, то получился бы объем в 10-12 кб и ускорение времени обработки в 10-15 раз