Список форумов Cake-PHP.ru Cake-PHP.ru
Форум программистов CakePHP
(на сайт)
 
 Watched TopicsWatched Topics   FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 

Нужен один и тот же линк почти на всех страницах.

 
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий
Предыдущая тема :: Следующая тема  
Автор Сообщение
Hamster

цитировать



Зарегистрирован: 18 Дек 2008 16:16:47
Сообщения: 14

СообщениеДобавлено: 16 Мар 2009 18:37:03    Заголовок сообщения: Нужен один и тот же линк почти на всех страницах. Ответить с цитатой

Каким образом лучше всего сделать следующее?
Линк "Выйти" должен быть почти на всех страницах, естественное, кроме страницы для входа на сайт.
В каждое отображение не хочется копировать одно и тоже.
Поэтому размещаю такой код в хедере шаблона default.ctp

Код:
<? echo $html->link( 'Выйти', "/users/logout"); ?>


Как исключить появление этого линка для формы входа на сайт /users/login? Т.е. в шаблоне нужно проверить не совпадает ли имя контроллера с 'users' и имя действия с 'login', и в этом случае не выводить линк.

Может есть еще другие варианты?
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
michas

цитировать



Зарегистрирован: 28 Янв 2008 11:28:31
Сообщения: 123

СообщениеДобавлено: 16 Мар 2009 19:50:53    Заголовок сообщения: Ответить с цитатой

Код:

if ($this->here != '/users/login'){
echo $html->link( 'Выйти', 'users/logout');
}

И лучше елементом сделать.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Hamster

цитировать



Зарегистрирован: 18 Дек 2008 16:16:47
Сообщения: 14

СообщениеДобавлено: 16 Мар 2009 22:42:49    Заголовок сообщения: Ответить с цитатой

michas писал(а):

И лучше елементом сделать.


Т.е. все-таки в каждое отображение вставлять фрагмент, только вместо
1.
Код:
<? echo $html->link( 'Выйти', 'users/logout'); ?>

вставлять
2.
Код:
<? echo $this->element('exit'); ?>

а в exit.ctp прописать код 1?

А в шаблон не правильно вставлять? Все-таки, "Выйти" - пунктом меню можно считать...
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
michas

цитировать



Зарегистрирован: 28 Янв 2008 11:28:31
Сообщения: 123

СообщениеДобавлено: 17 Мар 2009 09:25:47    Заголовок сообщения: Ответить с цитатой

Меню я бы тоже в елемент вынес.
Ссылки поменяются... гораздо проще в одном месте поменять чем в каждом лэйауте.

Ну это кому как нравиться.
_________________
Все самое интересное в реальном времени - xmpp:cakephp@conference.jabber.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Hamster

цитировать



Зарегистрирован: 18 Дек 2008 16:16:47
Сообщения: 14

СообщениеДобавлено: 17 Мар 2009 13:48:55    Заголовок сообщения: Ответить с цитатой

Сделал так
app\views\elements\exit.ctp
Код:
<?
   if ($this->here != '/cake/users/login'){
      echo $html->link( 'Выйти', '../users/logout');
   }
?>


в app\views\layouts\default.ctp добавил
Код:
<? echo $this->element('exit');?>


michas, спасибо!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Имя
Сообщение

Смайлики
Very Happy Smile Sad Surprised
Shocked Confused Cool Laughing
Mad Razz Embarassed Crying or Very sad
Evil or Very Mad Twisted Evil Rolling Eyes Wink
Exclamation Question Idea Arrow
Дополнительные смайлики

 
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов Cake-PHP.ru -> Общий Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы можете редактировать свои сообщения
Вы можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2005 phpBB Group
Русская поддержка phpBB

Рейтинг@Mail.ru