Столкнулся с проблемой. Имеются некоторые с-ва инфоблока, с установленными значениями "Вид в умном фильтре" = 'Флажки с картинками'. 'DISPLAY_TYPE'='G'
Во время разработки сайта пришлось поменять вид с-ва в умном фильтре допустим на "Флажки с названиями и картинками" 'DISPLAY_TYPE'='H'.
По идее в каталоге должен был изменится вывод данного с-ва в фильтре. НО НЕ ТУТ ТО БЫЛО!
Стал разбираться откуда ноги растут. С-во в фильтр упорно приходит со значением 'DISPLAY_TYPE'='G'. В классе компонента оно тоже упорно приходит со значением 'DISPLAY_TYPE'='G'.
Далее в классе компонента замечаю функцию
[CODE]public function getIBlockItems($IBLOCK_ID)
{
$items = array();
foreach(CIBlockSectionPropertyLink::GetArray($IBLOCK_ID, $this->SECTION_ID) as $PID => $arLink)[/CODE]
Собственно источник зла найден! [B]CIBlockSectionPropertyLink::GetArray.
[/B]Смотрим и видим, что функция выполняет 2 SQL запроса в базу откуда собственно и получает с-во DISPLAY_TYPE.
В первом запросе без условия $SECTION_ID > 0 значение данного с-ва приходит с верным 'DISPLAY_TYPE'='H'
Но во втором запросе оно уже 'DISPLAY_TYPE'='G'.
Отсюда вывод, что в базе есть таблица с разделами где указаны данные РАЗДЕЛ, ИД СВОЙСТВА, ТИП.
Так и есть вот эта таблица b_iblock_section_property
Смотрим
[URL=http://unli.ru/4728.jpg][IMG WIDTH=180 HEIGHT=79]http://unli.ru/4728_prev.jpg[/IMG][/URL]
Получается что при смене внешнего вида в умном фильтре не обновляются значения в это таблице. На некоторых разделах DISPLAY_TYPE не изменен.
При редактировании раздела во вкладке СВОЙСТВА ЭЛЕМЕНТОВ есть форма для редактирования, в которой доступно изменение этих данных
[URL=http://unli.ru/4729.jpg][IMG WIDTH=180 HEIGHT=51]http://unli.ru/4729_prev.jpg[/IMG][/URL]
[SIZE=14pt][B]Смысл этой фигни в том чтобы допустим в разных разделах показывать или не показывать с-ва с нужными значениями.[/B][/SIZE]
[SIZE=14pt][B]Опять таки если допустим я здесь меняю любое значение с-ва ПОЧЕМУ оно НЕ ПРИМЕНЯЕТСЯ к подразделам?[/B][/SIZE]
[SIZE=14pt][B]Почему нет возможности это д[/B][/SIZE][SIZE=14pt][B]елать для обычных свойств разделов а лишь для свойств торговых предложений?[/B][/SIZE]
:evil: :evil: :?: :?:
[B]КАКИМ БОКОМ ПОЛЬЗОВАТЕЛЬ БУДЕТ МЕНЯТЬ ЭТИ ДАННЫЕ ДОПУСТИМ ЕСЛИ У НЕГО 1000 РАЗДЕЛОВ!!!!!!!!!![/B]
[B] * ***ТЬ!!!!!!!!!!!!!!!!!!!![/B]
ТО ЛИ Я ДУРАК ТОЛИ БИТРИКС????
Во время разработки сайта пришлось поменять вид с-ва в умном фильтре допустим на "Флажки с названиями и картинками" 'DISPLAY_TYPE'='H'.
По идее в каталоге должен был изменится вывод данного с-ва в фильтре. НО НЕ ТУТ ТО БЫЛО!
Стал разбираться откуда ноги растут. С-во в фильтр упорно приходит со значением 'DISPLAY_TYPE'='G'. В классе компонента оно тоже упорно приходит со значением 'DISPLAY_TYPE'='G'.
Далее в классе компонента замечаю функцию
[CODE]public function getIBlockItems($IBLOCK_ID)
{
$items = array();
foreach(CIBlockSectionPropertyLink::GetArray($IBLOCK_ID, $this->SECTION_ID) as $PID => $arLink)[/CODE]
Собственно источник зла найден! [B]CIBlockSectionPropertyLink::GetArray.
[/B]Смотрим и видим, что функция выполняет 2 SQL запроса в базу откуда собственно и получает с-во DISPLAY_TYPE.
В первом запросе без условия $SECTION_ID > 0 значение данного с-ва приходит с верным 'DISPLAY_TYPE'='H'
Но во втором запросе оно уже 'DISPLAY_TYPE'='G'.
Отсюда вывод, что в базе есть таблица с разделами где указаны данные РАЗДЕЛ, ИД СВОЙСТВА, ТИП.
Так и есть вот эта таблица b_iblock_section_property
Смотрим
[URL=http://unli.ru/4728.jpg][IMG WIDTH=180 HEIGHT=79]http://unli.ru/4728_prev.jpg[/IMG][/URL]
Получается что при смене внешнего вида в умном фильтре не обновляются значения в это таблице. На некоторых разделах DISPLAY_TYPE не изменен.
При редактировании раздела во вкладке СВОЙСТВА ЭЛЕМЕНТОВ есть форма для редактирования, в которой доступно изменение этих данных
[URL=http://unli.ru/4729.jpg][IMG WIDTH=180 HEIGHT=51]http://unli.ru/4729_prev.jpg[/IMG][/URL]
[SIZE=14pt][B]Смысл этой фигни в том чтобы допустим в разных разделах показывать или не показывать с-ва с нужными значениями.[/B][/SIZE]
[SIZE=14pt][B]Опять таки если допустим я здесь меняю любое значение с-ва ПОЧЕМУ оно НЕ ПРИМЕНЯЕТСЯ к подразделам?[/B][/SIZE]
[SIZE=14pt][B]Почему нет возможности это д[/B][/SIZE][SIZE=14pt][B]елать для обычных свойств разделов а лишь для свойств торговых предложений?[/B][/SIZE]
:evil: :evil: :?: :?:
[B]КАКИМ БОКОМ ПОЛЬЗОВАТЕЛЬ БУДЕТ МЕНЯТЬ ЭТИ ДАННЫЕ ДОПУСТИМ ЕСЛИ У НЕГО 1000 РАЗДЕЛОВ!!!!!!!!!![/B]
[B] * ***ТЬ!!!!!!!!!!!!!!!!!!!![/B]
ТО ЛИ Я ДУРАК ТОЛИ БИТРИКС????