____Решил на досуге создать мобильную версию сайта. Столкнулся с несколькими проблемами. Опишу их по порядку, и возможное решение.
____Для примера, исходный сайт – site.ru. Буду называть его «десктопный».
____Сначала хотел сделать мобильную версию сайта по адресу m.site.ru. Но передумал, т.к. требуется еще одна лицензия. Поэтому сделал по адресу site.ru/mobile, а в настройках хостера сделал редирект с m.site.ru на site.ru/mobile. Таким образом, первая проблема решена.
____Скопировал в site.ru/mobile содержимое десктопного сайта, кроме папок admin, images и templates/admin. В файлах var_definition.php прописал ID сайтов. ID десктопного сайта – 1, ID мобильного – 2.
____В админке создал второй сайт. С помощью операции «Копировать настройки сайта» дублировал «Общие настройки» и «Настройки страницы», исправил адрес второго (мобильного) сайта на http://site.ru/mobile/. Возникла вторая проблема – настройки страниц в конструкторе не скопировались в новый сайт, пришлось все страницы заново настраивать. Не знаю, так задумано, или это баг… В общем, вторую проблему решил.
____Следующая проблема – редирект с десктопного сайта на мобильный при заходе с мобильного устройства с возможностью обратного перехода на десктопный. На выбор было два варианта – с помощью php, javascript и т.п., и с помощью htaccess. Выбрал второй вариант, возможность обратного перехода с мобильного сайта на десктопный организовал с помощью cookies. Мобильное устройство определяется по полям HTTP_ACCEPT и HTTP_USER_AGENT с помощью правил в htaccess.
____Четвертая проблема – отображение картинок. Чтобы не захламлять дисковое пространство дублированием картинок решил настроить htaccess мобильного сайта таким образом, чтобы картинки для мобильного сайта брались из папки images десктопного сайта.
____Сказано – сделано! Но радость была недолгой. Отображались только, скажем так, статичные изображения – логотип сайта, логотипы производителей, элементы оформления дизайна. Картинки товаров не отображались.
____Поковырявшись в скрипте, выяснил, что изображения формируются в image_show.php, т.к. возможно наложение водяного знака. Возможные варианты решения:
1. Править image_show.php, приписывая путь к десктопному сайту к каждой выборке изображения из базы.
2. Использовать полные пути к изображениям.
____Я выбрал второй вариант, прописал в базе полные пути для всех изображений товаров, а также скопировал папку images, кроме изображений товаров, ну и отменил изменения в htaccess.
____Возникла пятая проблема – изображение водяного знака не накладывается на изображение товара. Пробовал прописывать и полный путь к водяному знаку, и в папку images мобильного сайта его подсовывал, и игрался с галочкой «Использовать полный путь к изображениям» – так и не получилось наложить его. Видимо, нужно править image_show.php. Эта проблема пока не решена.
____Здесь же обнаружился баг – при клике на «Выбрать из загруженных» открывается папка images первого (десктопного) сайта, а не мобильного.
____Шестая проблема – пользователь, залогинившись на мобильном сайте, не видит свои заказы, сделанные в десктопном сайте. И наоборот. Решил небольшой правкой файла block_user_orders.php.
____Резюме:
Скрытый текст (вы должны войти под своим логином или зарегистрироваться и иметь 200 сообщение(ий)):У вас нет прав чтобы видеть скрытый текст, содержащийся здесь.
____В текущей версии (4.0.8) мобильную версию создать все-таки можно. Но хочется, чтобы разработчики уделили пристальное внимание этому моменту, устранили ошибки и упростили создание мобильной версии сайта, т.к. мобильный интернет становится доступнее и быстрее, а сами устройства - все более и более функциональными. Для снижения траффика можно удалить символы переноса строк и табуляции из шаблонов, а также сжать js-файлы.
Социальные закладки