вторник, 1 января 2013 г.

Шаблоны в OpenCart

OpenCart построен на основе концепции MVC, но я бы ее переименовал в MTC, поскольку вид в опенкартовской реализации этой концепции – сущность совершенно пассивная. Это шаблон, который тупо заполняется данными сформированными контроллером. Даже расширение используется “tpl” как сокращение от template. Хотя по сути это обычный php. А внутри куча “echo $variable” в перемешку с HTML и JavaScript. Последний, к слову сказать, не грех бы отделить.

Насколько логична и интуитивно понятна программная реализация OpenCart, настолько же мозголомной является часть относящаяся к дизайну. Т.е. если в других CMS вы можете сварганить на чистом HTML “рыбу”, а затем вставить в нее куски кода, то здесь вам придется эту рыбу выпотрошить и раздербанить на кучу мелких шаблончиков. А чтобы понять из каких кусочков собирается конкретная страница – придется смотреть  не только на ее “маршрут”, но и заглянуть в код контроллера, который за этот маршрут отвечает и код его “детишек”. А может быть еще и в админскую часть магазина (некоторые модули имеют в настройках имя используемого шаблона).

Мысль: для упрощения работы по скрещиванию дизайна с магазином, дизайн нужно делать в виде набора SHTML файлов совпадающего по своей структуре с набором шаблонов. Т.е. обязательное требование к дизайнеру/верстальщику – наличие элементарных знаний SSI. Ну и естественно необходимо начать с описания этой самой структуры.