-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Не сохраняет изменения элемента в инфоблоке 1.0 #3
Comments
Не получается воспроизвести. Можете показать содержимое таблиц |
Таблицы: notamedia_i18n_iblock, notamedia_i18n_iblock_public_id при переключении типа инфоблока (2.0 на 1.0) url не меняеться уточнение на инфоблоках 1.0 выбрасывает ошибку. на 2.0 работает нормально |
А вот это да, мы не тестировали на ИБ 1.0. Нужно диагностировать и вносить исправления. |
2.0 аналогично.
|
Не понимаю зачем на update делать checkDouble?
|
checkDouble нужен, что бы не было коллизий в БД. Он защищает от создания нескольких записей с одинаковым идентификатором и языком. |
Понятно. Получается |
Ну метод имеет представление о том, какой экшен сейчас выполняется (создание или обновление), это видно по коду, приведённому тобой в примере выше. Исходный код метода можно посмотреть прямо на Гитхабе: https://github.com/notamedia/bitrix-i18n/blob/master/lib/iblock/elementhandler.php#L68-L117. |
Да да. Похоже, при создании элемента был выставлен неверный PUBLIC_ID (получилось 1, вместо ожидаемого 79, т.к. элементы с PUBLIC_ID уже были). |
Заколхозил по-быстрому:
Просто записал PUBLIC_ID, которые должны были быть после конвертации |
Ребят, проблема не в хранениях и потере PUBLIC_ID, а в том, что при update вы считываете пустое свойство, т.е. в $fields у вас находится свойство [#property_id#][#value_id#] и в случае первой версии (хранения в общей таблице) он формируется как int и является числом, а в случае второй версии он формируется как строка element_id:property_id, вот и получается, что при хранении в общей таблице значений нет. |
я развернул актуальный битрикс, завёл ИБ, поставил модуль, сконвертировал ИБ. |
заполнил таблицу значениями PUBLIC_ID всех сконвертированных элементов — проблема не решилась |
Запись для этой языковой версии уже существует
The text was updated successfully, but these errors were encountered: