У меня есть модуль с базовыми vallues.opencart 2 данные модуля в admin product_form
<?php
class ControllerModulemarginCosts extends Controller {
private $error = array();
public function uninstall() {
$this->db->query("DELETE FROM `" . DB_PREFIX . "setting` WHERE code='margin'");
}
public function index() {
$this->load->language('module/margincosts');
$this->document->setTitle($this->language->get('heading_title_m'));
$this->load->model('setting/setting');
if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) {
$this->model_setting_setting->editSetting('margin', $this->request->post);
$this->session->data['success'] = $this->language->get('text_success');
$this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'));
}
$text_array = array('heading_title','heading_title_m','text_module',
'text_success','text_enabled','text_disabled','text_edit',
'entry_margin_cal','entry_margin_def_margin','entry_margin_limit',
'entry_margin_limit_margin','entry_margin_tresh','entry_margin_tres_amount_cash','margin_tres_ceil','margin_tres_ceil_delim','margin_tres_ceil_trim',
'button_save','button_cancel','entry_margin_status',
'help_margin_cal','help_def_margin','help_margin_limit','help_margin_tresh','help_margin_tres_amount_cash','help_margin_limit_margin',
'entry_margin_tres_percentage','help_margin_tres_percentage','help_margin_tres_ceil',
'help_margin_tres_ceil_delim','help_margin_tres_ceil_trim','entry_margin_shipping', 'entry_margin_handling','entry_margin_packaging','entry_margin_cost2',
'help_margin_shipping', 'help_margin_handling','help_margin_packaging','help_margin_cost2',
);
foreach($text_array as $key){
$data[$key] = $this->language->get($key);
}
if (isset($this->error['warning'])) {
$data['error_warning'] = $this->error['warning'];
} else {
$data['error_warning'] = '';
}
$data['breadcrumbs'] = array();
$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_home'),
'href' => $this->url->link('common/home', 'token=' . $this->session->data['token'], 'SSL')
);
$data['breadcrumbs'][] = array(
'text' => $this->language->get('text_module'),
'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL')
);
$data['breadcrumbs'][] = array(
'text' => $this->language->get('heading_title_m'),
'href' => $this->url->link('module/margincosts', 'token=' . $this->session->data['token'], 'SSL')
);
$data['action'] = $this->url->link('module/margincosts', 'token=' . $this->session->data['token'], 'SSL');
$data['cancel'] = $this->url->link('module/margincosts', 'token=' . $this->session->data['token'], 'SSL');
$variables_array = array('margin_cal','margin_def_margin','margin_limit','margin_limit_margin','margin_tresh',
'margin_tres_amount_cash','margin_status','margin_tres_percentage','margin_tres_ceil',
'margin_tres_ceil_delim','margin_tres_ceil_trim','margin_shipping',
'margin_handling','margin_packaging','margin_cost2');
foreach($variables_array as $key){
if (isset($this->request->post[$key])) {
$data[$key] = $this->request->post[$key];
} else {
$data[$key] = $this->config->get($key);
}
}
$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->load->view('module/margincosts.tpl', $data));
}
private function validate() {
if (!$this->user->hasPermission('modify', 'module/margincosts')) {
$this->error['warning'] = $this->language->get('error_permission');
}
return !$this->error;
}
}
?>
Я хочу, чтобы эти vallues использовать в своей админ/product_form.php
Я добавил следующий код администратора/product_form.php
$this->load->controller('catalog/module/margincosts');
и
$variables_array = array('margin_cal','margin_def_margin','margin_limit','margin_limit_margin','margin_tresh',
'margin_tres_amount_cash','margin_status','margin_tres_percentage','margin_tres_ceil',
'margin_tres_ceil_delim','margin_tres_ceil_trim','margin_shipping',
'margin_handling','margin_packaging','margin_cost2');
foreach($variables_array as $key){
if (isset($this->request->post[$key])) {
$data[$key] = $this->request->post[$key];
}
}
Не допускайте ошибок, но также и никаких значений. Как получить данные модуля, загруженные в admin/product_form.php, поэтому я могу использовать их для расчета.
Вы не можете вызвать этот модуль в виде продукта. Вам необходимо интегрировать его вручную в виде продукта через vqmod или static. –
ОК. Спасибо. Я, вероятно, переписываю его лучше всего со значениями в БД, поэтому я могу получить их от них? –