Готовый перевод First Things First: Opencart Check List / Opencart. C чего начать: How is the OpenCart framework structured?
Как OpenCart организован? / Как я добавляю/изменяю контент сайта?
OpenCart имитирует архитектуру MVC. Вы можете ознакомится подробней с MVC через гугл, а OpenCart же организован следующим образом:
OpenCart состоит из двух составляющих. "Админка" ("admin") и "Каталог" ("catalog"). Сразу видно за что каждая из частей приложения отвечает. Самое приятное, что обе составляющие имеют одинаковые функциональность и структуру. Существует также общий набор файлов, используемых обеими частями, и называемый "Библиотека" ("library"). Файлы в библиотеке используются для создания структур данных и глобальных переменных, необходимых для основы корзины, а также для вызова любой из общих функций.
Для простоты примера, я буду работать с каталогом.
Каждая из страниц, которую вы видите, состоит из трёх основных частей.
1. Контроллер
Это главный файл, в котором осуществляются вычисления, запросы к данным и прочая магия. Это так же то место, где переменным присваиваются значения, устанавливается язык и потом передаётся переменным отображения, что бы мы увидели результат. Файлы контроллера находятся в папке "controller" каталога и админки в зависимости от того, что вы собираетесь изменить.
2. Язык
Это то, где устанавливается язык. Языковые файлы состоят из пар "константа=значение". Имя константы используется в коде и никогда не меняется. Меняются только значения в соответствии с языком. Например:
АНГЛИЙСКИЙ: $_['text_review'] = 'Product Review';
ИСПАНСКИЙ: $_['text_review'] = 'De Revisión de Producto';
РУССКИЙ: $_['text_review'] = 'Обзор товара';
Заметьте, что левая часть (константа) не меняется. Меняется только значение для выбранного языка. Языковые файлы находятся в языковой папке.
3. Отображение
Оно относится к шаблонам или файлам tpl. Все переменные, передаваемые из контроллера в отображение могут быть использованы, что бы показать вычисления и функциональность. Например, если вы захотите отобразить значение "итого" для текущей корзины, то вам понадобится вычислить его и передать в отображение из контроллера. Несколько примеров:
$view->set('entry_page', $language->get('entry_page'));
// Присваивает переменной с именем "entry_page" значение,
// взятое из языкового файла и соответствующее константе
// с именем аналогичным имени переменной.
Файлы отображения находятся в папке темплейтов. Просто, не правда ли?
Соберём это всё вместе
Большинство файлов контроллеров имеют довольно интуитивные имена, например вот как они выглядят:
product.php = страница товара
cart.php = страница корзины
home.php = главная страница
Для начала мы изменим наш файл контроллера:
ПРАВИМ: catalog/controller/home.php
ИЩЕМ:
Код: Выбрать весь
$view->set('text_latest', $language->get('text_latest'));
ПОСЛЕ ДОБАВЛЯЕМ:
Код: Выбрать весь
$view->set('text_holiday', $language->get('text_holiday'));
ГОТОВО!
Теперь мы добавим это новое значение в наш языковый файл:
ПРАВИМ: catalog/language/english/controller/home.php
Затем мы создадим новую константу и присвоим ей значение
ИЩЕМ:
Код: Выбрать весь
$_['text_latest'] = 'Latest Products';
ПОСЛЕ ДОБАВЛЯЕМ:
Код: Выбрать весь
$_['text_holiday'] = 'Happy Holidays to your family from www.MySite.com!';
ГОТОВО!
И наконец мы добавим её в файл отображения
ПРАВИМ: catalog/template/default/content/home.tpl
ИЩЕМ:
Код: Выбрать весь
ДОБАВИТЬ ПОСЛЕ:
Код: Выбрать весь
ГОТОВО!
Теперь загрузите свою главную страницу и вы должны увидеть своё новое сообщение.
Это всё!
Переведено на Нотабеноиде
http://notabenoid.org/book/12910/41981
Настройки
Готово:
