[英]500 Internal Server Error while installing a rewritten OpenCart 1.5 module in OpenCart 2.0
我需要在OpenCart 2上安裝與OpenCart 1.5兼容的模塊。安裝成功,但是出現以下錯誤:間接修改OpenCart。 我試圖在admin/controller/modules/mymodule.php
重寫模塊的代碼。 應用以下代碼后,嘗試編輯模塊的設置時出現錯誤500。 可能出什么問題了,我在哪里弄錯了?
<?php
class ControllerModuleXDCategoryGroups extends Controller {
private $error = array();
public function index() {
$this->load->language('module/XDCategoryGroups');
$this->document->setTitle($this->language->get('heading_title'));
$this->load->model('setting/setting');
$this->load->model('catalog/category');
//VALUE ASSIGNMENT
$data=array();
$data['heading_title'] = $this->language->get('heading_title');
$data['error_warning'] = '';
$data['XD_settings_title'] = $this->language->get('XD_settings_title');
$data['text_image_manager'] = 'Upload Media';
$data['XD_title'] = $this->language->get('XD_title');
$data['XD_image'] = $this->language->get('XD_image');
$data['XD_category'] = $this->language->get('XD_category');
$data['button_save'] = $this->language->get('button_save');
$data['button_cancel'] = $this->language->get('button_cancel');
$data['token'] = $this->session->data['token'];
$data['action'] = $this->url->link('module/account', 'token=' . $this->session->data['token'], 'SSL');
$data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL');
//BREADCRUMBS
$data['breadcrumbs'] = array();
$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/home', 'token=' . $this->session->data['token'], 'SSL'),
'separator' => false
);
$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_module'),
'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'),
'separator' => ' :: '
);
$data['breadcrumbs'][] = array(
'text' => $this->language->get('heading_title'),
'href' => $this->url->link('module/google_talk', 'token=' . $this->session->data['token'], 'SSL'),
'separator' => ' :: '
);
//LAYOUT OPTIONS
$data['text_enabled'] = $this->language->get('text_enabled');
$data['text_disabled'] = $this->language->get('text_disabled');
$data['text_content_top'] = $this->language->get('text_content_top');
$data['text_content_bottom'] = $this->language->get('text_content_bottom');
$data['text_column_left'] = $this->language->get('text_column_left');
$data['text_column_right'] = $this->language->get('text_column_right');
$data['entry_code'] = $this->language->get('entry_code');
$data['entry_layout'] = $this->language->get('entry_layout');
$data['entry_position'] = $this->language->get('entry_position');
$data ['entry_status'] = $this->language->get('entry_status');
$data['entry_sort_order'] = $this->language->get('entry_sort_order');
$data['button_save'] = $this->language->get('button_save');
$data['button_cancel'] = $this->language->get('button_cancel');
$data['button_add_module'] = $this->language->get('button_add_module');
$data['button_remove'] = $this->language->get('button_remove');
$results = $this->model_catalog_category->getCategories(0);
//print_r($results);
foreach ($results as $result) {
$data['categories'][] = array(
'category_id' => $result['category_id'],
'name' => $result['name']
);
}
//SAVE OR GET LAYOUT OPTIONS
$data['modules'] = array();
if (isset($this->request->post['XDCategoryGroups_module'])) {
$data['modules'] = $this->request->post['XDCategoryGroups_module'];
} elseif ($this->config->get('XDCategoryGroups_module')) {
$data['modules'] = $this->config->get('XDCategoryGroups_module');
}
//SAVE OR GET BLOCKS
$data['blocks'] = array();
if (isset($this->request->post['XDCategoryGroupsBlocks'])) {
$data['blocks'] = $this->request->post['XDCategoryGroupsBlocks'];
} elseif ($this->config->get('XDCategoryGroupsBlocks')) {
$data['blocks'] = $this->config->get('XDCategoryGroupsBlocks');
}
//SAVE OR GET SETTINGS
//SET DEFAULTS
$data['XDSetting'] = array();
$data['XDSetting']['categoryLimit'] = '5';
$data['XDSetting']['blockHeight'] = '0';
$data['XDSetting']['titlePosition'] = 'belowImage';
$data['XDSetting']['titleLinks'] = 'inactive';
$data['XDSetting']['customCSSCode'] = '';
$data['XDSetting']['blockPadding'] = '';
$data['XDSetting']['blockPaddingLeft'] = '';
$data['XDSetting']['blockPaddingRight'] = '';
$data['XDSetting']['blockHeight'] = '';
if (isset($this->request->post['XDCategoryGroupsSetting'])) {
$data['XDSetting'] = $this->request->post['XDCategoryGroupsSetting'];
} elseif ($this->config->get('XDCategoryGroupsSetting')) {
$data['XDSetting'] = $this->config->get('XDCategoryGroupsSetting');
}
$this->load->model('design/layout');
$data['layouts'] = $this->model_design_layout->getLayouts();
$this->template = 'module/XDCategoryGroups.tpl';
/* $this->children = array(
'common/header',
'common/footer'
);*/
$data['header'] = $this->load->controller('common/header');
$data['column_left'] = $this->load->controller('common/column_left');
$data['footer'] = $this->load->controller('common/footer');
$this->response->setOutput($this->render(),$data);
//$this->response->setOutput($this->load->view($template, $data));
}
private function validate() {
if (!$this->user->hasPermission('modify', 'module/XDCategoryGroups')) {
$this->error['warning'] = $this->language->get('error_permission');
}
if (!$this->error) {
return true;
} else {
return false;
}
}
}
?>
在根文件夾中打開index.php
文件,並在最頂部添加以下代碼:
// Enables PHP error reporting
error_reporting(E_ALL);
ini_set('display_errors', 'On');
這將啟用完整的錯誤報告。 這也將顯示確切的錯誤和所涉及的代碼行。
如果無法從那里進行調試,請提供一些反饋並確保您包含錯誤消息。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.