у меня встречаются разделы с одинаковыми кодами, это неминуемо в моем случае
Тревожный звонок - вероятно вы используете разделы, там где нужно использовать признаки.
Получилось, что при настройке компонентов и при клике на казалось бы нужный раздел, переходит в раздел с таким же симв.кодом, только меньший по IDшнику.
Да, именно так и будет. Поэтому вам нужно обратить внимание на последний абзац и использовать полный разбор пути.
Не знаете, поможет ли в данном случае изменение передаваемой переменной с SECTION CODE на SECTION ID?
Конечно поможет ведь ИД уникальны. Но зачем тогда вам ЧПУ? Обычно, ЧПУ используют верующие в СЕО, а там не допустимо использование id. А id используют чтобы URL были понятными и удобными для человека, а там не нужны такие длинные URL.
Дальше я немного не все понял, но хотел бы заметить что если вы не используете комплексные компоненты, то изменить URL вам надо только в настройках ИБ. Компоненты переделывать и перенастраивать не нужно.
Если хотите поддерживать ЧПУ, то в вашей ситуации придется либо использовать все таки комплексный компонент, либо делать полный разбор URL в скрипте для определения уникального раздела. Надеюсь у вас при не уникальных кодах сохраняется хотя бы уникальный SECTION_CODE_PATH
Марти Макфлай, тогда его использование это выход за брендбук, а значит он не жесткий, а значит и шрифт можно поменять. Впрочем я свои соображения изложил в ответе.
SpeakeazyYT1, я написал вам это в ответе.
Такая ситуация как на этом скрине будет если вы работаете методами fetch и GetNext с ИБ 1.0 (когда свойства хранятся в общей таблице).
Чтобы добиться того чего вы хотите вы должны изменить место хранение свойств на "в отдельной таблице".
Причем это надо сделать ИМЕННО У ТОГО ИНФОБЛОКА из которого вы производите выборку. Вы работает в коде с 25 инфоблоком, а изменили настройки у 24.
Sp1keazyYT, есть кстати другое решение - вместо fetch (GetNext) использовать $elm = $element->GetNextElement();
И далее отдельно получать поля: $arElements = $elm->GetFields() и отдельно свойства - $arElementsProp = $elm->->GetProperties();
Но судя по fetch вам нужно быстро.
Затем, чтобы перейти на ИБ 2.0 и получить результат который необходим - чтобы при извлечении множественного свойства не получать дубли элемента в выборке с разными значениями этого свойства, получать значения свойства в одном элементе в виде массива.
strify_25, мне не очень понятно что значит "для конкретного раздела".
Если вы хотите чтобы только один фиксированный раздел попадал в выборку - ну добавьте его в фильтр - ключ SECTION_ID.
Если это должно быть по разделам, т.е. он должен быть произвольным и выбранным на основе URL - добавьте токен в URL Типа /catalog/код-раздела/кодсвойства-значениесвойства/
Соотвественно и правило должно поменяться:
Tech, как показывает практика попытка выжать из конфига какую-либо добавочную производительность не ведет ни к чему. Конфиг либо рабочий, либо нет. Еще в нем может работать/не работать сжатие, но у вас включено и вы сами пишите это.
Хотите более высоких показателей - последовательно разбирайтесь с проблемами на которые указывает GPSI.
P.S. Я тоже не люблю BitrixVM, хотя там многое настроено из коробки. Мне больше нравится чистые Debian Based дистры.
Я же говорю - обычный API, как везде с проблемами как у всех.
Но тут речь не о настройке - скрипт экспорта надо реализовывать с нуля под проект.
А дальше у вас есть два пути:
1 Долбаться вручную с XLS. Это вполне оправдано если выгрузка нужна один-два раза. Я бы экспортнул товар в CSV с помощью стандартной процедуры, а потом бы подгонял вручную под то что им надо.
2 Делать нормальный экспорт. Имеет смысл если он нужен на постоянку.
Тревожный звонок - вероятно вы используете разделы, там где нужно использовать признаки.
Да, именно так и будет. Поэтому вам нужно обратить внимание на последний абзац и использовать полный разбор пути.
Конечно поможет ведь ИД уникальны. Но зачем тогда вам ЧПУ? Обычно, ЧПУ используют верующие в СЕО, а там не допустимо использование id. А id используют чтобы URL были понятными и удобными для человека, а там не нужны такие длинные URL.
Дальше я немного не все понял, но хотел бы заметить что если вы не используете комплексные компоненты, то изменить URL вам надо только в настройках ИБ. Компоненты переделывать и перенастраивать не нужно.
Если хотите поддерживать ЧПУ, то в вашей ситуации придется либо использовать все таки комплексный компонент, либо делать полный разбор URL в скрипте для определения уникального раздела. Надеюсь у вас при не уникальных кодах сохраняется хотя бы уникальный SECTION_CODE_PATH