Интеграция сайта на Opencart с CDN
Важно! Интеграция с нашим сервисом CDN в Opencart производится не с помощью модулей или плагинов, а путем изменения трех файлов по FTP/SSH. Вначале убедитесь, что у вас есть возможность подключиться к вашему сайту через FTP или SSH (туда, где лежат файлы сайта).
Оставьте заявку на подключение CDN или напишите нам в чате, указав ваш email, сайт и CMS. Наш менеджер создаст для вас учетную запись в личном кабинете cdnnow и настроит проект. Вы получите письмо с инструкцией и адресом вашего проекта в сети cdnnow!
Вы получили адрес проекта в CDN в виде userXXXXX.clients-cdnnow.ru.
Подключение CDN к Opencart версии 2.x
Подключение CDN к Opencart версии 3.x
Подключение CDN к Opencart версии 2.x
-
Обязательно сохраните резервную копию этих файлов вашего сайта:
/config.php
/catalog/model/tool/image.php
/catalog/view/theme/default/template/common/header.tpl
-
Редактируем файл
/config.php
, который находится в корне сайта. Здесь мы укажем адрес CDN.Добавьте в любом месте файла строку:
define('CDN_HTTPS_SERVER', 'https://userXXXXX.clients-cdnnow.ru/');
Подставьте вместо userXXXX адрес вашего проекта. Слэш в конце обязателен. Протокол https можно заменить на http в URL, если ваш сайт работает только по http.
-
Редактируем файл
/catalog/model/tool/image.php
(здесь мы будем задавать путь до изображений на сайте).Найдите в коде файла следующий фрагмент:
if ($this->request->server['HTTPS']) { return $this->config->get('config_ssl') . 'image/' . $new_image; } else { return $this->config->get('config_url') . 'image/' . $new_image; }
Замените его на этот фрагмент кода:
if (defined('CDN_HTTPS_SERVER') and ! empty(CDN_HTTPS_SERVER)) { return CDN_HTTPS_SERVER . 'image/' . $new_image; } else { if ($this->request->server['HTTPS']) { return $this->config->get('config_ssl') . 'image/' . $new_image; } else { return $this->config->get('config_url') . 'image/' . $new_image; } }
-
Редактируем файл
/catalog/view/theme/default/template/common/header.tpl
. Здесь определяются пути до стилей и скриптов. По умолчанию в этом файле прописаны относительные пути до этих файлов, начинающиеся с директорииcatalog
. Пример кода сайта до подключения CDN:Вставьте перед словом
catalog
код:<?php if (defined('CDN_HTTPS_SERVER') and ! empty(CDN_HTTPS_SERVER)) { echo CDN_HTTPS_SERVER; } ?>
Получится строка вида (скрипт подключен через CDN):
<script src="<?php if (defined('CDN_HTTPS_SERVER') and ! empty(CDN_HTTPS_SERVER)) { echo CDN_HTTPS_SERVER; } ?>catalog/view/javascript/jquery/jquery-2.1.1.min.js" type="text/javascript"></script>
Также поступите с остальными скриптами js и стилями css в этом файле.
- Загрузите измененные файлы по FTP и обновите страницу вашего сайта. Проверьте, что сайт отображается корректно.
-
Удостоверьтесь, что в HTML-коде сайта URL адреса до скриптов, стилей и изображений содержат адрес CDN.
На этом настройка Opencart 2.x завершена и CDN готов к использованию.
Подключение CDN к Opencart версии 3.x
-
Обязательно сохраните резервную копию этих файлов вашего сайта:
/config.php
/catalog/model/tool/image.php
/catalog/view/theme/default/template/common/header.twig
-
Редактируем файл
/config.php
, который находится в корне сайта. Здесь мы укажем адрес CDN.Добавьте в любом месте файла строку:
define('CDN_HTTPS_SERVER', 'https://userXXXXX.clients-cdnnow.ru/');
Подставьте вместо userXXXX адрес вашего проекта. Слэш в конце обязателен. Протокол https можно заменить на http, если ваш сайт работает только по http.
-
Редактируем файл
/catalog/model/tool/image.php
(здесь мы будем задавать путь до изображений на сайте)Найдите в коде файла следующий фрагмент:
if ($this->request->server['HTTPS']) { return $this->config->get('config_ssl') . 'image/' . $image_new; } else { return $this->config->get('config_url') . 'image/' . $image_new; }
Замените его на этот фрагмент кода:
if (defined('CDN_HTTPS_SERVER') and ! empty(CDN_HTTPS_SERVER)) { return CDN_HTTPS_SERVER . 'image/' . $image_new; } else { if ($this->request->server['HTTPS']) { return $this->config->get('config_ssl') . 'image/' . $image_new; } else { return $this->config->get('config_url') . 'image/' . $image_new; } }
Обратите внимание, если вы переходили с версии Opencart 2.x на 3.x, в этом файле поменялось написание переменной $image_new (в версии 2.x она называлась $new_image).
-
Редактируем файл
/catalog/view/theme/default/template/common/header.twig
(здесь определяются пути до стилей и скриптов).Обратите внимание, если вы переходили с версии Opencart 2.x на 3.x: в версии 3.х Opencart перешли с шаблонов tpl на twig, поэтому синтаксис относительно второй версии CMS изменится.
По умолчанию в этом файле прописаны относительные пути до js и css, начинающиеся с директории
catalog
.Пример кода сайта до подключения CDN:
Вставьте перед словом
catalog
код:{{ constant('CDN_HTTPS_SERVER') }}
Получится строка вида (скрипт подключен через CDN):
<script src="{{ constant('CDN_HTTPS_SERVER') }}catalog/view/javascript/jquery/jquery-2.1.1.min.js" type="text/javascript"></script>
Также поступите с остальными скриптами js и стилями css в этом файле.
- Загрузите измененные файлы по FTP и обновите страницу вашего сайта. Проверьте, что сайт отображается корректно.
-
Удостоверьтесь, что в HTML-коде сайта URL адреса до скриптов, стилей и изображений содержат адрес CDN.
На этом настройка Opencart 3.x завершена и CDN готов к использованию.
Если вы хотите использовать свой домен для подключения CDN вместо userXXXXX.clients-cdnnow.ru, то
следуйте инструкции по подключению вашего домена. В этом случае в файле /config.php
вместо строки:
define('CDN_HTTPS_SERVER', 'https://userXXXXX.clients-cdnnow.ru/');
втавьте строку:
define('CDN_HTTPS_SERVER', 'https://cdn.example-domain.ru/');
где cdn.example-domain.ru — ваш домен для CDN.