UMIhelp

Разработка сайта на UMI.CMS => Настройка системы и модулей => Тема начата: tatfox от 28 Июня 2016, 22:40:32

Название: Определяем каталоги сайта
Отправлено: tatfox от 28 Июня 2016, 22:40:32
Добрый вечер! Нужно определить следующие каталоги сайта, это список каталогов, список товаров и карточка товара.

Карточку товара узнаю так
if($element->getMethod() == 'object'){
 //
}

Если не объект то это список каталогов
if($element->getMethod() != 'object'){
 //
}

Как узнать что страница список каталогов?
Название: Re: Определяем каталоги сайта
Отправлено: aghigay от 29 Июня 2016, 11:38:08
Хотелось бы больше подробностей относительно того, в каком контексте идет определение.

Как такового типа "Список каталогов" в umi cms не существует. Есть только раздел каталога.

А дальше идет логика, которая говорит что-то типа:
- если в каталоге есть вложенные каталоги - это список каталогов
- если в каталоге есть вложенные товары - это список товаров

Не забывайте так же, что в каталоге могут одновременно находиться и раздел каталога и товар. Эту ситуацию так же нужно учитывать и, возможно, обрабатывать.
Название: Re: Определяем каталоги сайта
Отправлено: tatfox от 29 Июня 2016, 11:49:00
Когда идет синхронизация с 1с то шаблоны страниц устанавливается по умолчанию, а я определяю страницы и указываю правильный шаблон страниц.

 Вот еще тема "Синхронизация с 1С не меняя указанные поля" http://umihelp.ru/forum/index.php/topic,2187.msg10396.html#msg10396 (http://umihelp.ru/forum/index.php/topic,2187.msg10396.html#msg10396)
Название: Re: Определяем каталоги сайта
Отправлено: aghigay от 29 Июня 2016, 11:52:56
Насколько я понимаю, вы пытаетесь работать с событиями при создании товара.

Если это так, то определитесь с логикой и проверяйте дочерние элементы на типы данных. Можно делать 2 выборки: выбрать все каталоги, выбрать все товары. И потом работать с количеством каталогов и количеством товаров, применяя нужные параметры.
Название: Re: Определяем каталоги сайта
Отправлено: tatfox от 29 Июня 2016, 13:58:02
Да пытаюсь работать с событиями. Если сделать вот так для  список каталогов, список товаров указывается шаблон с id=2
if($element->getMethod() == 'object'){
        $element->setTplId(3);
        }
                elseif($element->getMethod() == 'catalog'){
                       $element->setTplId(2);
                }
        else{
        $element->setTplId(1);
        }
Название: Re: Определяем каталоги сайта
Отправлено: aghigay от 29 Июня 2016, 15:07:26
Давайте читать код по-русски. Это же не магия какая-то, а просто текст с инструкциями:
Если (текущий элемент - это товар){,
    то указываем ему шаблон 3
} Иначе если (текущий элемент - это раздел каталога) {,
    то указываем ему шаблон 2
} Иначе {
    указываем шаблон 1
}

А раздел с товарами - это раздел каталога? Так же как и раздел с другими разделами? Ну так логично ожидать что шаблон будет №2. Правда?

И еще, а кому именно присваивается первый шаблон? Тут стоит подумать про логику.
Название: Re: Определяем каталоги сайта
Отправлено: tatfox от 29 Июня 2016, 15:15:45

Первый шаблон должен присваивается для список каталогов т.е если это не список товаров и не объекты(товары).
Название: Re: Определяем каталоги сайта
Отправлено: aghigay от 29 Июня 2016, 15:45:03
Слово "должен" пока не соответсвует представленной логике. Наверное стоит подумать более внимательно об этом
Название: Re: Определяем каталоги сайта
Отправлено: tatfox от 29 Июня 2016, 15:51:14
Слово "должен" пока не соответсвует представленной логике. Наверное стоит подумать более внимательно об этом

А как мне проверить дочерние элементы на типы данных?
Название: Re: Определяем каталоги сайта
Отправлено: aghigay от 29 Июня 2016, 16:17:20
http://api.docs.umi-cms.ru/razrabotka_nestandartnogo_funkcionala/proizvolnye_vyborki/selector/
Название: Re: Определяем каталоги сайта
Отправлено: tatfox от 29 Июня 2016, 17:02:36
Спасибо)