вторник, 25 августа 2015 г.

Обновление PrestaShop с 1.4.4.0 до 1.6.1.1

Обновление PrestaShop довольно болезненная тема. Достаточно долгое время разработчики не уделяли особого внимания улучшению системы обновлений с версии на версию. Так, например, больше года (с 2012 до 2013) обновление с версии 1.4 было практически не возможно без правок базы данных. В данной статье разберем кратко, но по сути все об обновлении с версии stable 1.4.4.0 до версии stable 1.6.1.1 (от 20 августа 2015 года), без лишних слов. Обновление будет проходить в несколько этапов.
Будьте предельно внимательны в каждом вашем действии!
К сожалению, для обладателей версии 1.4.9 данная инструкция по обновлению не поможет, так как эта версия – “кривая” (попробуйте промежуточно обновиться до 1.4.10, этот вариант не пробовал). У этой версии на столько кривая БД, что если вы обновитесь, например, с 1.4.4 до 1.4.9, а потом до 1.4.11, то вы скорее всего не сможете обновиться до 1.5, потому что БД будет “испорчена”.
Так же для обновления по данной инструкции вам необходим хороший хостинг, в моем случае это hostland, самый гибкий из всех известных мне, функционал которого не нарушит ход обновления.
Размещение на локальных машинах я не рассматривал, все происходит online, на рабочих субдоменах.
В первой стабильной версии PrestaShop 1.5, а именно 1.5.0.17, у вас возможно еще будет поддерживаться шаблон с 1.4, но далее вам придется перетягивать его самостоятельно или нанимать верстальщика (это не дорого). Кроме того, для версии 1.6, стиль и позиционирование вашего прежнего шаблона скорее всего “древнее” и он (дизайн) вообще не актуален по современным меркам веб-дизайна. Рекомендую оставить от прежнего дизайна только цветовую гамму, если она у вас вообще правильно подобрана под тематику.
Еще один момент, существует мнение, что количество товаров влияет на ход обновления. Это миф, точнее почти миф. Особой разницы 10 товаров у вас в магазине или 100 тысяч – нет. Единственное влияние обновления оказывается в виде обузы (веса создаваемых файлов и время на их передачу). То есть тут играет роль время выполнения скрипта (нужно 60 сек) и максимально допустимое значение кэша (судя по графикам хватает и 50мб оперативки для скриптов). Добросовестные хостеры не ставят блокираторы, то есть даже если вы выйдете за порог максимального объема и времени, скрипт продолжит работать, но они накажут если у вас высокая нагрузка систематична. По этой причине я опять же рекомендую вам перейти на hostland, где на “просторах” лимит 256мб памяти, чего хватит с головой. Даже если вам потом будет чего-либо не хватать, вы сможете увеличить квоту на каждую отдельную услугу (будь то память (CPU), место на диске, время выполнения скриптов, количество единовременных соединений и прочее) не переходя на другой тариф. В общем этот хостинг очень гибкий и в то же время бюджетный, а главная их фишка во встроенном антивирусе для сайтов AI-Bolit.
Перед началом обновления переведите ваш основной сайт магазина в режим обслуживания. В админ панели пункт “настройки”, далее включить магазин – нет, сохранить.

Инструкция по обновлению PrestaShop с 1.4.4.0 до 1.6.1.1

  1. Скачиваем архивы нужных релизов:
  2. Обновление проходит с помощью последней версии модуля 1-click Upgrade. Если у вас уже был установлен этот модуль, то убедитесь, что он обновленный (а лучше удалите и установите новый).
  3. На хостинге создаем 3 субдомена: upgrade, upgrade2, upgrade3 (названия любые, удобные вам). Первый субдомен отвечает за минорное обновление с версии 1.4.4.0 до 1.4.11.1 stable и далее архивное обновление до 1.5.0.17 stable. Второй субдомен отвечает за минорное обновление с версии 1.5.0.17 stable до версии 1.5.6.3 stable. Третий субдомен отвечает за архивное обновление 1.5.6.3 stable до 1.6.1.1 stable. В итоге мы получаем три субдомена: на первом начальная версия 1.5, где возможно работает шаблон 1.4; на втором последняя версия 1.5; на третьем последняя на данный момент версия 1.6. Вы потом уже лично можете выбирать, какая для вас лучше (хотя, по-хорошему, документацию по движку и его версиях нужно читать заранее: тут по 1.5, тут по 1.6).
  4. Заходим в админку вашего, пока не обновленного сайта, в раздел бэкап. Создаем бэкап базы данных и скачиваем его себе. Именно так, а не через mysql экспорт!
  5. Переносим все файлы сайта в папку первого субдомена (upgrade), создаем и подключаем новую БД, меняем настройки (на хостинге в папке config файл sittings) под новую БД. Заливаем ранее скаченный бэкап БД в базу данных первого субдомена (через phpmyadmin, естественно, или аналог на вашем хостинге).
  6. Обновление до 1.4.11 stable. Заходим в админку субдомена upgrade.вашсайт.ру. Переходим в "Настройки", далее вкладка "SEO и URL". Изменяем адрес сайта с вашсайт.ру на upgrade.вашсайт.ру. Отключаем ЧПУ. Заходим в модуль 1-click Upgrade, в расширенные настройки обновления (Comenzar actualización) и выбираем минорное обновление (Menor Actualizacion) должна быть версия 1.4.11, жмем кнопку “сохранить”. Страница автоматически обновится. Запускаем обновление. Если выдает ошибку/ошибки во время обновления, значит вы сделали что-то не так и нажимайте “Rollback” (откат). Попробуйте обновить снова, возможно ошибка возникла лишь во время апдейта, то есть сервер немного “залип” во время обновления, hostland не залипает.
  7. Обновление до 1.5.0.17 stable. Заливаем скаченный архив релиза 1.5.0.17 в папку admin/autoupgrade/download (папка может называться и не admin, если вы меняли ее называние). Заходим в админку первого субдомена, нажимаем ctrl+F5, чтобы почистить кэш браузера. Опять заходим в модуль 1-click Upgrade, но теперь выбираем архивную версию 1.5.0.17 (archivo local), “сохранить”, начинаем обновление. Если выдает ошибку/ошибки во время обновления, значит вы сделали что-то не так и нажимайте “Rollback” (откат) и повторите заново этот шаг обновления (придется еще раз залить архив релиза в папку). Далее двигайте в порядке обратного исключения возможных ошибок в верх по списку инструкции. Проверьте, точно ли вы скачали релиз 1.5.0.17? А до этого точно минорное обновление было до 1.4.11? И так далее. В этом деле, как говорится, шаг влево – расстрел.
  8. Обновление до 1.5.6.3 stable. Заходим в админку, чистим кэш браузера и создаем бэкап базы данных. Кстати, чтобы включить сайт версии 1.5 нужно перейти в “Настройки” > “Maintance” и вы скорее всего увидите, насколько масштабно у вас “поехал” дизайн сайта. Когда просмотр закончили, двигаемся дальше, предварительно отключив сайт там же в “Maintance”. Файлы первого субдомена переносим в папку второго субдомена. Подключаем новую БД (в файле sittings на хостинге) и заливаем бэкап в новую БД (phpmyadmin). Заходим в админку и меняем адрес сайта с upgrade.вашсайт.ру на upgrade2.вашсайт.ру. Проверяем отключен ли ЧПУ. Меняем шаблон сайта на default! Заходим в модуль 1-click Upgrade и выполняем минорное обновление до 1.5.6.3. Если ошибки, повторяем все заново, но более внимательно. Если все ок, идем дальше.
  9. Обновление до 1.6.1.1 stable. Да в этом этапе, мы сразу прыгаем через несколько версий 1.6, так как первые вообще не адаптированы к переходу с 1.5. Приступаем. Заходим в админку, чистим кэш браузера и создаем бэкап базы данных. Файлы второго субдомена переносим в папку третьего субдомена (upgrade3). Заливаем ранее скаченный архив 1.6.1.1 Stable в папку admin/autoupgrade/download. Подключаем новую БД и заливаем бэкап в новую БД. Заходим в админку upgrade3.вашсайт.ру, изменяем адрес сайта (на upgrade3), проверяем выключен ли ЧПУ. Запускаем архивное обновление до 1.6. Если все ок, поздравляю вас! Теперь осталось лишь поменять шаблон на новый базовый и перетянуть на него ваш старый дизайн, хотя может пора сделать что-то новое? Если ошибки, то начинаем все заново.

Подводные камни.

  1. Ошибка 500 после обновления на 1.6. У вас не активирован ни один шаблон, подходящий для версии 1.6. В админке заходим в “Preferences” > “Настройки” > “Шаблоны”, пункт “Выбор шаблона для магазина” и выбираем default-bootstrap, сохранить.
  2. Изображения не работают. Для вызова изображений в версиях 1.5 и старше используется новая файловая система и именно по этому изображения будут выводиться с ошибкой. Чтобы исправить, заходим в админку, в “Preferences” > “Изображения” и пересоздаем изображения и да, это “не стыдно”)). Спасибо lugobor студии за разбор этой проблемы.
  3. Генерация графиков не работает. В версии 1.4 графики создаются модулем, который не поддерживаемым в версии старше 1.5. Его нужно просто удалить (если вы остались на 1.5), а в 1.6 будет уже совершенно другая система.
  4. Не работает импорт в 1.6. Белый экран (если у вас отключен дебаг) или Fatal error: Class ‘CacheFS’ not found in …/classes/cache/Cache.php on line 132 или 131. Заходим в папку config, в файл sittings, изменяем CacheFS на CacheFs. Импорт работает.
  5. Выгрузка (экспорт) товаров без короткого и полного описания. Выгрузка товаров начиная с версии 1.5 происходит с помощью SQL manager или как и в 1.4 напрямую из БД. Пример запроса для полного экспорта товаров описан тут. Дублирую код, вместо ps_ ваш префикс в БД.
  6. Таблицы в описании товара “слетели”. Да, это факт, обновиться с сохранением таблиц в описании простым способом не получится. Табличная разметка удаляется при минорном обновлении с 1.5.0.17 на 1.5.6.3. Можно полностью выгрузить товары из 1.5.0.17, но тогда вообще теряется смысл обновления. Обновление это ускоренный переход на другую версию – “в 1 клик” (на практике далеко он не один). Если у вас проблема с таблицами и вы не видите смысла магазина без них, то приступайте к выгрузке из 1.5.0.17. Пример выгрузки по ссылке в предыдущей проблеме.

Зачем обновляться?

  1. Начиная с версии 1.5 появляется встроенный SEO модуль для товаров, а не только для категорий. Теперь для каждого отдельного товара можно прописать meta теги, без дополнительных модулей!
  2. Генерация страниц работает быстрее, если в 1.4 в среднем около 1-2 секунд, то в 1.5 в среднем 0.3 секунды!
  3. Официальная интеграция с 1С доступна только обладателям интернет-магазинов на ядре PrestaShop 1.5 или 1.6.
  4. Вообще весь, хотя бы базовый, модульный функционал и соответственно возможности просто умопомрачительны. В 1.4 это в целом просто ничто, по сравнению с 1.5 и тем более 1.6.

среда, 24 июня 2015 г.

Иногда в старых черновиках можно найти что-то годное

Открываю глаза. Оглядываюсь и понимаю, что лежу на кушетке в больнице. Очертания комнаты размазаны, окружающие звуки приглушенные. Кажется, именно такие ощущения при контузии. Из дверей по палате в мою сторону идет врач. Он показывает мне планшет с надписью: “Мы сожалеем, но вы попали в катастрофу и оказались в другом времени. Ради вашего блага нам придется стереть вашу память.”
В панике и полном, апатичном не понимании происходящего, без эмоций смотрю на идеально белую стену, белый потолок, белый пол, на эту идеальную безжизненность. Полная пустота. Надежда на розыгрыш. Встать не позволяет ужасное головокружение. Тревога заполняет все мысли, разжигает страх. От стресса все вокруг меркнет, покидает сознание, спасение.
Яркий свет сквозь закрытые глаза. Такая безмятежность и легкость. Вялая утренняя сладость. Надо мной стоит мужчина в белом халате и, видимо, дождавшись моего пробуждения, сообщает:
– Доброе утро, вы попали в автомобильную катастрофу, но вы отделались испугом и пролежали у нас чуть больше суток.
Сердце начинает ускорять свой такт. Напряжение в висках.
– Доктор, мне кажется, я ничего не помню.
– Это бывает при сильном потрясении, все образуется.
Он натянуто улыбнулся и ушел из палаты. Оглядываясь по сторонам замечаю на тумбочке плеер. Определенно, это мой плеер. Видимо доктор прав, все не так плохо. Включаю плеер. Это ощущение непередаваемо, будто сверху рухнул необозримый водопад воспоминаний. Они льются и льются, сбивают друг друга. Каждое хочет внимания. Сколько радости, тепла, грусти, любви, надежд, страданий, одиночества, шума, улыбок, мечтаний… Музыка вернула мне жизнь. Жаль, что вокруг чужой мир.

среда, 17 июня 2015 г.

Воспоминания из другой вселенной


Все мы космонавты, фантастические путешественники. У нас есть свои космические корабли, которые могут отправить нас дальше мыслимых звезд. Садимся на этот одинокий корабль и в одно мгновение оказываемся так далеко. В этот миг мимо проносятся туманные облака, яркие вспышки разных цветов. Все сливается в стремительном потоке, в пелене. Она окутывает своим теплом, а внутри, где-то в сердце теплится крохотный огонек. Он притягивает к себе все тепло, все счастье и любовь, которые скрыты в этой бесконечности, в этой пелене памяти. За мгновение, этот, казалось бы, крохотный огонек достигает ошеломляющих размеров. Он превращает путешественника в метеор, который стремительно несется к своей цели. Еще мгновение и он врывается в новый мир. Пелена отступает вдаль и все вокруг обретает четкость, знакомые очертания, привычные краски. Наш корабль одним мгновением стер границы пространства и времени, чтобы каждый смог вновь ощутить самое приятное и теплое воспоминание.

воскресенье, 24 мая 2015 г.

#ГагаринаЛУЧШАЯ, а швед фикция на Евровидении 2015


Отгремело фееричное шоу евровидение 2015 и я не могу оставить это событие без внимания. Невероятное количество деталей, которые хочется отметить, но пройдусь по существу. Конечно же отсутствие Украины по причине “финансовые проблемы”. Под той же причиной отсутствовали конкурсанты от Турции, но если вы немного покопаетесь в интернете, то все встанет на свои законные места. Это законное место в этом году получила и страна проводившая конкурс евровидение 2015 – Австрия, получив 0 голосов. Причина это конечно же Кончита Вурст, чье лицо (которое я намеренно не буду тут размещать) не приемлемо в жизни и природе в частности. Именно это является первопричиной отсутствия Турции, и как основной лозунг “долой кончиту”.

Всё же стоит забыть, временно, неприятные моменты шоу евровидение 2015 и отдать должное лидерам, а именно второму месту – Полине Гагариной! Невероятное зрелище и мне трудно писать о той силе, эмоциональности, посылу, качестве исполнения, декорационной импровизации и прочим мелочам. Данному исполнению подходит лишь – ЭТО НАДО ВИДЕТЬ! Браво Полина! Бесподобная энергетика вложенная в самые нужные сейчас слова.

На третьем месте совершенно обычные теноры из Италии. Именно обычные, точно таких же теноров в Италии, да и во всем мире полно. Именно Италия является основоположником данного музыкального направления. В общем высокая оценка данных исполнителей обоснована в контексте качества, так как найти хороших теноров не трудно, если их туча. Но это точно не песня для евровидения, так как одним обычным голосом выиграть невозможно, хотя они были близко.
Победителем евровидения 2015 стал швед Монс Зелмерлев и я в шоке если честно. Да, конечно слышал про этот шум вокруг него, оценки его победы букмекеров, но какого черта!? У него средненький голос попсового певца, который выиграл за счет визуализации? Обалдеть, но это же в первую очередь конкурс песни, в котором зрители и жюри оценивают качество ГОЛОСА, а не выступления. Нарисованный светом уродец на стене теперь является путем к всеобщему признанию? Даже внешность у этого парня совершенно средненькая по сравнению с любыми пивцами и пивичками второсортного жанра. Прошлая победа Швеции в 2012 певицы Лорин была очевидна, в этом году какой-то бред. Главное что всем понятна одна из причин этого массового бреда, которая заключается в предвзятом отношении Европы к России. Ох и чуть не забыл фу фу фу швед там обнимашки устроил в конце с этим бородатым убожеством. Прям реально тошно стало. На секунду представил как оно обнимает Полину, и знаете такое ощущение, как будто всю страну заморали.

Полина была лучшей абсолютно во всем на конкурсе песни Евровидение 2015. Кстати я намеренно не слушал песню (полностью конечно, отрывки постоянно крутили везде, где только можно) до ее исполнения в финале конкурса, чтобы лично испытать те же чувства, что и большинство зрителей из других стран и это было прям круто круто круто! Кроме Гагариной я болел за Ирландию, которую представляла Молли Стерлинг, вот только она отборочный тур не прошла. Именно по этой причине отношение к евровидению 2015 у меня было и остается крайне скептическим.

Просто Гагарина ЛУЧШАЯ остальные конкурсанты массовка.

Популярное