COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!

mesateri

Соучастники
  • Публикации

    1
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные пользователем mesateri

  1. Здравствуйте, хочу понять странность editSetting в  OPENCART.CMS ©Версия 2.3.0.2.3

     

    До этого любимой сборкой было ocStore 1,5,5,  сложностей не возникало, но  новые идеи хочется реализовать на 2,3

     

    Создал свою папку в  admin/controller/cripto  (пробую создать не Расширение, а подраздел, например как Маркетинг ), закинул контроллер setting.php, внутрь закинул код:

    Скрытый текст
    
    <?php
    
    class ControllerCriptoSetting extends Controller {
    	private $error = array();
    
    	public function index() {
    		$this->load->language('cripto/ru');
    
    		$this->document->setTitle($this->language->get('heading_title'));
    		
    		$this->load->model('setting/setting');
    		if (($this->request->server['REQUEST_METHOD'] == 'POST')) {
    			$this->model_setting_setting->editSetting('qwerty', $this->request->post);
    
    			$this->session->data['success'] = $this->language->get('text_success');
    
    		//	$this->response->redirect($this->url->link('extension/extension', 'token=' . $this->session->data['token'] . '&type=total', true));
    		}
    		
    		$data['heading_title'] = $this->language->get('heading_title');
    		$data['button_save'] = $this->language->get('button_save');
    		$data['button_cancel'] = $this->language->get('button_cancel');
    		$data['text_default'] = $this->language->get('text_default');
    		$data['text_newsletter'] = $this->language->get('text_newsletter');
    		$data['text_customer_all'] = $this->language->get('text_customer_all');
    		$data['text_customer'] = $this->language->get('text_customer');
    		$data['text_customer_group'] = $this->language->get('text_customer_group');
    		$data['text_affiliate_all'] = $this->language->get('text_affiliate_all');
    		$data['text_affiliate'] = $this->language->get('text_affiliate');
    		$data['text_product'] = $this->language->get('text_product');
    		$data['text_loading'] = $this->language->get('text_loading');
    		$data['entry_apikey'] = $this->language->get('entry_apikey');
    		$data['entry_apisecret'] = $this->language->get('entry_apisecret');
    		$data['entry_customer_group'] = $this->language->get('entry_customer_group');
    		$data['entry_customer'] = $this->language->get('entry_customer');
    		$data['entry_affiliate'] = $this->language->get('entry_affiliate');
    		$data['entry_product'] = $this->language->get('entry_product');
    		$data['entry_subject'] = $this->language->get('entry_subject');
    		$data['entry_message'] = $this->language->get('entry_message');
    
    		$data['help_customer'] = $this->language->get('help_customer');
    		$data['help_affiliate'] = $this->language->get('help_affiliate');
    		$data['help_product'] = $this->language->get('help_product');
    
    		$data['button_send'] = $this->language->get('button_send');
    		$data['button_cancel'] = $this->language->get('button_cancel');
    
    		$data['token'] = $this->session->data['token'];
    
    		$data['breadcrumbs'] = array();
    
    		$data['breadcrumbs'][] = array(
    			'text' => $this->language->get('text_home'),
    			'href' => $this->url->link('common/dashboard', 'token=' . $this->session->data['token'], true)
    		);
    
    		$data['breadcrumbs'][] = array(
    			'text' => $this->language->get('heading_title'),
    			'href' => $this->url->link('cripto/setting', 'token=' . $this->session->data['token'], true)
    		);
    		$data['action'] = $this->url->link('cripto/setting', 'token=' . $this->session->data['token'], true);
    		$data['cancel'] = $this->url->link('cripto/home', 'token=' . $this->session->data['token'], true);
    		
    		if (isset($this->request->post['key'])) {
    			$data['key'] = $this->request->post['key'];
    		} else {
    			$data['key'] = $this->config->get('qwerty');
    		}
    		if (isset($this->request->post['secret'])) {
    			$data['secret'] = $this->request->post['secret'];
    		} else {
    			$data['secret'] = $this->config->get('qwerty');
    		}
    
    		$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('cripto/setting', $data));
    	}
    
    }

     

    создал тпл файлик:

    Скрытый текст
    
    <?php echo $header; ?><?php echo $column_left; ?>
    <div id="content">
      <div class="page-header">
        <div class="container-fluid">
          <div class="pull-right">
            <button type="submit" form="form-review" data-toggle="tooltip" title="<?php echo $button_save; ?>" class="btn btn-primary"><i class="fa fa-save"></i></button>
            <a href="<?php echo $cancel; ?>" data-toggle="tooltip" title="<?php echo $button_cancel; ?>" class="btn btn-default"><i class="fa fa-reply"></i></a></div>
          <h1><?php echo $heading_title; ?></h1>
          <ul class="breadcrumb">
            <?php foreach ($breadcrumbs as $breadcrumb) { ?>
            <li><a href="<?php echo $breadcrumb['href']; ?>"><?php echo $breadcrumb['text']; ?></a></li>
            <?php } ?>
          </ul>
        </div>
      </div>
      <div class="container-fluid">
        <div class="panel panel-default">
          <div class="panel-heading">
            <h3 class="panel-title"><i class="fa fa-envelope"></i> <?php echo $heading_title; ?></h3>
          </div>
          <div class="panel-body">
            <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data"  id="form-review" class="form-horizontal">
              <div class="form-group to" id="key">
                <label class="col-sm-2 control-label" for="key"><span data-toggle="tooltip" title="<?php echo $help_customer; ?>"><?php echo $entry_apikey; ?></span></label>
                <div class="col-sm-10">
                  <input type="text" name="key" value="<?php echo $key; ?>" placeholder="<?php echo $entry_customer; ?>" id="key" class="form-control" />
                </div>
              </div>
              <div class="form-group to" id="secret">
                <label class="col-sm-2 control-label" for="input-customer"><span data-toggle="tooltip" title="<?php echo $help_customer; ?>"><?php echo $entry_apisecret; ?></span></label>
                <div class="col-sm-10">
                  <input type="text" name="secret" value="<?php echo $secret; ?>" placeholder="<?php echo $entry_customer; ?>" id="secret" class="form-control" />
                </div>
              </div>
    
            </form>
          </div>
        </div>
      </div>
    
    <?php echo $footer; ?>

     

    При сохранении в таблице oc_setting не создается qwerty

     

    Попробовал пойти другим путем, отключить POST

    if (($this->request->server['REQUEST_METHOD'] == 'POST') && $false)

    В  tpl вставил <?php print_r($_POST); ?>, чтобы посмотреть, что уходит с формы и там все нормально:

    Array ( [key] => 123 [secret] => 2ввыс )

     

    Что же не так? Натолкните на мысль, перелопать весь код магазина - полезно для развития, но может отнять много времени.

     

    Картинки, код и логи убирайте под спойлер.