Zend Framework: как использовать MVC для нашего мобильного сайта - PullRequest
2 голосов
/ 04 мая 2011

Хорошо, у меня есть онлайн-заказ, это модуль, который я назвал «Оло». Теперь мне нужно создать мобильную версию нашего сайта, совершенно другого дизайна и дизайна.

Теперь, как мне использовать мощь MVC, которая продала меня, как только я начал?

Я хочу использовать все различные классы контроллеров, которые я уже создал в модуле OLO.

Прямо сейчас я начал разработку нашего мобильного веб-сайта, он размещен как еще один модуль под названием «мобильный». Это сборка с помощью jQuery Mobile, и я уже совсем немного сделал; информационные страницы, контактная форма и т. д.

Все мобильные устройства в настоящее время перенаправлены на domain.tld/m с .htacces mobile dectection . Это сделано для поддержки полного просмотра веб-сайта при наличии ссылки на мобильную версию.

Ответы [ 3 ]

4 голосов
/ 04 мая 2011

С Zend Framework 1.11 Zend представил адаптер wurfl , основанный на Zend_Http_UserAgent .

Позволяет обнаруживать мобильные устройства и загружать различные макеты. На сайте YouTube, который вышел с новостной рассылкой Zend за декабрь 2010 года, есть КАК ТО: http://www.youtube.com/watch?v=_A8yg73tqOY

Вам не нужно использовать разные модули! Просто разные файлы макетов!

3 голосов
/ 04 мая 2011

Как и в ArtWorkAD, вы можете использовать в Zend Framework 1.11 адаптер wurfl, который позволяет обнаруживать пользовательский агент и переключать макет, но это означает, что каждый из вас должен быть «универсальным».До сих пор я никогда не пользовался таким «универсальным» представлением.

То, что вы можете использовать, это ContextSwitch для представления http://framework.zend.com/manual/en/zend.controller.actionhelpers.html#zend.controller.actionhelpers.contextswitch

Это позволяет вам создавать другой контекст, обычно его используют для создания CSV./ XML-файл.Допустим, у вас есть контроллер с именем Index с действием FooAction (), я предполагаю, что у вас уже есть представление scripts / index / foo.phtml

Вы можете создать контекст с именем "mobile", который позволит вамсоздать представление для этого контекста, например, scripts / index / foo.mobile.phtml.Это похоже на изменение макета, но для представления и с помощью предыдущего адаптера wurfl вы можете изменить макет для автоматического переключения контекста.

3 голосов
/ 04 мая 2011

Лично я бы использовал плагин фронт-контроллера.Делать это внутри начальной загрузки - слишком ранний шаг в процессе для моей заботы.

Напишите плагин, который перехватывает preDispatch () и использует Zend_Http_UserAgent, чтобы определить, осуществляется ли доступ к приложению через мобильное устройство.Затем вы можете установить путь к скрипту вида в другой каталог.Например, допустим, default - это ваш текущий каталог просмотра, mobile - ваш новый каталог просмотра.Вы просто клонируете структуру и изменяете файлы, и это должно сработать :)

application/
  modules/
    olo/
      controllers/
      modules/
      views/
         scripts/
           default/
           mobile/
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...