Оптимизация скорости работы CS-Cart
Оптимизация скорости работы CS-Cart
01.02.2017
cover
Отзыв от Direct-aid.org
24.07.2017

Переустановка модуля в CS-Cart

ВНИМАНИЕ: данная статья не является руководством к действию. Компания Cart-Power не несет ответственности за  какие-либо проблемы, которые явились следствием действий согласно данной статье. Любые изменения, которые делает пользователь согласно данной статье, он делает на свой страх и риск. Мы настоятельно рекомендуем обращаться в службу поддержки для обновления модулей.
 

Когда нужно вносить изменения в модуль? 

 
Обычно внесение изменений в код модуля необходимо в следующих случаях: 
 
  1. в коде модуля исправлены ошибки
  2. в модуль добавлен новый функционал
  3. выпущена новая версия модуля для новой версии CS-Cart
 

Как можно обновить модуль?

 
Есть несколько вариантов того, как обновить модуль или внести в него изменения:
 
 
Каждый из способов имеет свои плюсы и минусы, о них подробнее в описании самих методов. Обращаем ваше внимание, что в описаниях методов обновлений указаны различные периоды времени. Эти периоды указаны приблизительно, в каждом случае необходимо уточнять детали у разработчика. Эти способы не требуют глубоких технических знаний, но в любом случае нужен опыт работы с платформой CS-Cart. Если вы не уверены, что сможете успешно выполнить все описанные ниже действия, лучше обратитесь к разработчику вашего модуля. Обновление модуля с помощью службы поддержки может потребовать некоторых финансовых затрат, но это гарантирует вам корректность внесения изменений, сохранность данных. Также, это сэкономит вам время и деньги, если после самостоятельного обновления модуля возникнут какие-либо сбои в работе магазина и вам придется обращаться в службу технической поддержки для устранения проблем. Связаться с нашей службой технической поддержки можно здесь.
 
ВНИМАНИЕ: перед переустановкой модуля всегда делайте резервную копию магазина и базы данных.  
 

Замена конкретных файлов на файлы из актуального пакета

 
С одной стороны, замена конкретных файлов - самый простой и быстрый способ внесения изменений. Обычно он применим только при устранении ошибок. Например, иногда достаточно заменить func.php или один из .tpl шаблонов модуля для решения проблемы. С другой стороны, если установленная в вашем магазине версия модуля не совпадает с текущей версией модуля, то замена одного или нескольких файлов может не только не решить проблему, но и добавить новые или даже вывести из строя весь магазин. Могут возникнуть конфликты старых и новых файлов, в логах на сайте появятся PHP Notice разного рода, некоторые страницы могут быть недоступны из-за PHP Error и т.п. Все очень индивидуально, пожалуйста, консультируйтесь с разработчиком модуля.
 
Этот способ рекомендуется только для тех, кто получил доступ к модулю (скачал и установил) буквально несколько дней назад (но не более 2 недель). Уточните у разработчика модуля, какие именно файлы нужно изменять, не нужно ли чистить кэш и т.п.
 
Файлы, отвечающие за функционал модуля, находятся в папках установочного архива: app/addons/название-модуля и js/addons/название-модуля
Файлы, отвечающие за внешний вид модуля в панели администратора, находятся в папках установочного архива: design/backend
Файлы, отвечающие за внешний вид модуля в витрине, находятся в папках установочного архива: var/themes_repository/responsive или var/themes_repository/basic
Файлы для изменения внешнего вида модуля необходимо переносить их в папку design/themes/название-активной-темы, например, design/themes/responsive
 

Замена всех файлов модуля без переустановки

 
Этот вариант используется, если решаются несколько проблем в модуле, например, и в функционале, и в дизайне, в магазинах, где модуль был установлен более месяца назад (точный период времени лучше уточнять у разработчика).
При замене файлов модуля имейте в виду, что: 
 
  • файлы, отвечающие за функционал модуля, находятся в папках установочного архива:  app/addons/название-модуля и js/addons/название-модуля
  • файлы, отвечающие за внешний вид модуля в панели администратора, находятся в папках установочного архива: design/backend
  • файлы, отвечающие за внешний вид модуля в витрине, находятся в папках установочного архива: var/themes_repository/responsive или var/themes_repository/basic
При переносе файлов, отвечающих за внешний вид модуля в витрине, необходимо переносить их в папку design/themes/название-темы
 
Помимо замены файлов необходимо также удалить неактуальные файлы. Здесь придется вручную сравнивать установочный архив модуля с файлами модуля в вашей установке. Обычно это касается контроллеров и хуков (папка app/addons) и шаблонов.
 
Кроме того, нельзя заменять файл app/addons/название-модуля/addon.xml, чтобы впоследствии не возникло проблем с удалением или переустановкой модуля.
 
При обновлении модуля таким методом данные, созданные с помощью модуля, настройки и т.п., останутся в сохранности.
 
После замены или удаления файлов необходимо очистить кэш установки и шаблонов и браузера.
 
Этот метод нельзя использовать для добавления нового функционала в модуль, так как могут возникнуть проблемы с базой данных и языковыми переменными (и то, и другое регулируется файлом addons.xml, активным только при установке / переустановке / удалении модуля в панели администратора).
 

Полная переустановка модуля

 
При этом методе вы гарантированно получите новый функционал модуля и исправление прежних ошибок, НО при переустановке модуля все данные модуля удаляются: настройки, дополнительные страницы, дополнительные изображения (баннеры, галереи), шаблоны писем и уведомлений, различные  комбинации товаров и т.п. После переустановки модуля все нужно будет создавать сначала. Есть один способ*, как этого избежать, но он работает в 50% случаев, о нем - в конце статьи. 
 
Схема полной переустановки модуля следующая: 
 
  1. удаляем модуль в панели администратора
  2. вручную удаляем файлы модуля из директорий: 
  • app/addons
  • js/addons (если есть)
  • design/backend
  • var/themes_repository/responsive
  • var/themes_repository/basic (если есть)
  1. чистим кэш
  2. скачиваем новый архив модуля 
  3. устанавливаем модуль по инструкции здесь
  4. настраиваем модуль с нуля (создаем данные заново, например, комплекты товаров, категории и статьи блога, галерею изображений и т.д. в зависимости от специфики переустановленного модуля.)

*Переустановка модуля без потери ранее созданных данных

 
За удаление (добавление) данных модуля из базы данных магазина отвечает код в файле app/addons/название-модуля/addon.xml. Этот код размещается между тегами queries. Структура этого кода и файла addon.xml в целом описана в официальной документации CS-Cart
 
Чтобы избежать потери данных во время переустановки можно временно вырезать код между тегами queries, сохранить изменения, переустановить модуль и обязательно добавить код обратно после завершения работы. ВНИМАНИЕ: если кода между тегами queries нет, существующие данные модуля не будут удалены, НО и новые данные, например, новые столбцы в таблицах или новые таблицы не будут добавлены. В некоторых случаях отсутствие этих полей и таблиц может вызвать проблемы с работой модуля или магазина в целом. Вы увидите в логах сайта или в инспекторе ошибки вида “не хватает такого-то поля в базе данных” и вам нужно будет вручную добавить необходимые поля и таблицы в базу данных, используя любой удобный способ: PHPMyAdmin, adminer.php и т.п.
 
Пользоваться этим способом рекомендуется только опытным пользователям CS-Cart, знакомым с работой с базами данных.
Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>