DbHelp.ru
Маленький Yii блог
Комментарии
Гость: Колпаки на трубы дымопровода Основное назначение флю...
Гость: Уважаемые партнёры, в честь майских праздников мы зап...
Гость: Drive through Verona on Segway and discover the most beautiful sights it has to offer. On this tour ...
Гость: Майнкрафт город зомби. Сериал рассказывает о компьюте...
Гость: ИНВЕСТИЦИОННАЯ ПРИВЛЕКАТЕЛЬНОСТЬ Инвестиционная пр...



Сервер Ultima Online - Forest Wars (от создателя данного блога)

"By Example" : CHtml - link()

Рубрика: Перевод Cookbook

Оцените эту статью:

Рейтинг: 0.00 (0)
8 Окт. 2009
Опубликовать в Twitter Написать в Facebook Опубликовать в своем блоге livejournal.com

Yii Framework Blog img http://dbhelp.rucookbookСерия рецентов "By Example" пытается предоставить для разработчиков примеры использования самых распостраненных действий в Yii. Учимся использовать CHtml::link() на примерах!


[+update 8/10/2009]

---

CHtml::link() method

public static string link(string $text, mixed $url='#', array $htmlOptions=array ( ))

Создание линков (ссылок) с использованием CHtml

Пример 1: Ссылка на действие контроллера

<?php echo CHtml::link('Link Text',array('controller/action')); ?>

Результат:

<a href="index.php?r=controller/action">Link Text</a>

 

Пример 2: Ссылка на действие контроллера с дополнительными параметрами

<?php echo CHtml::link('Link Text',array('controller/action',
                                         'param1'=>'value1')); ?>

Результат:

<a href="index.php?r=controller/action&param1=value1">Link Text</a>

 

Пример 3: Ссылка на действие контроллера с большим кол-вом дополнительных параметров

<?php echo CHtml::link('Link Text',array('controller/action',
                                         'param1'=>'value1',
                                         'param2'=>'value2',
                                         'param3'=>'value3')); ?>

Результат:

<a href="index.php?r=controller/action&param1=value1&param2=value2&param3=value3">Link Text</a>

 

Пример 4: Ссылка на действие внутри текущего контроллера

Предположим вы находитесь в PostController/view и хотите перейти в PostController/create. Для этого просто укажите название экшинса без указания контроллера! Если хотите перейти на другой контроллер - используйте примеры указанные выше.

<?php echo CHtml::link('Link Text',array('action')); ?>

 

Пример 5: Ссылка на контроллер от корня

Предположим вы находитесь в модуле и хотите сделать ссылку на корневой контроллер. В этом случае добавьте косую черту в начале строки URL. Это имеет смысл только если вы работаете с модулями

<?php echo CHtml::link('Link Text',array('/controller/action')); ?>

 

Пример 6: Ссылка на действие контроллера в другом модуле

<?php echo CHtml::link('Link Text',array('/module-id/controller/action')); ?>

 

Пример 7: Ссылка на действие контроллера со стороны модуля

<?php echo CHtml::link('Link Text',array('/{$this->module->id}/controller/action')); ?>

 



Если хотите опубликовать этот материал у себя - пожалуйста, разместите ссылку на страницу откуда вы его взяли.
Другие yii статьи:

  1. Столкнулся я с вопросом как без создания формы через CFormModel — поюзать встроенный валидатор для проверки капчи. Вот чего то ... "Валидация капчи в Controller-е"

  2. Я рад сообщить вам о выходе сразу двух версий нашего фреймворка. Для любителей стабильности была предоставлена версия 1.0.11 с большим ... "Yii PHP framework 1.0.11 и 1.1 RC"

  3. Разработчики в очередной раз не перестают нас радовать новой версией замечательного фреймворка. Я был очень рад когда после выходных, выйдя ... "Версия 1.0.7"

[adm] zolter

Было сказано: Воскресенье, 27 Сентябрь 2009

В пояснение лишь скажу что данный код надо использовать в отображениях. К примеру, для генерации создания ссылок на странице вместо привычных для вас <a href="...">

[guest] RSol

Было сказано: Вторник, 29 Сентябрь 2009

Предлагаю в уроке №4 переделать. :-)

[adm] zolter

Было сказано: Вторник, 29 Сентябрь 2009

хы. кстати да )) сенк )

[adm] zolter

Было сказано: Четверг, 08 Октябрь 2009

Статья обновлена, были добавлены новые примеры в связи с их появлением на eng версии.

Скоро будут готовы такие же статьи по:
CHtml::button()
CHtml::textField()
CHtml::listData()
CHtml::dropDownList()

[guest] Анонимус

Было сказано: Пятница, 09 Октябрь 2009

Пофиксь пожалуйста рсс, неверно эскейпит кавычки в загаловках

[adm] zolter

Было сказано: Пятница, 09 Октябрь 2009

Готово. Спасибо :)

[guest] Гость

Было сказано: Пятница, 09 Октябрь 2009

А как получить только содержимое тега href при генерации ссылки?
Задача - сгенерировать ссылку до контроллера с параметрами и отправить эту ссылку по емейлу.

[adm] zolter

Было сказано: Пятница, 09 Октябрь 2009

Вот так вот:


$this->createUrl('site/category')

или если нужны параметры дополнительные то вот так:

$this->createUrl('site/category', array('id'=>$id))

[guest] Гость

Было сказано: Суббота, 10 Октябрь 2009

Спасибо.

[guest] Гость

Было сказано: Среда, 28 Октябрь 2009

А как получить полный URL с доменом.
Задача сгенерировать URL что бы отправить его EMail'ом.
допустим контроллер и экшен такие: users/approve
параметер 'code' => '12345'

[adm] zolter

Было сказано: Четверг, 29 Октябрь 2009

Первое что в голову пришло это

echo 'http://' . $_SERVER['HTTP_HOST'] . $this->createUrl('users/approve', array('code'=>12345))

[guest] Гость

Было сказано: Пятница, 30 Октябрь 2009

Во. Оказывается есть #this->createAbsoluteUrl(...)

[adm] zolter

Было сказано: Пятница, 30 Октябрь 2009

Спасибо. Забыл про этот метод, тока 1 раз приходилось им пользоваться.

[guest] Гость

Было сказано: Вторник, 10 Ноябрь 2009

А еще тогда вопросик. Как добавить аттрибут class тегу "a"?
Что бы результат работы CHtml::link был такой
<a href="{url}" class="myClass">text</a>

[adm] zolter

Было сказано: Вторник, 10 Ноябрь 2009

Очень просто. За это у нас отвечает парраметр htmlOptions:

echo CHtml::link('test', array('site/index'), array('class' => 'myClass'));


получим

<a class="myClass" href="/site/index">test</a>

[guest] Brakelv

Было сказано: Среда, 30 Декабрь 2009

Не знал, в какой именно раздел обратиться, решил отписаться тут.
Как можно задать title, description, keywords в layouts, при помощи CHtml. А так же как изменять эти значения в контролере?

[guest] Гость

Было сказано: Четверг, 30 Июнь 2011

А как сделать вот так пример <a href="www.foreingsite.ru" /> Метод link такое дает сделать?

[guest] Гость

Было сказано: Пятница, 11 Октябрь 2013

Если у вас в БД в поле под название 'www' хранятся ссылки, то для отображения самой ссылки и её выполнения код ниже.

echo CHtml::link(CHtml::encode($data->www), $data->www);


А если хотите сделать ссылку с названием чего-либо из того, что есть в вашей БД, то пишите так,
echo CHtml::link(CHtml::encode($data->name), $data->www);

[guest] Гость

Было сказано: Суббота, 08 Апрель 2017

Оригинал Xiaomi Redmi Note 4 Х 4 Х Смартфон 3 ГБ ОПЕРАТИВНОЙ ПАМЯТИ 32 ГБ ROM Snapdragon 625 Octa Core MIUI 8.1 Отпечатков Пальцев 5.5 "FHD 4 Г FDD LTE

Лучшая версия себя. Полюбившийся публике RedMi Note 4 стал еще лучше, переродившись в новой модели – Xiaomi RedMi Note 4 Pro. И что самое приятное, цена на телефон по-прежнему радует не меньше, чем и сами нововведения!

Производитель:Xiaomi
Разблокировка телефона:Да
Тип батареи:Не съёмная
Разрешение дисплея:1920x1080
Емкость батареи (мАч):4000mAh(Min) - 4100mAh(Typ)
Операционная система:Android
Особенности:Гравитационный эффект,GPRS,Сенсорный экран,Сообщение,Bluetooth,Видеоплеер,Видеоплеер HD,Wi-Fi,Воспроизведение MP3,FM-радио,GPS-навигация,Передняя камера,Слоты карт памяти,E-mail,QWERTY-клавиатура
Модель Xiaomi:Редми Примечание 4X3 ГБ 32 ГБ
Язык:Русский,Немецкий,Испанский,Польский,Турецкий,Английский,Норвежский,Итальянский,Французский,Португальский
Камера:13.0 MP
Тип камеры:Передняя & задняя камера
Количество SIM-карт:Две SIM-карты
Дата выпуска:2017
Сотовая связь:GSM/WCDMA/LTE
ПЗУ:32 ГБ
Состояние:Новое
Чёткость записи:1080P
Размер дисплея:5,5
Производитель процессора:Qualcomm
Процессор:Восьмиядерный
Дизайн:Стержень
Толщина:Ультра тонкий (<9mm)
Тип сенсорного экрана:Ёмкостный экран
Время Разговора:About 6-8 hours
Режим диапазона:2SIM/Multi-Bands
Цвет дисплея:Цвет
ОЗУ:3 ГБ
Размер:151mm*76mm*8.45mm
Язык:Chinese
MIUI:MIUI 8.1
Fingerprint:Support
CPU:Snapdragon 625 Octa Core up to 2.0GHz
TF Card:Support , up to 128GB
2G:GSM B2/B3/B5/B8
3G:WCDMA B1/B2/B5/B8;TD-SCDMA B34/B39;CDMA2000/1X BC0
4G:FDD-LTE B1/B3/ B5/B7/ B8;TD-LTE B38/B39/B40/B41(2555-2655MHz)
Xiaomi Model:Xiaomi Redmi Note 4 X

Цена: 9 870 руб.

Более детальный обзор на нашем сайте. www.xiaomi-redmi-note.tk

[guest] Гость

Было сказано: Вторник, 18 Апрель 2017

HOMTOM HT7 Pro 4G это смартфон бюджетного класса от Китайского производителя, работающий из коробки на операционной системе Android 5.1. В смартфоне установлен чипсет начального уровня Mediatek MT6735, оснащенный четырех ядерным центральным процессором работающим на частоте 1ГГц, и графическим чипом Mali-T720. Оперативной памяти 2ГБ, постоянной 16ГБ, которую можно расширить при помощи microSD карты обьемом до 128ГБ.

В HOMTOM HT7 Pro большой 5.5 дюймовый дисплей с HD ( 1280 x 720 )разрешением, использующий технологию IPS, благодаря чему картинка выглядит более естественно по сравнению с обычными LCD дисплеями. Спереди и сзади установлены камеры с искусственно поднятым разрешением, таким образом задняя имеет реальных 8МП поднятых до 13МП, фронтальная имеет 2МП поднятые до 5МП.

Общей производительности HOMTOM HT7 Pro 4G смартфона хватит на большинство игр и приложений, даже для самых требовательных. Наличие 2ГБ оперативной памяти позволит запускать больше вкладок в браузере. Благодаря поддержке сетей 4G, смартфон способен принимать данные по высокой скорости.

Батареи емкостью 3000мАч должно хватить на сутки активного пользования.

Цена: 4 424 руб.

Более детальный обзор на нашем сайте. www.homtom-ht7.tk

Оставить комментарий


Код:
Имя: