|
|||||||
Как в Yii создавать ссылки, используя внутренний маршрут
Время создания: 29.09.2014 19:39
Текстовые метки: Yii, ссылка, внутренний маршрут, URL
Раздел: Компьютер - Программирование - Язык PHP - Yii
Запись: xintrea/mytetra_syncro/master/base/1412005190ooubmu9rnv/text.html на raw.github.com
|
|||||||
|
|||||||
Как в Yii создавать ссылки, используя внутренний маршрут Внутренний маршрут Каждому контроллеру и его действию соответствиет маршрут в формате: controllerID/actionID или moduleID/controllerID/actionID Например, метод actionPage контроллера WebsiteController будет иметь маршрут: website/page Краткая справка Идентификатор контроллера (controllerID) Чтобы получить идентификатор контроллера, нужно от его имени отбросить постфикс Controller, а первую большую букву заменить на строчную. Идентификатор действия (actionID) Чтобы получить идентификатор действия, следует от имени метода отбросить префикс action и первую большую букву заменить на строчную. Создание ссылок, используя внутренний маршрут Ссылка создается с помощью метода CHtml::link(). Данный метод может работать как со строкой с URL-ом, так и с массивом, содержащим внутренний маршрут. Формирование ссылки через строку с URL: echo CHtml::link('Текст ссылки', 'http://site.ru'); Данная команда сформирует ссылку: <a href="http://site.ru">Текст ссылки</a> Но главный функционал CHtml::link() состоит в формировании ссылки из массива с внутренним маршрутом. Пример формрования простой ссылки с внутренним маршрутом website/index: echo CHtml::link('Текст ссылки', array('website/index')); Пример формрования ссылки с внутренним маршрутом website/index и переменными name и age, которые должны попасть в действие index: echo CHtml::link('Текст ссылки', array('website/index', 'name'=>'Vasya', 'age'=>'25')); Метод контроллера createUrl() Так же, можно создавать ссылки через встроенный в контроллер метод createUrl(). Однако следует помнить, что данный метод только генерирует строку с URL, а не генерирует строку с полным <a href...> линком. $this->createUrl('Текст ссылки', array('внутренний/маршрут')); особенность в том, что в качетсве маршрута можно указыть только действие (будет подствлен идентификатор текущего контроллера). Метод приложения createUrl() Вне контроллера можно использовать метод приложения createURL: $Yii::app()->createUrl('Текст ссылки', array('внутренний/маршрут')); Здесь так же следует помнить, что данный метод только генерирует строку с URL, а не генерирует строку с полным <a href...> линком. |
|||||||
Так же в этом разделе:
|
|||||||
|
|||||||
|