К сожалению я не поддерживаю левые сборки, так как это имхо не правильный путь. Точнее путь в некуда. Когда есть официальные сборки нет надобности поддерживать левые сборки, совсем другое дело, когда официальная разработка прекратилась, тогда есть смысл поддерживать сообщество. А так, кто лучше знает, как должен двигаться продукт в следующей версии - правильно сам празработчик. Конечно левая сборка может выбрать полностью другой путь, но тогда это уже как говорится новая разработка. А ocStore - это всего лишь левая сборка.
Выходит новая версия и куда летят прошлые сборки - в некуда. Отсюда падает интерес поддержки левых сборок у самих разработчиков левых сброк. Итог? В конце концов разработчики левых сборок теряют интерес к этому (вспомните сколько было сборок для joomla? Вышла версия 1.5 и где они ... я б сказал, но может дети читают). Вот почему я, даже не тестировал на ocStore. И не буду. Пускай модули opencart для ocStore тестируют и переделывают сами разработчики ocStore (лучше бы занялись изменениями в архитектуре oc и повели отдельную ветку, чем просто делать сборки, на базе официальной (а официальная в части архитектуры - просто ужас -
http://ru.wikipedia.org/wiki/Model-View-Controller'>http://ru.wikipedia.org/wiki/Model-View-Controller"]http://ru.wikipedia.org/wiki/Model-View-Controller
Наиболее частые ошибки
Начинающие программисты (особенно в веб-программировании) очень часто трактуют архитектурную модель MVC как пассивную модель MVC. Тогда модель может быть исключительно совокупностью функций для доступа к данным, а контроллер — как элемент системы, содержит бизнес-логику. В результате код моделей по факту является средством получения данных из СУБД, а контроллер представляет собой типичный модуль, наполненный бизнес-логикой или скрипт в терминологии веб-программирования. В результате такого понимания MVC разработчики стали писать код, который известный в кругах Zend Framework сообщества разработчик Pádraic Brady охарактеризовал как ТТУК — «Толстые тупые уродливые контроллеры» (Fat Stupid Ugly Controllers ) Но в объектно-ориентированном программировании используется активная модель MVC, где модель это не только совокупность кода доступа к данным и СУБД, а вся бизнес-логика. В свою очередь контроллеры должны избавляться от логики приложения (бизнес-логики). Таким образом Контроллер становится «тонким» и выполняет исключительно функцию связующего звена (glue layer) между отдельными компонентами системы.).
А opencart - изначально ошибочная реализация архитектуры MVC.
Еще раз повторю и упрощу - контроллеры не хрена занть о логике не должны. Они просто связующее звено. Кстати оптимальный вариант вообще один тонкий контроллер. Тогда это избавит от избыточности и упростит архитектуру и отзывчивость системы (читаем скорость)
Кстати с примером реализации на викки я не согласен совсем (особенно мне понравилось имя класса class Krugozor_.. - а что так делают опытные программисты ;)?.
И на хуа (не кого не обидел? ;) , но из песни слов не выбросишь, потому как это написано на викки и "это" читают начинающие программисты) лепить в контроллер логику (в примере)...
$this->getView()->adverts = $list->getList();$this->getView()->pagination = $list->getPagination();
Извините но это уже логика (в zend тоже не боги сидят ;) ).
И в конце мне "понравилось": Модель ничего «не знает» о Представлении, а Контроллер не содержит в себе какой-либо бизнес-логики. Блин да знает уже! Контроллер уже знает о "нумерации страниц". (в примере) Это уже не тонкий контроллер! Контроллер должен быть своего рода только связующим звеном между ... ну например той же пагинацией.
Скорее модель - это модуль. А контроллер - не трожьте :)
(кстати на викки и написано: текущая версия страницы пока не проверялась опытными участниками)
P.S. На opencart 1.5.1.3 модуль (версия 3.02) работает.