tieni presente che OC lavora in mvcl quindi devi sempre creare un controller per ogni cosa che vuoi creare.
nel tuo caso probabilmente avrai omesso di inserire qualche line di codice.
perchè l'errore che ti da e che il sistema non riesce a caricare il controller del file content_middle nella cartella common.
adesso non saprei dirti cosa hai fatto e cosa non,visto che non hai postato nemmeno la guida che hai seguito.
se la posti ti possiamo anche aiutare.
ma cmq esistono dei moduli per fare questo
http://www.opencart.com/index.php?route ... h=position
controlla se hai creato nella cartella catalog/controller/common un file chiamato content_middle.php
se non lo hai lo devio creare :
quì sotto ti messo il codice corretto,prendi un file dalla cartella controller/common e rinominalo content_middle, dopo lo editi con notepad di windows e ci incolli tutto il codice che ti ho postato:
Code: Select all
<?php
class ControllerCommonContentMiddle extends Controller {
protected function index() {
$this->load->model('design/layout');
$this->load->model('catalog/category');
$this->load->model('catalog/product');
$this->load->model('catalog/information');
if (isset($this->request->get['route'])) {
$route = (string)$this->request->get['route'];
} else {
$route = 'common/home';
}
$layout_id = 0;
if ($route == 'product/category' && isset($this->request->get['path'])) {
$path = explode('_', (string)$this->request->get['path']);
$layout_id = $this->model_catalog_category->getCategoryLayoutId(end($path));
}
if ($route == 'product/product' && isset($this->request->get['product_id'])) {
$layout_id = $this->model_catalog_product->getProductLayoutId($this->request->get['product_id']);
}
if ($route == 'information/information' && isset($this->request->get['information_id'])) {
$layout_id = $this->model_catalog_information->getInformationLayoutId($this->request->get['information_id']);
}
if (!$layout_id) {
$layout_id = $this->model_design_layout->getLayout($route);
}
if (!$layout_id) {
$layout_id = $this->config->get('config_layout_id');
}
$module_data = array();
$this->load->model('setting/extension');
$extensions = $this->model_setting_extension->getExtensions('module');
foreach ($extensions as $extension) {
$modules = $this->config->get($extension['code'] . '_module');
if ($modules) {
foreach ($modules as $module) {
if ($module['layout_id'] == $layout_id && $module['position'] == 'content_middle' && $module['status']) {
$module_data[] = array(
'code' => $extension['code'],
'setting' => $module,
'sort_order' => $module['sort_order']
);
}
}
}
}
$sort_order = array();
foreach ($module_data as $key => $value) {
$sort_order[$key] = $value['sort_order'];
}
array_multisort($sort_order, SORT_ASC, $module_data);
$this->data['modules'] = array();
foreach ($module_data as $module) {
$module = $this->getChild('module/' . $module['code'], $module['setting']);
if ($module) {
$this->data['modules'][] = $module;
}
}
if (file_exists(DIR_TEMPLATE . $this->config->get('config_template') . '/template/common/content_middle.tpl')) {
$this->template = $this->config->get('config_template') . '/template/common/content_middle.tpl';
} else {
$this->template = 'default/template/common/content_middle.tpl';
}
$this->render();
}
}
?>
dopo averlo incollato salvi il file senza fare salva con nome ma solamente salva,e lo copy nel server nella cartella catalog/controller/common. se non hai fatto altri danni dovrebbe andare senza errori.