Как работать с мобильными устройствами в Zend Framework? - PullRequest
8 голосов
/ 04 апреля 2011

Я взял на себя кошмар проекта! Я перемещаю очень плохо написанный сайт и медленно перемещаю его в приложение Zend Framework. К сожалению, у меня нет времени, чтобы сделать исправительную работу, чтобы сделать это даже терпимым (возможно, модель или два). Теперь мне сказали, что скоро будет мобильная версия сайта, и было предложено клонировать старый сайт и работать с этим. В попытке не работать над разными версиями одного и того же дерьма и купить себе какое-то время я предложил, чтобы сайт ZF справился со всем этим.

Является ли ужасной практикой использование Zend_Http_UserAgent для обнаружения, а затем просто загрузки альтернативного макета и содержимого?

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

Любые альтернативные предложения приветствуются!

Приветствия

Ответы [ 4 ]

12 голосов
/ 04 апреля 2011

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

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

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

3 голосов
/ 09 июля 2013

if (Zend_Http_UserAgent_Mobile :: match ($ _ SERVER ['HTTP_USER_AGENT'], $ _SERVER)) {

}

1 голос
/ 08 февраля 2016

Рекомендуемый способ для Zend / Magento:

$isUsingMobile =    Zend_Http_UserAgent_Mobile::match(
                            Mage::helper('core/http')->getHttpUserAgent(),
                            $_SERVER
                        );
    if($isUsingMobile)
    {   
        //Do something 
    }
    else
    {
            //Do something
    }

Возвращает либо true, либо false. Примечание: у вас должна быть библиотека userAgent внутри Zend / Http

1 голос
/ 25 марта 2013

Хорошей отправной точкой было бы взглянуть на адаптивные методы проектирования с помощью CSS. Существует множество учебных пособий, просто Google "Адаптивный дизайн", и, возможно, вы сможете изменить существующий макет.

...