Компания в которой я работаю - Universe of Web занимается продвижением сайтов - http://uniofweb.ru и созданием сайтов на битрикс, правда созданием сайтов занимается лишь Тульское отделение - http://uw-tula.ru.
Так как в сфере интернет маркетинга очень высокая конкуренция, то нам приходится постоянно работать над своим сайтом. И не так давно передо мной была поставлена задача организовать перелинковку аналитических статей посвященных раскрутке и продвижению сайта (статьи находятся на - http://uniofweb.ru/analytics/), не буду вдаваться в алгоритм перелинковки, так как это является коммерческой тайной, но расскажу про некоторую проблему с которой столкнулся.
Итак, суть проблемы. Как использовать фильтр по множественному списку?
Наверное многие согласятся со мной если я скажу, что при всей прелести "1С-Битрикса" его модули разростаются на столько, что разработчики не успевают изучать API предыдущей версии, как выходит новое API с дополнениями, а не редко и существенными дополнениями к существующему функционалу. И видимо вместе с разработчиками не успевают еще и техрайтеры битрикса (для тех кто не знает, техрайтер это человек, который пишет документацию для пользователей и документацию по API для разработчиков). Проблема в том, что не раз натыкаясь на что-то новое для себя я обращаюсь к справке и в случае если проблема относительно проста, то быстро нахожу для себя там ответ. В случае с более сложными проблемами приходится прикинуть несколько вариантов (эти варианты одинаково разумны с точки зрения того что написано в описание функции или класса). Но бывает и так что в документации проблема описана настолько размыто, что вариантов уймо и приходится обращаться в службу тех поддержки чтобы добиться конкретики и не терять много времени в переборе вариантов.
Одним из таких случаев стал случай когда мне понадобилось использовать внешний фильтр в компоненте "список новостей".
Сам фильтр я уже неоднократно использовал и проблем не возникало, но вот не задача, теперь фильтровать пришлось по множественному списку.
При такой задаче сразу возникает куча вопросов: 1. Что передавать в качестве фильтра(при фильтрации по значению)? Массив или одиночное значение(жду ответа от сапорта, но предполагаю что массив), а самое главное как должен выглядеть этот массив. (Вот что говорит нам об этом API - http://dev.1c-bitrix.ru/api_help/iblo...etlist.php, на случай если товарищи из битрикса все же поправят сделаю выноску)
# PROPERTY_<PROPERTY_CODE> - фильтр по значениям свойств, где PROPERTY_CODE - код свойства или мнемонический код. Для свойств типа "Список", "Число", "Привязка к элементам" и "Привязка к разделам" - Число. Для прочих - Маска; # PROPERTY_<PROPERTY_CODE>_VALUE - фильтр по значениям списка для свойств типа "список" (Маска), поиск будет осуществляться по строковому значению списка, а не по идентификатору;
Ребята, вы не обижайтесь, но этот бред имеет значение только в том случае, если мы говорим о простых свойствах (тут еще можно догадаться о том, как этим пользоваться). В защиту битрикса скажу, что внизу этого раздела документации даны достаточно подробные примеры, но они все же не дают ответа на многие сложные вопросы (привели бы пример использования фильтров для множественного списка , ну ведь реально не понятно). Ну да ладно, гнев я свой выплеснул (кстати говоря именно потому, что на мой достаточно четко сформулированный вопрос в техподдержку меня послали в документацию, которую я разумеется перелопатил вдоль и поперек до того как обратиться в сапорт).
2. Будет ли использоваться условие "И" или "ИЛИ" при передачи группы значений.
И это только начало. Таких вопросов куча. И ведь это далеко не частный случай, а значит ответ должен быть в API!!!
На данный момент сижу жду ответа от сапорта. Как только у меня получится обязательно напишу, даже если решение было очень простым и тривиальным(в данном случае понятным из документации). В этом случае даже извинюсь перед товарищами техрайтерами.
Интересно как сделать выборку вида значение множественного свойства типа список = X и больше ничего кроме X (то есть когда есть только одно конкретное значение и больше нет никаких значений)
Группы на сайте создаются не только сотрудниками «1С-Битрикс», но и партнерами компании. Поэтому мнения участников групп могут не совпадать с позицией компании «1С-Битрикс».