MVC с другой презентацией - PullRequest
0 голосов
/ 28 января 2009

У меня есть сборка контроллера для веб-приложения с веб-презентацией. Но теперь мне нужно создать версию этого приложения для iphone (мобильного телефона).

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

  • 1 контроллер 2 просмотра: 2 разных действие (по одному на каждое представление). Но я могу есть много актино, что будет похоже, но не совсем. И пойдут будет проблема
  • 2 контроллера 1 просмотр на контроллер: 1 управлять обычной версией другие управляют мобильной версией.

Я открыт для других идей. Кстати, я использую Zend Framework.

Ответы [ 3 ]

0 голосов
/ 28 января 2009

Я бы предложил выводить представления в XML, а затем использовать соответствующий XSL-файл для преобразования их в полный или урезанный HTML-код в зависимости от целевого размера экрана. Я уверен, что вы можете постпроцессное представление, возвращаемое из контроллера в ZF. Только что проверил преобразование XML + XSL на iPhone моего друга, и оно отлично работает.

0 голосов
/ 29 января 2009

Вы должны определить Помощник действия ContextSwitch . Вам также понадобится способ распознавать запросы, сделанные с платформ iPhone.

0 голосов
/ 28 января 2009

Я думаю, что "RESTful" способ сделать это - использовать один и тот же URI (такой же контроллер / действие) и определить (из сеанса или путем просмотра заголовка агента пользователя), хотите ли вы визуализировать полная версия или мобильная версия.

Таким образом, у вас будет только один контроллер / действие, которое выглядит так:

class BlogController {
    function ShowPost() {
        if (IsMobile) { 
            View("PostWithComments_Mobile");
        } else {
            View("PostWithComments");
        }
    }
}

В зависимости от того, насколько вы контролируете фреймворк (я не знаю PHP и Zend), вы можете автоматически переключать его на другое представление в зависимости от того, существует ли мобильная версия и пользовательский агент.

Быстрый поиск в Google приводит ко многим образцам для обнаружения мобильных браузеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...