Новая операция в hook_access()
Можно ли определить новую операцию для доступа к узлу?
Как я знаю, операции для узла, которые используются в hook_access()
являются:
Создайте
удалять
Обновить
Посмотреть
У меня есть пользовательский тип контента, для которого мне нужна другая операция, например, "предложить".
1 ответ
Краткий ответ - НЕТ, так как node_access (), который отвечает за вызов hook_access () , проверяет параметр $op
if (!$node ||!in_array($op, array('view', 'update', 'delete', 'create'), TRUE)) { return FALSE; }
Вы можете прикрепить некоторую дополнительную информацию к объекту узла в вашей функции предположения (), которая, будем надеяться, вызывается перед node_access (), а затем проверить эту дополнительную информацию в вашем hook_access () и вернуть TRUE/FALSE соответственно.
другая опция заключается в проверке разрешений в жестком коде самого действия предлагать (), не возиться с hook_access.