Moderator: madimar

Post by France2015 » Mon Feb 23, 2015 10:52 pm

Ragazzi buongiorno!

Sto iniziando a smanettare un po su OpenCart, in particolare sto cercando di creare nuove posizioni nel template ma mi da quest'errore quando aggiungo

Code: Select all

'common/content_middle',
in home.php

Nello specifico il codice è questo

Code: Select all

	$this->children = array(
			'common/column_left',
			'common/column_right',
			'common/content_top',
			'common/content_middle',
			'common/content_bottom',
			'common/footer',
			'common/header'
		);
"Notice: Error: Could not load controller common/content_middle! in /web/htdocs/www.miosito.com/home/opencart/vqmod/vqc ... roller.php on line 47"

Vi chiedo solo: è un errore noto o così sono troppo vago?
Ovviamente ho creato anche le relative pagine php e tpl...

Ci provo, spero non sia troppo vaga la domanda....
Grazie

Newbie

Posts

Joined
Mon Feb 16, 2015 7:13 pm

Post by raikage » Wed Feb 25, 2015 5:13 pm

se leggi bene ti dice could not load controller common/content_middle quindi hai un problema relativo al controller.
hai creato il controller content_middle?

https://www.opencartitalia.org
Consulenza,Sviluppo Extension per: Opencart,Magento,Prestahop,Wordpress,Ocart,Zencart,Joomla,Multimerch e SEO Specialist Certified

Info e Contatti

Image


User avatar
Active Member

Posts

Joined
Mon Jun 03, 2013 3:04 pm

Post by France2015 » Thu Feb 26, 2015 11:32 pm

a dire il vero non so...ho seguito un tutorial...sono completamente a digiuno della struttura di opencart, mi sono appena approcciato.

Come si crea?

Newbie

Posts

Joined
Mon Feb 16, 2015 7:13 pm

Post by raikage » Fri Feb 27, 2015 12:14 am

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.

https://www.opencartitalia.org
Consulenza,Sviluppo Extension per: Opencart,Magento,Prestahop,Wordpress,Ocart,Zencart,Joomla,Multimerch e SEO Specialist Certified

Info e Contatti

Image


User avatar
Active Member

Posts

Joined
Mon Jun 03, 2013 3:04 pm
Who is online

Users browsing this forum: No registered users and 8 guests