Nieuws module wordt niet getoond
Posted: Sun Dec 04, 2011 9:31 pm
Ik heb deze nieuws module gedownload:
http://www.opencart.com/index.php?route ... order=DESC
Het toevoegen in de ADMIN werkt na enkele modificaties goed. Daarna heb ik de module "geinstalleerd" en aan enkele layouts "toegevoegd", echter verschijnt de module niet in de frontend.
Toen ben ik in column_right.php aan het debuggen gegaan (dat is namelijk waar ik de module wil hebben). Daaruit is gebleken dat de "news_module" wel in de $extensions array zit, maar niet in de $modules array.
Deze worden als volgt opgehaald:
Daaruit concludeer ik dat er iets niet goed is geconfigureerd voor de module, echter ben ik er nog niet achter wat "config" hier nu precies is.
In de frontend / in de log zie ik geen errors behalve wanneer ik de module aan meer dan een layout toevoeg, dan komt de volgende error tevoorschijn:
"Warning: Invalid argument supplied for foreach() in catalog/controller/common/column_right.php on line 54"
Dit is opzich raar, want ook in de eerste layout zou deze error op moeten treden aangezien hier ($this->config->get($extension['code'] . '_module')) niets uit komt.
Door de config array te printen ben ik nog een stukje wijzer geworden, de news_module wordt namelijk op een iets andere manier gedefinieerd / geregisteerd dan bijvoorbeeld de gallery module:
Gallery:
[gallery_module] => Array ( [0] => Array ( [layout_id] => 15 [position] => content_bottom [status] => 1 [sort_order] => 10 ) )
News:
[news_module] => 0 [news_0_sort_order] => 10 [news_0_status] => 1 [news_0_position] => column_right [news_0_layout_id] => 4
Bij de nieuws module ontbreekt namelijk de Array definitie en die "0" hoort er volgens mij ook niet thuis.
Iemand hier die weet waar en hoe ik dit op kan lossen? Alvast bedankt.
http://www.opencart.com/index.php?route ... order=DESC
Het toevoegen in de ADMIN werkt na enkele modificaties goed. Daarna heb ik de module "geinstalleerd" en aan enkele layouts "toegevoegd", echter verschijnt de module niet in de frontend.
Toen ben ik in column_right.php aan het debuggen gegaan (dat is namelijk waar ik de module wil hebben). Daaruit is gebleken dat de "news_module" wel in de $extensions array zit, maar niet in de $modules array.
Deze worden als volgt opgehaald:
Code: Select all
$module_data = array();
$this->load->model('setting/extension');
$extensions = $this->model_setting_extension->getExtensions('module');
foreach ($extensions as $extension) {
//print_r($extension);
//echo "<br/><br/>";
$modules = $this->config->get($extension['code'] . '_module');
//print_r($modules);
//echo "volgende<br/><br/>";
if ($modules) {
foreach ($modules as $module) {
if ($module['layout_id'] == $layout_id && $module['position'] == 'column_right' && $module['status']) {
$module_data[] = array(
'code' => $extension['code'],
'setting' => $module,
'sort_order' => $module['sort_order']
);
}
}
}
}
In de frontend / in de log zie ik geen errors behalve wanneer ik de module aan meer dan een layout toevoeg, dan komt de volgende error tevoorschijn:
"Warning: Invalid argument supplied for foreach() in catalog/controller/common/column_right.php on line 54"
Dit is opzich raar, want ook in de eerste layout zou deze error op moeten treden aangezien hier ($this->config->get($extension['code'] . '_module')) niets uit komt.
Door de config array te printen ben ik nog een stukje wijzer geworden, de news_module wordt namelijk op een iets andere manier gedefinieerd / geregisteerd dan bijvoorbeeld de gallery module:
Gallery:
[gallery_module] => Array ( [0] => Array ( [layout_id] => 15 [position] => content_bottom [status] => 1 [sort_order] => 10 ) )
News:
[news_module] => 0 [news_0_sort_order] => 10 [news_0_status] => 1 [news_0_position] => column_right [news_0_layout_id] => 4
Bij de nieuws module ontbreekt namelijk de Array definitie en die "0" hoort er volgens mij ook niet thuis.
Iemand hier die weet waar en hoe ik dit op kan lossen? Alvast bedankt.