Особенности установки CMS MODx Evo — SmallCard

Один мой хороший знакомый попросил сделать ему интернет-магазин. Проведя исследования рынка, я нашёл замечательный модуль для CMSMODxEvo — SmallCard. Удобен он тем, что в комплект поставки входит уже собранный добрыми людьми магазин, который достаточно залить на хостинг, провести некоторые настройки и всё готово. Т.е. с минимальными трудозатратами мы получаем нужный нам результат. Вот здесь можно скачать скрипты этого модуля http://www.smallcart.ru/skachat.html

Здесь же мы находим инструкцию по установке:

1. Устанавливаем MODx который идет в архиве.

2. Выставляемправаназапись (777) для:

/assets/modules/smallcart/tpl_c/
/assets/scimages/
/assets/scimages/categories/
/assets/scimages/categories/view/
/assets/scimages/products/
/assets/scimages/products/info/
/assets/scimages/products/org/
/assets/scimages/products/thumbnail/
/assets/scimages/products/zoom/

3. Выставляем в настройках ЧПУ без вложенности + настраиваем плагин TransAlias — русский

4. Заходим в Dumper (Админка — Модули — Резервное копирование БД — Восстановление БД из резервной копии) и импортируем дамп smallcart_*.sql

5. Важно! В файле config.inc.php  в строке $dbase = ‘`db_site`’;
необходимо убрать  — `
что бы получилось: в строке $dbase = ‘db_site’;

6. Очищаем кэш

Вроде всё здесь ясно. Но на практике при установке возникает целый ряд ошибок, который портит настроение и не даёт завершить проект.

Я хочу описать все трудности, с которыми мне пришлось столкнуться. И которые я конечно же героически поборол. 🙂

Итак, первый пункт инструкции.

1. Устанавливаем MODx который идет в архиве.

При установке MODx на одном из шагов требуется указать префикс базы данных. Этот префикс нужен для безопасности, чтобы враги не смогли догадаться, как называются таблицы в нашей базе. Обычно рекомендуется изменять стандартный префикс MODX_ на любой произвольный. Что я и сделал. Однако на на 4 пункте установке после импорта дампа выяснилось, что новый дамп содержит стандартный префикс. И в  БД возникла путаница. Короче говоря, это вариант не прокатывает и для корректной работы нужно оставлять стандартный префикс базы данных MODX. Иначе придётся (как пришлось и мне) заново устанавливать MODX.

Ошибка №1

« MODxParseError »MODxencounteredthefollowingerrorwhileattemptingtoparsetherequestedresource:
« PHP Parse Error »
PHP error debug
Error: include_once(C:/xampp/xampp/htdocs/—/assets/plugins/phx/phx.parser.class.inc.php) [function.include-once]: failed to open stream: No such file or directory
Error type/ Nr.: Warning — 2
File: /var/home/natur/htdocs/manager/includes/document.parser.class.inc.php(746): eval()’d code
Line: 9
Parser timing
MySQL: 0.0029 s (6 Requests)
PHP: 0.0029 s
Total: 0.0059 s

Проблема в неверном пути для файл-менеджера. Заходим в

Инструменты —> Конфигурация —> Файл-менеджер —> Путь для файл-менеджера

Находим кнопку «Сброс»
Нажимаем. Поле, в котором указан путь не изменилось. Не пугайтесь! На самом деле правильный путь прописался и всё стало хорошо.

Ошибка №2.

В шапке сайта одна из ссылок на корзину не работает. Проблема в неверном атрибуте ссылки. Href указывает на страницу cart.html,  которой у нас не существует. Заходим в редактирование чанка bscart-header.

Находи там строку <a href=»cart.html»><h4>Корзина</h4></a>

и заменяем на

<a href=»korzina.html»><h4>Корзина</h4></a>

Ошибка №3.

error

Изображение ошибки №3

« MODx Parse Error »MODx encountered the following error while attempting to parse the requested resource:
« PHP Parse Error »PHP error debug
Error:    strlen() expects parameter 1 to be string, array given
Error type/ Nr.:       Warning — 2
File:             /home/f/firmadubru/public_html/assets/modules/smallcart/tpl_c/62cb7e5be4fc9250edac3883e213713a4073e75d.file.product_view_smarty.tpl.php
Line:     220
Line 220 source:      getVariable(‘data’)->value[‘product_images’])>0){?>

Очевидно, что ошибка в шаблоне Smarty при вызове данных о количестве изображений товара. Функция strlen обращается к массиву, как к элементу массива. Мы будем использовать функцию count(), которая как раз и предназначена для определения длинны массива. Фиксим ошибку.

Открываем файл /assets/modules/smallcard/tpl/view/product_view_smarty.tpl

Находим там строку №150

Заменяем

{if strlen($data.product_images)>0}

на

{if (count($data.product_images))>0}

Ну вот и всё — магазин готов к работе. Осталось немного поработать над дизайном. Но это уже  совсем  другая история.

Один комментарий на “Особенности установки CMS MODx Evo — SmallCard
  1. Просто восхитительно))) Это бомба, а не статься. Очень нужен готовый магазин на модекс, думал скачаю сборку, поработаю над дизайном и вуаля.. Аннеет… Уперся в кучу ошибок. Если с первой разобрался, то с остальными бы, вероятно сам не смог бы. ОГРОМНОЕ спасибо за такой спасительный пост!!!!

Добавить комментарий

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

пятнадцать + семь =