Не зарегистрирован
Вход
Забыли пароль?
Регистрация
Подписаться
Сэкономьте время — перед вопросом на форуме узнайте, как найти ответ быстрее
По техническим проблемам необходимо обращаться в Консультационный центр

Поиск по форуму: 

Приглашаем в блог Amiro.CMS. Регулярные обзоры, опыт, решения, практикумы.
Форум  ->   Разработка плагинов, вопросы по API  ->  Связь товара и его свойств (точнее их названий)


Показать все сообщения в этой ветке


Добавлено: 29.08.14 22:44:00  




Регистрация: 24.09.10
Сообщений: 63


Обратиться по имени

Evgeney S.:
А зачем делается эта проверка:
$ct['isnot_all'] == 0
?
Если я не ошибаюсь, это флаг "Но показывать в общем списке". Эта проверка действительно нужна?
unserialize($ct['default_caption'])
Это будет название (заголовок) свойства по-умолчанию. В наборе свойств это название может быть переопределено, поэтому правильнее брать его из cms_es_datasets.fields_captions или из таблицы категорий (как в первом посте).
Ну и не забывать, что значения могут хранится не только "по значению", но и ссылками на значения справочников, и еще есть тип "набор флагов"


isnot_all - это уже по вкусу. По мне (и по текущему сайту, на котором 170+ свойств на 5 наборов), так если свойство не отображается в стандартной (опять же для этого сайта) таблице характеристик, то оно и в маркете не нужно.

Что касается второй части вопроса, то соглашусь. Сам как раз пришел к этому. Но не по тем причинам, что вы указали, а из за банальной находки, что fnum - не уникальный параметр. В частности на демо сайте, fnum=15 у свойств "С этим товаром рекомендуем" и "Размер".

Как именно хранится свойство, мне разбираться не хочется (ведь в результатах выборки я получаю уже значение, даже если что то хранится как ссылка на значение справочника. нет?), поэтому функция фильтрует то что мне не надо вот так:
$ct['ftype'] !== 'picture'

Хотя, этот кусок лучше было бы переписать вот так:
!in_array($ct['ftype'], array('picture',...))


А вот за указание на тип набор флагов - спасибо. Надо будет еще и с ним разобраться

В общем, надо еще копнуть. Это была версия 0.0.3 alpha



0


Создать новую тему Ответить