30 Дек 2015
Ох, сколько мук приносит перенос битрикс-проекта с одной площадки на другою, когда в их базах данных отличаются идентификаторы записей. Ведь «Битрикс» любит идентификаторы, и его создатели, похоже, не задумывались о том, как это будет мигрироваться от разработчика к разработчику, от дева к тесту, от теста в бой. Тут и там встречаются идентификаторы записей из таблиц БД в коде приложения…
С идентификаторами инфоблоков и групп пользователей мы уже разобрались, с помощью Bex\Tools можно и нужно работать с этими данными через символьные коды. Но на этом проблемы не заканчиваются, ведь в «Битриксе» есть файлы .access.php!
В .access.php автоматически (можно и вручную) записываются соответствия идентификаторов групп пользователей и уровней доступа, выданных им на тот или иной файл.
<?php $PERM["admin"][\Bex\Tools\Group\GroupTools::find('CONTROL_PANEL_USERS', true)->id()]="R"; $PERM["admin"]["*"]="D"; ?>Теперь этот .access.php будет работать на любой площадке, независимо от того, какой идентификатор имеет группа пользователей с символьным кодом CONTROL_PANEL_USERS. Запросы методов получения идентификаторов групп кешируются.
❄ ❄ ❄
Подключить библиотеку Niceaccess проще простого: