2013-06-09 2 views
-2

Я пытаюсь выяснить это в течение нескольких дней, но просто не могу решить головоломку. Я уже видел, что большинство команд sql находятся на стороне модели, но я не могу узнать, как они подключаются к представлению. В файлах моделей есть много «вставки», «обновлений» и т. Д., Но что вызывает их в файлах «Просмотр»? Как один соединяется с другим? Например, если вы сделаете окончательное подтверждение покупки, колонка количества товаров (очевидно) уменьшится. Я ПРИНИМАЮ, чтобы решить эту проблему. Благодаря!Как работает изменение базы данных в интерфейсе opencart?

ответ

1

OpenCart использует систему псевдо-MVC (Model View Controller). Модель получает данные, представление отображает ее с помощью шаблонов, а контроллер вызывает модель и передает данные в представление.

Если вы помните об этом, вы должны иметь возможность проследить его. Например, при взгляде на продукт, контроллер находится в:

catalog\controller\product\product.php 

Вид/шаблон здесь (для шаблона по умолчанию):

catalog\view\theme\default\template\product\product.tpl 

А если посмотреть в файле контроллера, он вызывает несколько моделей:

$this->load->model('catalog/category'); 
... 
$this->load->model('catalog/manufacturer'); 
... 
$this->load->model('catalog/product'); 
... 

С какой проблемой вы столкнулись?

+0

Спасибо большое @Revent! И да, это определенная проблема. Думаю, я нашел более ясным объяснение этого. Например, это код, который находится в каталоге \ model \ checkout \ order.php для вычитания количества купленного продукта. Итак, мой вопрос в том, где в представлении (tpl files) находится соответствующая кнопка или форма, которая запускает этот тип команды sql? –

+0

foreach ($ order_option_query-> rows as $ option) {$ this-> db-> query ("UPDATE". DB_PREFIX. "Product_option_value SET quantity = (quantity -". (Int) $ order_product ['quantity']. ") WHERE product_option_value_id = '". (Int) $ option [' product_option_value_id ']."' И subtract = '1' ");} –

+0

Можете ли вы отредактировать исходное сообщение и добавить этот код в форматированный, чтобы мы могли его прочитать? Благодарю. О, подождите, он закрыт - неважно. – Revent

-1

поскольку OpenCart не полный MVC он просто использует pseudeo MVC и в этой модели получить данные и просматривать его отображения с помощью шаблона и управления содержит бизнес-логику