Мне удалось сделать это следующим образом после прочтения ответа от Как получить продукты в формате JSON из OpenCart с помощью phonegap / jQueryMobile .
Из ajax я вызвал продукты / категорию напрямую, а не свою пользовательскую функцию внутри контроллера продукта / категории, как в вопросе, и когда я получил ответ, содержащий вывод html представления, я перезагрузилDiv я сделал в product / category.twig с этим HTML, используя jQuery.Ajax был
$(document).ready(function(){
$.ajax({
url: 'index.php?route=product/category&path=18&json',
type: 'get',
beforeSend: function() {
},
complete: function() {
},
success: function(data) {
console.log('success');
if (data.length > 0) {
console.log(data);
$('#mydiv').html(data);
}
}
});
});
, а код, который я добавил в product / category.php, был
if(isset($this->request->get['json'])) {
$this->response->setOutput($this->load->view('product/view_for_mydiv', $data));
} else {
$this->response->setOutput($this->load->view('product/category', $data));
}
Как вы можете заметить, я добавил div внутри product / category.twig под названием mydiv,который я поместил именно там, где я хотел, чтобы html шел, а затем я создал ветку с именем view_for_mydiv.twig в папке default / product / category /, html которой контроллер продукта / категории отправит обратно вместо своей общей ветки, когда увиделчто был сделан вызов AJAX.Div #mydiv, расположенный внутри category.twig, оборачивает html, который является тем же html, который создается, когда view_for_mydiv.twig используется для визуализации продукта / категории.