Yii Framework Forum: Показ формы логина на всех страницах - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Показ формы логина на всех страницах Rate Topic: -----

#1 User is offline   patison 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 23
  • Joined: 26-April 09

Posted 26 April 2009 - 05:09 AM

Привет, друзья!
На днях наткнулся на эту чудную вещь, именуемую Yii.

Вопрос вот в чём. Необходимо показывать форму логина (или, если юзер залогинен - пользовательское меню) на всех страницах сайта. С меню пользователя, думаю, не проблема разрулить. Вопрос в форме.
Форма сама создана изначально, и показывается на странице Login. При попытке впихнуть html формы в main.php из папки view/layouts мне выдаёт ошибку, связаную с тем что не определена переменная $form. Данная переменная определяется в контроллере SiteController.php , в экшне страницы логина - actionLogin().
Представление о MVC я имею, но пока что не очень тесно сдружился с данным концептом.
Подскажите как решить мой вопрос.
Заранее, спасибо!
0

#2 User is offline   KJedi 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 381
  • Joined: 19-October 08
  • Location:Nikolaev, Ukraine (Europe)

Posted 26 April 2009 - 05:14 AM

Посмотри на этот виджет: http://www.yiiframew...xtension/login/
Это то что тебе и надо.
Твоя задача должна решаться установкой виджета формы, который и показывает форму и обрабатывает ее. По ссылке выше как раз такой виджет. Только он завиит от виджета Portlet
(http://www.yiiframew...ension/portlet/)
Зависимоть эта чисто условная, там только оформление общее. Понв идею можешь сам такое сделать под свои нужды
0

#3 User is offline   patison 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 23
  • Joined: 26-April 09

Posted 26 April 2009 - 04:18 PM

Хм. действительно, то что надо.
Так вот в чём вопрос, тады.. То что касается контента (новости, статьи, и куча всей динамич инфы на сайте) создаётся путём создания CRUD, так?
Всё-же остальное, где не нужны эти операции CRUD, нужно юзать виджеты и компоненты. я правильно понял?
0

#4 User is offline   carat 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 60
  • Joined: 12-February 09

Posted 26 April 2009 - 05:56 PM

Quote

Твоя задача должна решаться установкой виджета формы, который и показывает форму и обрабатывает ее.

а вот такой вопрос. на каждой странице есть поиск. кто должен обрабатывать запрос формы и выводить результат в контенте страницы
0

#5 User is offline   KJedi 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 381
  • Joined: 19-October 08
  • Location:Nikolaev, Ukraine (Europe)

Posted 27 April 2009 - 02:35 AM

Quote

а вот такой вопрос. на каждой странице есть поиск. кто должен обрабатывать запрос формы и выводить результат в контенте страницы

Форма - это виджет, а обрабатывать должен какой-то контроллер. Ты ж не в виджете результаты поиска показываешь. В случае с логином можно чтобы виджет обрабатывал логин. потому что он же и показывает панель юзера потом.
0

#6 User is offline   KJedi 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 381
  • Joined: 19-October 08
  • Location:Nikolaev, Ukraine (Europe)

Posted 27 April 2009 - 02:39 AM

Quote

Хм. действительно, то что надо.

Так вот в чём вопрос, тады.. То что касается контента (новости, статьи, и куча всей динамич инфы на сайте) создаётся путём создания CRUD, так?

Всё-же остальное, где не нужны эти операции CRUD, нужно юзать виджеты и компоненты. я правильно понял?

Не совсем. Если работал с джумлой, то можно провести такую аналогию. Компонен джумлы - то контроллер. А модуль джумлы - это виджет. Компонент - это общее название и контроллера и видета и еще дофигищи всего, все это наследуется от компонента.
Если не работал с джумлой, тогда так. Все, что выводится в страничках, в основном контенте - это модули (Yii) и контроллеры. Все что по бокам и сверху, панельки всякие - это целесообразно делать виджетами. Если есть какие-то часть повторяющиеся части. Например, картинка продукта с подписью и ценой - встречается и в результатах поиска и в "бестселлерах" и в "популярное", то это тоже хорошо сделать виджетом, который ты потом везде просто вызываешь.
Вообще виджет - это цельный часто повторяющийся кусок кода, который служит, в соновном, для вывода инфы.
0

#7 User is offline   patison 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 23
  • Joined: 26-April 09

Posted 27 April 2009 - 02:58 AM

Так-с. ну насчёт виджета я понял. оч доходчиво объяснил, за что и спасибо =)
Возвращаясь к вопросам модулей... Получается что Новости (news) это по сути модуль? Однако тут получается что модуль работает немного по другому принципу нежели виджет, так ведь?
Т.е. если я виджет вызываю "руками" в определённом месте, то для новостей я сначала создаю модель и потом crud, и потом просто переделываю под свои нужды его views и всё. правильно я понял?
0

#8 User is offline   KJedi 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 381
  • Joined: 19-October 08
  • Location:Nikolaev, Ukraine (Europe)

Posted 27 April 2009 - 03:12 AM

Есть модуль в абстрактом смысле - модель, контроллер, представления (виды). А есть модуль в понятии фреймворка - это несколько контроллеров, моделей, представлений, объединенных некоторым общим смыслом. Например блог в ккорпоративной системе может быть таким модулем.
А если мы пишем сайт-блог, то там будут только "абстрактные" модули - несколько контроллеров, моделей, представлений.

В твоем простом случае, новости будут состоять из модели.ю контроллера и нескольких представлений. Это можно назвать модулем, но в Yii это та не называется :) Просто модель-контроллер-представление.
0

#9 User is offline   patison 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 23
  • Joined: 26-April 09

Posted 27 April 2009 - 03:47 AM

Ага, всё понял. Биг Сэнкс =)

зы всю жизнь писАл на голом пхп, однако щас начинаю понимать как я много терял не используя фреймворки =)
0

#10 User is offline   KJedi 

  • Advanced Member
  • PipPipPip
  • Yii
  • Group: Members
  • Posts: 381
  • Joined: 19-October 08
  • Location:Nikolaev, Ukraine (Europe)

Posted 27 April 2009 - 03:49 AM

Это нормально. Все так делают, почти все. Пройдет еще годик-другой и поймешь что и сайты - это не самое гениальное и денежное что есть :)
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users