2016-05-19 13 views
1

Ich entwickle ein Modul für opencart 2.2.0.0 und ich habe einige der grundlegenden Funktionen kopiert, aber meins funktioniert nicht.Opencart Produkte im Admin Panel hinzufügen

Ich kam zu dem Punkt, wo die Ansicht die Produktform anzeigt, aber im Originalmodul werden die Produkte angezeigt, die verfügbar sind und mit meinem Modul nicht.

Originalcode von Admin:

-Controller

class ControllerModuleFeatured extends Controller { 
private $error = array(); 

public function index() { 
    $this->load->language('module/featured'); 

    $this->document->setTitle($this->language->get('heading_title')); 

    $this->load->model('extension/module'); 

    if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { 
     if (!isset($this->request->get['module_id'])) { 
      $this->model_extension_module->addModule('featured', $this->request->post); 
     } else { 
      $this->model_extension_module->editModule($this->request->get['module_id'], $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'], true)); 
    } 

    $data['heading_title'] = $this->language->get('heading_title'); 

    $data['text_edit'] = $this->language->get('text_edit'); 
    $data['text_enabled'] = $this->language->get('text_enabled'); 
    $data['text_disabled'] = $this->language->get('text_disabled'); 

    $data['entry_name'] = $this->language->get('entry_name'); 
    $data['entry_product'] = $this->language->get('entry_product'); 
    $data['entry_limit'] = $this->language->get('entry_limit'); 
    $data['entry_width'] = $this->language->get('entry_width'); 
    $data['entry_height'] = $this->language->get('entry_height'); 
    $data['entry_status'] = $this->language->get('entry_status'); 

    $data['help_product'] = $this->language->get('help_product'); 

    $data['button_save'] = $this->language->get('button_save'); 
    $data['button_cancel'] = $this->language->get('button_cancel'); 

    if (isset($this->error['warning'])) { 
     $data['error_warning'] = $this->error['warning']; 
    } else { 
     $data['error_warning'] = ''; 
    } 

    if (isset($this->error['name'])) { 
     $data['error_name'] = $this->error['name']; 
    } else { 
     $data['error_name'] = ''; 
    } 

    if (isset($this->error['width'])) { 
     $data['error_width'] = $this->error['width']; 
    } else { 
     $data['error_width'] = ''; 
    } 

    if (isset($this->error['height'])) { 
     $data['error_height'] = $this->error['height']; 
    } else { 
     $data['error_height'] = ''; 
    } 

    $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('text_module'), 
     'href' => $this->url->link('extension/module', 'token=' . $this->session->data['token'], true) 
    ); 

    if (!isset($this->request->get['module_id'])) { 
     $data['breadcrumbs'][] = array(
      'text' => $this->language->get('heading_title'), 
      'href' => $this->url->link('module/featured', 'token=' . $this->session->data['token'], true) 
     ); 
    } else { 
     $data['breadcrumbs'][] = array(
      'text' => $this->language->get('heading_title'), 
      'href' => $this->url->link('module/featured', 'token=' . $this->session->data['token'] . '&module_id=' . $this->request->get['module_id'], true) 
     ); 
    } 

    if (!isset($this->request->get['module_id'])) { 
     $data['action'] = $this->url->link('module/featured', 'token=' . $this->session->data['token'], true); 
    } else { 
     $data['action'] = $this->url->link('module/featured', 'token=' . $this->session->data['token'] . '&module_id=' . $this->request->get['module_id'], true); 
    } 

    $data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], true); 

    if (isset($this->request->get['module_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { 
     $module_info = $this->model_extension_module->getModule($this->request->get['module_id']); 
    } 

    $data['token'] = $this->session->data['token']; 

    if (isset($this->request->post['name'])) { 
     $data['name'] = $this->request->post['name']; 
    } elseif (!empty($module_info)) { 
     $data['name'] = $module_info['name']; 
    } else { 
     $data['name'] = ''; 
    } 

    $this->load->model('catalog/product'); 

    $data['products'] = array(); 

    if (!empty($this->request->post['product'])) { 
     $products = $this->request->post['product']; 
    } elseif (!empty($module_info['product'])) { 
     $products = $module_info['product']; 
    } else { 
     $products = array(); 
    } 

    foreach ($products as $product_id) { 
     $product_info = $this->model_catalog_product->getProduct($product_id); 

     if ($product_info) { 
      $data['products'][] = array(
       'product_id' => $product_info['product_id'], 
       'name'  => $product_info['name'] 
      ); 
     } 
    } 

    if (isset($this->request->post['limit'])) { 
     $data['limit'] = $this->request->post['limit']; 
    } elseif (!empty($module_info)) { 
     $data['limit'] = $module_info['limit']; 
    } else { 
     $data['limit'] = 5; 
    } 

    if (isset($this->request->post['width'])) { 
     $data['width'] = $this->request->post['width']; 
    } elseif (!empty($module_info)) { 
     $data['width'] = $module_info['width']; 
    } else { 
     $data['width'] = 200; 
    } 

    if (isset($this->request->post['height'])) { 
     $data['height'] = $this->request->post['height']; 
    } elseif (!empty($module_info)) { 
     $data['height'] = $module_info['height']; 
    } else { 
     $data['height'] = 200; 
    } 

    if (isset($this->request->post['status'])) { 
     $data['status'] = $this->request->post['status']; 
    } elseif (!empty($module_info)) { 
     $data['status'] = $module_info['status']; 
    } else { 
     $data['status'] = ''; 
    } 

    $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/featured', $data)); 
} 

protected function validate() { 
    if (!$this->user->hasPermission('modify', 'module/featured')) { 
     $this->error['warning'] = $this->language->get('error_permission'); 
    } 

    if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 64)) { 
     $this->error['name'] = $this->language->get('error_name'); 
    } 

    if (!$this->request->post['width']) { 
     $this->error['width'] = $this->language->get('error_width'); 
    } 

    if (!$this->request->post['height']) { 
     $this->error['height'] = $this->language->get('error_height'); 
    } 

    return !$this->error; 
} 
} 

Ansicht

<?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-featured" 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"> 
    <?php if ($error_warning) { ?> 
    <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_warning; ?> 
     <button type="button" class="close" data-dismiss="alert">&times;</button> 
    </div> 
    <?php } ?> 
    <div class="panel panel-default"> 
     <div class="panel-heading"> 
     <h3 class="panel-title"><i class="fa fa-pencil"></i> <?php echo $text_edit; ?></h3> 
     </div> 
     <div class="panel-body"> 
     <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-featured" class="form-horizontal"> 
      <div class="form-group"> 
      <label class="col-sm-2 control-label" for="input-name"><?php echo $entry_name; ?></label> 
      <div class="col-sm-10"> 
       <input type="text" name="name" value="<?php echo $name; ?>" placeholder="<?php echo $entry_name; ?>" id="input-name" class="form-control" /> 
       <?php if ($error_name) { ?> 
       <div class="text-danger"><?php echo $error_name; ?></div> 
       <?php } ?> 
      </div> 
      </div>   
      <div class="form-group"> 
      <label class="col-sm-2 control-label" for="input-product"><span data-toggle="tooltip" title="<?php echo $help_product; ?>"><?php echo $entry_product; ?></span></label> 
      <div class="col-sm-10"> 
       <input type="text" name="product_name" value="" placeholder="<?php echo $entry_product; ?>" id="input-product" class="form-control" /> 
       <div id="featured-product" class="well well-sm" style="height: 150px; overflow: auto;"> 
       <?php foreach ($products as $product) { ?> 
       <div id="featured-product<?php echo $product['product_id']; ?>"><i class="fa fa-minus-circle"></i> <?php echo $product['name']; ?> 
        <input type="hidden" name="product[]" value="<?php echo $product['product_id']; ?>" /> 
       </div> 
       <?php } ?> 
       </div> 
      </div> 
      </div> 
      <div class="form-group"> 
      <label class="col-sm-2 control-label" for="input-limit"><?php echo $entry_limit; ?></label> 
      <div class="col-sm-10"> 
       <input type="text" name="limit" value="<?php echo $limit; ?>" placeholder="<?php echo $entry_limit; ?>" id="input-limit" class="form-control" /> 
      </div> 
      </div> 
      <div class="form-group"> 
      <label class="col-sm-2 control-label" for="input-width"><?php echo $entry_width; ?></label> 
      <div class="col-sm-10"> 
       <input type="text" name="width" value="<?php echo $width; ?>" placeholder="<?php echo $entry_width; ?>" id="input-width" class="form-control" /> 
       <?php if ($error_width) { ?> 
       <div class="text-danger"><?php echo $error_width; ?></div> 
       <?php } ?> 
      </div> 
      </div> 
      <div class="form-group"> 
      <label class="col-sm-2 control-label" for="input-height"><?php echo $entry_height; ?></label> 
      <div class="col-sm-10"> 
       <input type="text" name="height" value="<?php echo $height; ?>" placeholder="<?php echo $entry_height; ?>" id="input-height" class="form-control" /> 
       <?php if ($error_height) { ?> 
       <div class="text-danger"><?php echo $error_height; ?></div> 
       <?php } ?> 
      </div> 
      </div> 
      <div class="form-group"> 
      <label class="col-sm-2 control-label" for="input-status"><?php echo $entry_status; ?></label> 
      <div class="col-sm-10"> 
       <select name="status" id="input-status" class="form-control"> 
       <?php if ($status) { ?> 
       <option value="1" selected="selected"><?php echo $text_enabled; ?></option> 
       <option value="0"><?php echo $text_disabled; ?></option> 
       <?php } else { ?> 
       <option value="1"><?php echo $text_enabled; ?></option> 
       <option value="0" selected="selected"><?php echo $text_disabled; ?></option> 
       <?php } ?> 
       </select> 
      </div> 
      </div> 
     </form> 
     </div> 
    </div> 
    </div> 
    <script type="text/javascript"><!-- 
$('input[name=\'product_name\']').autocomplete({ 
    source: function(request, response) { 
     $.ajax({ 
      url: 'index.php?route=catalog/product/autocomplete&token=<?php echo $token; ?>&filter_name=' + encodeURIComponent(request), 
      dataType: 'json', 
      success: function(json) { 
       response($.map(json, function(item) { 
        return { 
         label: item['name'], 
         value: item['product_id'] 
        } 
       })); 
      } 
     }); 
    }, 
    select: function(item) { 
     $('input[name=\'product_name\']').val(''); 

     $('#featured-product' + item['value']).remove(); 

     $('#featured-product').append('<div id="featured-product' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" name="product[]" value="' + item['value'] + '" /></div>'); 
    } 
}); 

$('#featured-product').delegate('.fa-minus-circle', 'click', function() { 
    $(this).parent().remove(); 
}); 
//--></script></div> 
<?php echo $footer; ?> 

was zur Folge hat: enter image description here

Und hier ist mein Modul Code:

-Controller

class ControllerModulePopular extends Controller { 
    private $error = array(); 

public function index() { 
    $this->load->language('module/popular'); 
    $this->document->setTitle($this->language->get('heading_title')); 
    $this->load->model('extension/module'); 

    // Validate and check for errors 
    if (($this->request->server['REQUEST_METHOD'] == 'POST') && $this->validate()) { 
     if (!isset($this->request->get['module_id'])) { 
      $this->model_extension_module->addModule('popular', $this->request->post); 
     } else { 
      $this->model_extension_module->editModule($this->request->get['module_id'], $this->request->post); 
     } 

     $this->cache->delete('product'); 
     $this->session->data['success'] = $this->language->get('text_success'); 
     $this->response->redirect($this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL')); 
    } 

    // Set language 
    $data['heading_title'] = $this->language->get('heading_title'); 

    $data['text_edit'] = $this->language->get('text_edit'); 
    $data['text_enabled'] = $this->language->get('text_enabled'); 
    $data['text_disabled'] = $this->language->get('text_disabled'); 

    $data['entry_name'] = $this->language->get('entry_name'); 
    $data['entry_product'] = $this->language->get('entry_product'); 
    $data['entry_limit'] = $this->language->get('entry_limit'); 
    $data['entry_width'] = $this->language->get('entry_width'); 
    $data['entry_height'] = $this->language->get('entry_height'); 
    $data['entry_status'] = $this->language->get('entry_status'); 

    $data['help_product'] = $this->language->get('help_product'); 

    $data['button_save'] = $this->language->get('button_save'); 
    $data['button_cancel'] = $this->language->get('button_cancel'); 

    if (isset($this->error['warning'])) { 
     $data['error_warning'] = $this->error['warning']; 
    } else { 
     $data['error_warning'] = ''; 
    } 

    if (isset($this->error['name'])) { 
     $data['error_name'] = $this->error['name']; 
    } else { 
     $data['error_name'] = ''; 
    } 

    if (isset($this->error['width'])) { 
     $data['error_width'] = $this->error['width']; 
    } else { 
     $data['error_width'] = ''; 
    } 

    if (isset($this->error['height'])) { 
     $data['error_height'] = $this->error['height']; 
    } else { 
     $data['error_height'] = ''; 
    } 

    // Breadcrumbs 
    $data['breadcrumbs'] = array(); 
    $data['breadcrumbs'][] = array(
     'text' => $this->language->get('text_home'), 
     'href' => $this->url->link('common/dashboard', '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') 
    ); 

    if (!isset($this->request->get['module_id'])) { 
     $data['breadcrumbs'][] = array(
      'text' => $this->language->get('heading_title'), 
      'href' => $this->url->link('module/popular', 'token=' . $this->session->data['token'], 'SSL') 
     ); 
    } else { 
     $data['breadcrumbs'][] = array(
      'text' => $this->language->get('heading_title'), 
      'href' => $this->url->link('module/popular', 'token=' . $this->session->data['token'] . '&module_id=' . $this->request->get['module_id'], 'SSL') 
     );   
    } 

    // Setting the action variable depending upon the presence of module_id. 
    if (!isset($this->request->get['module_id'])) { 
     $data['action'] = $this->url->link('module/popular', 'token=' . $this->session->data['token'], 'SSL'); 
    } else { 
     $data['action'] = $this->url->link('module/popular', 'token=' . $this->session->data['token'] . '&module_id=' . $this->request->get['module_id'], 'SSL'); 
    } 

    $data['cancel'] = $this->url->link('extension/module', 'token=' . $this->session->data['token'], 'SSL'); 

    // If the module_id is present in URL and the action is not POST then this will fetch the module information based on the module_id. 
    if (isset($this->request->get['module_id']) && ($this->request->server['REQUEST_METHOD'] != 'POST')) { 
     $module_info = $this->model_extension_module->getModule($this->request->get['module_id']); 
    } 

    if (isset($this->request->post['name'])) { 
     $data['name'] = $this->request->post['name']; 
    } elseif (!empty($module_info)) { 
     $data['name'] = $module_info['name']; 
    } else { 
     $data['name'] = ''; 
    } 

    // Products 
    $this->load->model('catalog/product'); 

    $data['products'] = array(); 

    if (!empty($this->request->post['product'])) { 
     $products = $this->request->post['product']; 
    } elseif (!empty($module_info['product'])) { 
     $products = $module_info['product']; 
    } else { 
     $products = array(); 
    } 

    foreach ($products as $product_id) { 
     $product_info = $this->model_catalog_product->getProduct($product_id); 

     if ($product_info) { 
      $data['products'][] = array(
       'product_id' => $product_info['product_id'], 
       'name'  => $product_info['name'] 
      ); 
     } 
    } 
    // End products 

    if (isset($this->request->post['limit'])) { 
     $data['limit'] = $this->request->post['limit']; 
    } elseif (!empty($module_info)) { 
     $data['limit'] = $module_info['limit']; 
    } else { 
     $data['limit'] = 5; 
    } 

    if (isset($this->request->post['width'])) { 
     $data['width'] = $this->request->post['width']; 
    } elseif (!empty($module_info)) { 
     $data['width'] = $module_info['width']; 
    } else { 
     $data['width'] = 200; 
    } 

    if (isset($this->request->post['height'])) { 
     $data['height'] = $this->request->post['height']; 
    } elseif (!empty($module_info)) { 
     $data['height'] = $module_info['height']; 
    } else { 
     $data['height'] = 200; 
    }  

    if (isset($this->request->post['status'])) { 
     $data['status'] = $this->request->post['status']; 
    } elseif (!empty($module_info)) { 
     $data['status'] = $module_info['status']; 
    } else { 
     $data['status'] = ''; 
    } 

    // Loading the header, footer and column_left controller and then setting the output with the $data. Finally HTML will be constructed from the template/data. 
    $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/popular.tpl', $data)); 
} 

protected function validate() { 
    if (!$this->user->hasPermission('modify', 'module/popular')) { 
     $this->error['warning'] = $this->language->get('error_permission'); 
    } 

    if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 64)) { 
     $this->error['name'] = $this->language->get('error_name'); 
    } 

    if (!$this->request->post['width']) { 
     $this->error['width'] = $this->language->get('error_width'); 
    } 

    if (!$this->request->post['height']) { 
     $this->error['height'] = $this->language->get('error_height'); 
    } 

    return !$this->error; 
    } 
    } 

Ansicht

<?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-popular" 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"> 
    <?php if ($error_warning) { ?> 
    <div class="alert alert-danger"><i class="fa fa-exclamation-circle"></i> <?php echo $error_warning; ?> 
     <button type="button" class="close" data-dismiss="alert">&times;</button> 
    </div> 
    <?php } ?> 
    <div class="panel panel-default"> 
     <div class="panel-heading"> 
     <h3 class="panel-title"><i class="fa fa-pencil"></i> <?php echo $text_edit; ?></h3> 
     </div> 
     <div class="panel-body"> 
     <form action="<?php echo $action; ?>" method="post" enctype="multipart/form-data" id="form-popular" class="form-horizontal"> 
     <!-- Entry Name --> 
     <div class="form-group"> 
      <label class="col-sm-2 control-label" for="input-name"><?php echo $entry_name; ?></label> 
      <div class="col-sm-10"> 
       <input type="text" name="name" value="<?php echo $name; ?>" placeholder="<?php echo $entry_name; ?>" id="input-name" class="form-control" /> 
       <?php if ($error_name) { ?> 
       <div class="text-danger"><?php echo $error_name; ?></div> 
       <?php } ?> 
      </div> 
      </div> 
     <!-- Entry Name --> 
     <div class="form-group"> 
      <label class="col-sm-2 control-label" for="input-product"><span data-toggle="tooltip" title="<?php echo $help_product; ?>"><?php echo $entry_product; ?></span></label> 
      <div class="col-sm-10"> 
       <input type="text" name="product_name" value="" placeholder="<?php echo $entry_product; ?>" id="input-product" class="form-control" /> 
       <div id="featured-product" class="well well-sm" style="height: 150px; overflow: auto;"> 
       <?php foreach ($products as $product) { ?> 
       <div id="featured-product<?php echo $product['product_id']; ?>"><i class="fa fa-minus-circle"></i> <?php echo $product['name']; ?> 
        <input type="hidden" name="product[]" value="<?php echo $product['product_id']; ?>" /> 
       </div> 
       <?php } ?> 
       </div> 
      </div> 
      </div> 
     <!-- Entry Limit --> 
      <div class="form-group"> 
      <label class="col-sm-2 control-label" for="input-limit"><?php echo $entry_limit; ?></label> 
      <div class="col-sm-10"> 
       <input type="text" name="limit" value="<?php echo $limit; ?>" placeholder="<?php echo $entry_limit; ?>" id="input-limit" class="form-control" /> 
      </div> 
      </div> 
     <!-- Entry Limit --> 
      <div class="form-group"> 
      <label class="col-sm-2 control-label" for="input-width"><?php echo $entry_width; ?></label> 
      <div class="col-sm-10"> 
       <input type="text" name="width" value="<?php echo $width; ?>" placeholder="<?php echo $entry_width; ?>" id="input-width" class="form-control" /> 
       <?php if ($error_width) { ?> 
       <div class="text-danger"><?php echo $error_width; ?></div> 
       <?php } ?> 
      </div> 
      </div> 
      <div class="form-group"> 
      <label class="col-sm-2 control-label" for="input-height"><?php echo $entry_height; ?></label> 
      <div class="col-sm-10"> 
       <input type="text" name="height" value="<?php echo $height; ?>" placeholder="<?php echo $entry_height; ?>" id="input-height" class="form-control" /> 
       <?php if ($error_height) { ?> 
       <div class="text-danger"><?php echo $error_height; ?></div> 
       <?php } ?> 
      </div> 
      </div> 
      <div class="form-group"> 
      <label class="col-sm-2 control-label" for="input-status"><?php echo $entry_status; ?></label> 
      <div class="col-sm-10"> 
       <select name="status" id="input-status" class="form-control"> 
       <?php if ($status) { ?> 
       <option value="1" selected="selected"><?php echo $text_enabled; ?></option> 
       <option value="0"><?php echo $text_disabled; ?></option> 
       <?php } else { ?> 
       <option value="1"><?php echo $text_enabled; ?></option> 
       <option value="0" selected="selected"><?php echo $text_disabled; ?></option> 
       <?php } ?> 
       </select> 
      </div> 
      </div> 
     </form> 
     </div> 
    </div> 
    </div> 
    <script type="text/javascript"><!-- 
$('input[name=\'product_name\']').autocomplete({ 
    source: function(request, response) { 
     $.ajax({ 
      url: 'index.php?route=catalog/product/autocomplete&token=<?php echo $token; ?>&filter_name=' + encodeURIComponent(request), 
      dataType: 'json', 
      success: function(json) { 
       response($.map(json, function(item) { 
        return { 
         label: item['name'], 
         value: item['product_id'] 
        } 
       })); 
      } 
     }); 
    }, 
    select: function(item) { 
     $('input[name=\'product_name\']').val(''); 

     $('#featured-product' + item['value']).remove(); 

     $('#featured-product').append('<div id="featured-product' + item['value'] + '"><i class="fa fa-minus-circle"></i> ' + item['label'] + '<input type="hidden" name="product[]" value="' + item['value'] + '" /></div>'); 
    } 
}); 

$('#featured-product').delegate('.fa-minus-circle', 'click', function() { 
    $(this).parent().remove(); 
}); 
//--></script> 
</div> 
<?php echo $footer; ?> 

Warum bin ich Produkte zu wählen aus der Liste nicht in der Lage?

P.S. Entschuldigung für die langen Code-Beispiele, aber ich wusste nicht, was nötig ist, um mein Problem zu erklären.

Antwort

1

Sie haben eine Zeile Code in Controller-Datei verpasst,

unterhalb der Linie hinzufügen

$data['token'] = $this->session->data['token']; 

Above $this->load->model('catalog/product'); in Controller-Datei

+0

ich es dachte, vor ein paar Tagen, aber dank für die Überprüfung der Code!!! –

Verwandte Themen