Универсального «элегантного решения» не существует :) Я тоже всегда хотел сделать такое.В любом случае, как вы можете это сделать:
Перезаписать Html Helper в каталоге вашего приложения - сделайте копию из /cake/libs/views/helpers/html.php в /app/views/helpers/html.php ивнесены некоторые изменения в функцию Html :: link.
Например, вы можете проверить, содержит ли URL действие редактирования или удаления.
Другая часть заключается в передаче соответствующих параметров из контроллера.В AppController :: beforeFilter вы можете прочитать права пользователя (лучше кэшировать) и передать его в специальной переменной Auth в View.
Так что, когда у вас есть права в вашем View, это легкоизменить ссылку.:)
Как я уже сказал, я не сделал этого в реальном примере, но я бы так и сделал.
В этом есть один плохой момент - если исходный Html-помощникизменен, ваш останется прежним.Но я считаю, что Html-помощник достаточно зрел, поэтому для меня это не большая проблема.