2015-12-28 1 views
0

У меня есть модуль с базовыми 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, поэтому я могу использовать их для расчета.

+0

Вы не можете вызвать этот модуль в виде продукта. Вам необходимо интегрировать его вручную в виде продукта через vqmod или static. –

+0

ОК. Спасибо. Я, вероятно, переписываю его лучше всего со значениями в БД, поэтому я могу получить их от них? –

ответ

0

Изменить
$this->response->setOutput($this->load->view('module/margincosts.tpl', $data));
в
return $this->load->view('module/margincosts.tpl', $data);

и в вашем product_form.php добавить

$data['anyname'] = $this->load->controller('module/margincosts');

+0

Спасибо. Теперь я понимаю, что загрузчик изменился в OC 2. –

 Смежные вопросы

  • Нет связанных вопросов^_^