Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Qhiey

Newbie
  
  • Posts

    6
  • Joined

  • Last visited

Recent Profile Visitors

469 profile views

Qhiey's Achievements

Rookie

Rookie (2/14)

  • First Post
  • Week One Done
  • One Month Later
  • One Year In
  • Conversation Starter

Recent Badges

0

Reputation

  1. Понял , спасибо , буду разбираться .
  2. Всем двс . Подскажите пожалуйста , как сделать так , что бы определённые товары после покупки получали статус " Заказ выполнен " , а другие " В обработке "? Например для цифровых товаров сразу после покупки - " Заказ выполнен " Для одежды , обуви и пр. - " В обработке " ?
  3. Всё получилось , спасибо за наводку , добавил две функции в контроллер и модель , пошаманил с js и всё получилось ) Только статусы отображаются наоборот , не name статуса а id , но это мелочи , спасибо ещё раз . Взял за основу вид не от " Показывать в категориях " , а от " Производителя " , так полегче было . У меня статусов over>>>>>>100000 (так надо) Необходимо было как то сортировать это и сделать более удобным . Если кому надо вот ответ, хотя вряд ли кому пригодиться )) в файле шаблона <div class="form-group"> <label class="col-sm-2 control-label" for="input-stock-status"><span data-toggle="tooltip" title="<?php echo $help_stock_status; ?>"><?php echo $entry_stock_status; ?></span></label> <div class="col-sm-10"> <input type="text" name="stock_status" value="<?php echo $stock_status['name']; ?>" placeholder="<?php echo $entry_stock_status; ?>" id="input-stock-status" class="form-control" /> <input type="hidden" name="stock_status_id" value="<?php echo $stock_status_id; ?>" /> </div> </div> + добавить код JS вниз файла шаблона // Stock_status $('input[name=\'stock_status\']').autocomplete({ 'source': function(request, response) { $.ajax({ url: 'index.php?route=catalog/manufacturer/autocomplete_stock&token=<?php echo $token; ?>&filter_name=' + encodeURIComponent(request), dataType: 'json', success: function(json) { json.unshift({ stock_status_id: 0, name: '<?php echo $text_none; ?>' }); response($.map(json, function(item) { return { label: item['name'], value: item['stock_status_id'] } })); } }); }, 'select': function(item) { $('input[name=\'stock_status\']').val(item['label']); $('input[name=\'stock_status_id\']').val(item['value']); } }); Добавить функцию в контроллер : admin / controller / catalog / manufacturer.php (можно в любой , только изменить надо будет в js ) public function autocomplete_stock() { $json = array(); if (isset($this->request->get['filter_name'])) { $this->load->model('catalog/product'); $filter_data = array( 'filter_name' => $this->request->get['filter_name'], 'start' => 0, 'limit' => 5 ); $results = $this->model_catalog_product->getStockStatus($filter_data); foreach ($results as $result) { $json[] = array( 'stock_status_id' => $result['stock_status_id'], 'name' => strip_tags(html_entity_decode($result['name'], ENT_QUOTES, 'UTF-8')) ); } } Добавить функцию в модель : admin/ model / catalog / product.php public function getStockStatus($data = array()) { $sql = "SELECT * FROM " . DB_PREFIX . "stock_status"; if (!empty($data['filter_name'])) { $sql .= " WHERE name LIKE '" . $this->db->escape($data['filter_name']) . "%'"; } $sort_data = array( 'name', 'sort_order' ); if (isset($data['sort']) && in_array($data['sort'], $sort_data)) { $sql .= " ORDER BY " . $data['sort']; } else { $sql .= " ORDER BY name"; } if (isset($data['order']) && ($data['order'] == 'DESC')) { $sql .= " DESC"; } else { $sql .= " ASC"; } if (isset($data['start']) || isset($data['limit'])) { if ($data['start'] < 0) { $data['start'] = 0; } if ($data['limit'] < 1) { $data['limit'] = 20; } $sql .= " LIMIT " . (int)$data['start'] . "," . (int)$data['limit']; } $query = $this->db->query($sql); return $query->rows; }
  4. Всем двс , подскажите пожалуйста , как изменить вид в админке , в редакторе товара , выбор "статуса отсутсвия на складе " на такой же как " Выбор в каких категориях показывать товар " . Нашёл код "показывать в категориях" в админке : Получается как только вводишь первые буквы категории , она остаётся одна и можно её выбрать . <div class="form-group"> <label class="col-sm-2 control-label" for="input-category"><span data-toggle="tooltip" title="<?php echo $help_category; ?>"><?php echo $entry_category; ?></span></label> <div class="col-sm-10"> <input type="text" name="category" value="" placeholder="<?php echo $entry_category; ?>" id="input-category" class="form-control" /> <div id="product-category" class="well well-sm" style="height: 150px; overflow: auto;"> <?php foreach ($product_categories as $product_category) { ?> <div id="product-category<?php echo $product_category['category_id']; ?>"><i class="fa fa-minus-circle"></i> <?php echo $product_category['name']; ?> <input type="hidden" name="product_category[]" value="<?php echo $product_category['category_id']; ?>" /> </div> <?php } ?> </div> </div> </div> Статус на складе работает как select , он просто показывает все статусы и можно выбрать один из предложенных . Вводить текст туда нельзя . <div class="form-group"> <label class="col-sm-2 control-label" for="input-stock-status"><span data-toggle="tooltip" title="<?php echo $help_stock_status; ?>"><?php echo $entry_stock_status; ?></span></label> <div class="col-sm-10"> <select name="stock_status_id" id="input-stock-status" class="form-control"> <?php foreach ($stock_statuses as $stock_status) { ?> <?php if ($stock_status['stock_status_id'] == $stock_status_id) { ?> <option value="<?php echo $stock_status['stock_status_id']; ?>" selected="selected"><?php echo $stock_status['name']; ?></option> <?php } else { ?> <option value="<?php echo $stock_status['stock_status_id']; ?>"><?php echo $stock_status['name']; ?></option> <?php } ?> <?php } ?> </select> </div> </div> Поменял код по образцу " выбора категоии " . <div class="form-group"> <label class="col-sm-2 control-label" for="input-stock-status"><span data-toggle="tooltip" title="<?php echo $help_stock_status; ?>"><?php echo $entry_stock_status; ?></span></label> <div class="col-sm-10"> <input type="text" name="stock_status_id" value="" placeholder="<?php echo $entry_stock_status; ?>" id="input-stock-status" class="form-control" /> <div id="input-stock-status" class="well well-sm" style="height: 150px; overflow: auto;"> <?php foreach ($stock_statuses as $stock_status) { ?> <div id="input-stock-status<?php echo $stock_status['stock_status_id']; ?>"><i class="fa fa-minus-circle"></i> <?php echo $stock_status['name']; ?> <input type="hidden" name="stock_status_id" value="<?php echo $stock_status['stock_status_id']; ?>" /> </div> <?php } ?> </div> </div> </div> Но у меня ничего не получилось , оно просто показывает так , будто я уже выбрал все статусы на складе и не работает . Текст он вводит , но статус не предлагает к выбору . Подскажите пожалуйста , как сделать выбор " статуса отсутсвия на складе " таким же , как выбор " в каких категориях показывать товар " .
  5. Спасибо вам огромнейшее за помощь , работает всё как надо , наконец-то ёмаё )))) Напишите пожалуйста в личку ваш я.кошель , я хочу вас отблагодарить копеечкой .
  6. Всем двс , задача не стандартная , зачем мне это - лучше не спрашивайте ? . но в общем , чпокаюсь уже с этим недели две , необходимо в контроллере product.php произвести некоторые махинации , в конце есть функция write() , которая отвечает за «написание» отзыва , там есть строчка : if ((utf8_strlen($this->request->post['text']) < 25) || (utf8_strlen($this->request->post['text']) > 1000)) { $json['error'] = $this->language->get('error_text'); } так вот , изменив эту строчку таким образом : if ($this->request->post['text'] == Статус на складе ){ $json['error'] = $this->language->get('error_text'); } Получаем , что если клиент введёт текст в отзыв ( Статус на складе ) то появится сообщение об ошибке , теперь к самой задаче , подскажите пожалуйста , как захреначить туда переменную , например : $test = $product_info[‘stock_status’]; Что бы проверка текста работала со статусом на складе ? по типу , что бы вот этот мрак , выглядел примерно так : $test = $product_info[‘stock_status’]; if ($this->request->post['text'] == $test){ $json['error'] = $this->language->get('error_text'); } надеюсь понятно написал суть вопроса , и если что , сильно не пинайте ??
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.