Продолжая редактирование пользователя Abba Bryant, посмотрите, как создать помощника в кулинарной книге: http://book.cakephp.org/view/1097/Creating-Helpers
Если необходимость отключить маршрутизацию вручную для всех ваших ссылок раздражает (это было бы мне!), Вы можете создать нового помощника MyCustomUrlHelper
(имя, конечно, не должно быть таким длинным), и иметь он использует ядро UrlHelper для генерации URL-адресов для вас.
class MyCustomUrlHelper extends AppHelper {
public $helpers = array('Html');
function url($controller, $action, $params ,$routing = false, $plugin = false) {
//Example only, the params you send could be anything
$opts = array(
'controller' => $controller,
'action' => $action
//....
);
}
//another option
function url($params) {
//Example only, the params you send could be anything
$opts = array(
'controller' => $params['controller'],
'action' => $params['action']
//....
)
}
//just fill up $opts array with the parameters that core URL helper
//expects. This allows you to specify your own app specific defaults
return $this->Html->url($opts); //finally just use the normal url helper
}
По сути, вы можете сделать это как можно более подробным или кратким. Это просто класс-обертка для фактического помощника URL, который будет выполнять работу изнутри. Это позволяет вам задавать значения по умолчанию, которые подходят для вашего конкретного приложения. Это также позволит вам внести изменения в одном месте и обновить маршрут для всего приложения.
EDIT
Вы также можете проверить, является ли переданный массив $ opts строкой. Таким образом, вы можете получить лучшее из обоих миров.