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

Qhiey

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

    6
  • З нами

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

Повідомлення, опубліковані користувачем Qhiey

  1. 1 минуту назад, chukcha сказал:

    За это отвечает платежный  модуль, вот пусть он и орпедеяет где у вас цифровой товар, а где одежда

    И не путайте модуль при заказе и цифры и обуви

     

    Понял , спасибо , буду разбираться .

  2. Всем двс .

    Подскажите пожалуйста , как сделать так , что бы определённые товары после покупки получали статус " Заказ выполнен " , а другие " В обработке "?
    Например для цифровых товаров сразу после покупки  - " Заказ выполнен " 
    Для одежды , обуви и пр. - " В обработке " ?

  3. 1 час назад, fanatic сказал:

    и в контроллере нужно еще писать функцию,   которая будет выбирать статусы

     

    Всё получилось , спасибо за наводку , добавил две функции в контроллер и модель , пошаманил с js и всё получилось )
    Только статусы отображаются наоборот , не name статуса а id , но это мелочи , спасибо ещё раз .

    Взял за основу вид не от " Показывать в категориях " , а от " Производителя " , так полегче было .

     

    1 час назад, chukcha сказал:

    Спрашивается... ЗАЧЕМ?

     

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

    Нашёл код "показывать в категориях"  в админке :

    Получается как только вводишь первые буквы категории , она остаётся одна и можно её выбрать .

     

    input.thumb.png.35d62175f10d250df3fe55432fcdf80b.png

     

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

    Вводить текст туда нельзя .


    select.thumb.png.05cc57915d171dcca20e65f6540f06ed.png

     

     

     <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>

     

    137960999_.thumb.png.0ea30d8c074758998aacb5c1fa3a6dd7.png

     

     

    Но у меня ничего не получилось , оно просто показывает так , будто я уже выбрал все статусы на складе и не работает .

    Текст он вводит , но статус не предлагает к выбору .
    Подскажите пожалуйста , как сделать выбор " статуса отсутсвия на складе "  таким же , как выбор " в каких категориях показывать товар " .

  5. 1 час назад, fanatic сказал:
    
            $product_id = $this->request->get['product_id'];
            $sql = "SELECT ss.name FROM " . DB_PREFIX . "stock_status ss
                JOIN " . DB_PREFIX . "product p ON(p.stock_status_id = ss.stock_status_id)
                JOIN " . DB_PREFIX . "product_to_store p2s ON (p.product_id = p2s.product_id)
                WHERE p.product_id = '" . (int) $product_id . "' 
                AND ss.language_id = '" . (int) $this->config->get('config_language_id') . "' 
                AND p2s.store_id = '" . (int) $this->config->get('config_store_id') . "'";
    
            $query = $this->db->query($sql);
            $status_name = $query->row['name'];
    
            if ($this->request->post['text'] == $status_name) {
                $json['error'] = $this->language->get('error_text');
            }

     

    Спасибо вам огромнейшее за помощь , работает всё как надо , наконец-то ёмаё ))))

    Напишите пожалуйста в личку ваш я.кошель , я хочу вас отблагодарить копеечкой .

  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');

                }

     

     

     

     

     

    надеюсь понятно написал суть вопроса , и если что , сильно не пинайте ??

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

Important Information

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