Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

zaloma

Новачок
  
  • Публікації

    9
  • З нами

  • Відвідування

Усі публікації користувача zaloma

  1. Здравствуйте, есть проблема с подпиской на рассылку. В компьютерной версии можно в поле ввести адрес и сохранить. А вот в мобильной версии в поле ничего ввести нельзя. Как можно это поправить?
  2. Здравствуйте. Только начал работать с opencart. Появилась необходимость сделать простой импорт из таблицы Excell. Видел кучу модулей экспорта и импорта, но они очень громосткие и не делают что нужно. Задача стоит такая: во-первых, прочитать из файла 2 столбца - с ean и с количеством товара, во-вторых, нужно сравнить ean из БД и файла. Если ean из файла=ean из БД, то количество в БД заменяем количеством из файла, если ean из файла нет БД, то надо вывести сообщение "Введите новый товар", если ean из БД нет в файле, то количество товара обнуляем. Попытался сделать, таким образом. Модель public function importExcelData($data,$man) { $ean_i = $data[0]; $kol_i = $data[1]; $ean_iz_db=array(); $query = $this->db->query("SELECT ean FROM " . DB_PREFIX . "product WHERE manufacturer_id=".$man.""); foreach ($query->rows as $result) { $ean_iz_db[]= $result['ean'];} if(in_array($data[0],$ean_iz_db)&&(isset($data[0]))){ $query = $this->db->query("UPDATE " . DB_PREFIX . "product SET quantity='".$data[1]."' WHERE ean='".$data[0]."' and manufacturer_id='".$man."'");} else { echo "Товара с ean ".$data[0]." нет в БД. Необходимо внести новый товар с ean ".$data[0]."<br>";} $arr=array(); $arr[]=$ean_i; foreach ($ean_iz_db as $ean_db){ if(!in_array($ean_db,$arr)&&(isset($arr))){ $query = $this->db->query("UPDATE " . DB_PREFIX . "product SET `quantity`='0' WHERE `ean`='".$ean_db."' and `manufacturer_id`='".$man."'"); } } } контроллер public function importExcel($filepath,$stolbec1,$stolbec) { $data['error_xml'] = ''; if ($this->request->server['REQUEST_METHOD'] == 'POST'){ $this->load->model('catalog/postavtchik'); $file = $_FILES['xls']['tmp_name']; $newname = 'file/'.$file; // проверяем, файл с таким названием уже есть на сервере if (!file_exists($newname)) { // переместить загруженный файл в новое место if ((move_uploaded_file($_FILES['file_path_excel']['tmp_name'],$newname))) { }} $man=$this->request->post['proiz_p[]']; $stolbec1=$this->request->post['ean_i']; $stolbec=$this->request->post['kol_i']; if (empty($file)) { $this->session->data['warning'] = 'Файл не выбран!'; } else { require_once ("Classes/PHPExcel.php"); $data['result'] = array(); $file_type = PHPExcel_IOFactory::identify( $filepath ); $objReader = PHPExcel_IOFactory::createReader( $file_type ); $objPHPExcel = $objReader->load( $filepath ); if ( (!empty($stolbec)) && (!empty($stolbec1)) ) { foreach ($objPHPExcel->getWorksheetIterator() as $worksheet) { //Имя таблицы $Title = $worksheet->getTitle(); //Последняя используемая строка $lastRow = $worksheet->getHighestRow(); //Последний используемый столбец $lastColumn = $worksheet->getHighestColumn(); //Последний используемый индекс столбца $lastColumnIndex = PHPExcel_Cell::columnIndexFromString($lastColumn); for ($row = 12; $row <= $lastRow; ++$row) { $val = $worksheet->getCellByColumnAndRow($stolbec, $row)->getValue(); $val1 = $worksheet->getCellByColumnAndRow($stolbec1, $row)->getValue(); $val=trim($val); $val1=trim($val1); $data['result'][]=array('ean'=>$val1,'kol'=>$val); }; } $this->model_catalog_product->importExcelData($data); } else { $data['error_xml'] += 'error'; } $this->session->data['success'] = 'Файл успешно загружен'; //success message } $this->response->redirect($this->url->link('catalog/postavtchik/importExcel', 'token=' . $this->session->data['token'], 'SSL')); } $this->document->setTitle('Import Excel'); $data['heading_title']="Import Excel"; // parsing up heading title $this->load->model('catalog/postavtchik'); // Loading the Model of Products $data['cancel'] = $this->url->link('catalog/postavtchik', 'token=' . $this->session->data['token'], 'SSL'); $data['action'] = $this->url->link('catalog/postavtchik/importExcel', 'token=' . $this->session->data['token'], 'SSL'); if (isset($this->session->data['warning'])) { $data['error_warning'] = $this->session->data['warning']; unset($this->session->data['warning']); } else { $data['error_warning'] = ''; } if (isset($this->session->data['success'])) { $data['success'] = $this->session->data['success']; unset($this->session->data['success']); } else { $data['success'] = ''; } // Breadcrumbs start here $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' => 'Товары', 'href' => $this->url->link('catalog/postavtchik', 'token=' . $this->session->data['token'], 'SSL') ); $data['breadcrumbs'][] = array( 'text' => 'ImportExcel', 'href' => $this->url->link('catalog/postavtchik/ImportExcel', 'token=' . $this->session->data['token'], 'SSL') ); $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('catalog/postavtchik_form.tpl', $data)); } вид <form action="<?php echo $action;?>" method="post" enctype="multipart/form-data" id="import" class="form-horizontal"> <div class="form-group"> <label class="col-sm-2 control-label" for="input-import"><?php echo $entry_vibor_proiz; ?></label> <div class="col-sm-10"> <?php foreach ($proizvoditeli as $proiz_p){?> <?php if(in_array($proiz_p['manufacturer_id'],$maspp)){?> <div class="checkbox"> <label><input type="radio" name="proiz_p[]" value="<?php echo $proiz_p['manufacturer_id']; ?>" /><?php echo $proiz_p['name']; ?></label> </div> <?php } }?> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label" for="input-upload"><?php echo $entry_upload; ?></label> <div class="col-sm-10"> <input type="file" name="xls"/> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label" for="input-ean"><?php echo $entry_ean; ?></label> <div class="col-sm-10"> <input type="text" name="ean_i" placeholder="<?php echo $help_ean; ?>" class="form-control" /> <?php echo $help_column; ?> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label" for="input-kol"><?php echo $entry_kol; ?></label> <div class="col-sm-10"> <input type="text" name="kol_i" placeholder="<?php echo $help_kol; ?>" class="form-control" /> <?php echo $help_column; ?> </div> </div> <div class="form-group"> <label class="col-sm-2 control-label" for="input-button-import"></label> <div class="col-sm-10"> <button type="submit" form="form-postavtchik-import" title="Импорт" class="btn btn-primary">Импорт</button> </div> </div> </form> но это не работает и ни единой ошибки не выдает. Буду рад любой подсказке.
  3. Здравствуйте. Есть поиск по товарам. Производит поиск по названию, модели и другим параметрам. Когда вводится поисковое слово, выдаёт возможные варианты названий товаров. Только названия товаров очень длинные и один вариант занимает много места. Хотелось бы обрезать название товаров, но только в том списке возможных вариантов. Подскажите в каком файле можно сделать такую правку?
  4. ошибка нашлась, спасибо. Возник другой вопрос. Согласно инструкции разместила ссылку в футере (http://tanfan.ru/index.php?route=information/articles), но при переходе на нее появляется ошибка 404 - страница не найдена. Подскажите пожалуйста как исправить?
  5. Возникли проблемы с установкой модуля. Согласно вложенной инструкции дошла до "3. Пункт меню Пользователи - Группы пользователей - Администратор: в полях "Разрешить просмотр" и "Разрешить редактировать" поставить галочки для: "catalog/article", "module/article" и "module/latest_articles" - Сохранить", но "catalog/article", "module/article" и "module/latest_articles" в списке не оказалось. В чем может быть проблема?
  6. При установке модуля возникли проблемы с установлением прав доступа. Файлы "catalog/article", "module/article" и "module/latest_articles" не отображаются в пункт меню Пользователи - Группы пользователей - Администратор:

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.