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

Vladok

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

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

  • Посещение

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

  1. В 06.12.2015 at 03:37, savage4pro сказал:

    решение касается только шаблона редактирования заказа, поэтому дополнение писать - пустое занятие, по этой же причине и в howto ему делать особо нечего, засорять только

     

    шаблон admin/view/template/sale/order_form.tpl

    находим

    
                          <label class="col-sm-2 control-label" for="input-product"><?php echo $entry_product; ?></label>
                          <div class="col-sm-10">
                            <input type="text" name="product" value="" id="input-product" class="form-control" />
                            <input type="hidden" name="product_id" value="" />
                          </div>

    и после него добавляем

    
                          <label class="col-sm-2 control-label" for="input-product-model"></label>
                          <div class="col-sm-10">
                            <input type="text" name="product_model" value="" id="input-product-model" class="form-control" />
                          </div>

     

    находим блок

    
    $('#tab-product input[name=\'product\']').autocomplete({
    ...
    });

    заменяем его целиком на содержимое спойлера

      Показать содержимое
    
    
    
    var product_selection = function(item) {
        $('#tab-product input[name=\'product\']').val(item['name']);
        $('#tab-product input[name=\'product_model\']').val(item['model']);
        $('#tab-product input[name=\'product_id\']').val(item['value']);
    
        if (item['option'] != '') {
          html  = '<fieldset>';
                html += '  <legend><?php echo $entry_option; ?></legend>';
    
          for (i = 0; i < item['option'].length; i++) {
            option = item['option'][i];
    
            if (option['type'] == 'select') {
              html += '<div class="form-group' + (option['required'] ? ' required' : '') + '">';
              html += '  <label class="col-sm-2 control-label" for="input-option' + option['product_option_id'] + '">' + option['name'] + '</label>';
              html += '  <div class="col-sm-10">';
              html += '    <select name="option[' + option['product_option_id'] + ']" id="input-option' + option['product_option_id'] + '" class="form-control">';
              html += '      <option value=""><?php echo $text_select; ?></option>';
    
              for (j = 0; j < option['product_option_value'].length; j++) {
                option_value = option['product_option_value'][j];
    
                html += '<option value="' + option_value['product_option_value_id'] + '">' + option_value['name'];
    
                if (option_value['price']) {
                  html += ' (' + option_value['price_prefix'] + option_value['price'] + ')';
                }
    
                html += '</option>';
              }
    
              html += '    </select>';
              html += '  </div>';
              html += '</div>';
            }
    
            if (option['type'] == 'radio') {
              html += '<div class="form-group' + (option['required'] ? ' required' : '') + '">';
              html += '  <label class="col-sm-2 control-label" for="input-option' + option['product_option_id'] + '">' + option['name'] + '</label>';
              html += '  <div class="col-sm-10">';
              html += '    <select name="option[' + option['product_option_id'] + ']" id="input-option' + option['product_option_id'] + '" class="form-control">';
              html += '      <option value=""><?php echo $text_select; ?></option>';
    
              for (j = 0; j < option['product_option_value'].length; j++) {
                option_value = option['product_option_value'][j];
    
                html += '<option value="' + option_value['product_option_value_id'] + '">' + option_value['name'];
    
                if (option_value['price']) {
                  html += ' (' + option_value['price_prefix'] + option_value['price'] + ')';
                }
    
                html += '</option>';
              }
    
              html += '    </select>';
              html += '  </div>';
              html += '</div>';
            }
    
            if (option['type'] == 'checkbox') {
              html += '<div class="form-group' + (option['required'] ? ' required' : '') + '">';
              html += '  <label class="col-sm-2 control-label">' + option['name'] + '</label>';
              html += '  <div class="col-sm-10">';
              html += '    <div id="input-option' + option['product_option_id'] + '">';
    
              for (j = 0; j < option['product_option_value'].length; j++) {
                option_value = option['product_option_value'][j];
    
                html += '<div class="checkbox">';
    
                html += '  <label><input type="checkbox" name="option[' + option['product_option_id'] + '][]" value="' + option_value['product_option_value_id'] + '" /> ' + option_value['name'];
    
                if (option_value['price']) {
                  html += ' (' + option_value['price_prefix'] + option_value['price'] + ')';
                }
    
                html += '  </label>';
                html += '</div>';
              }
    
              html += '    </div>';
              html += '  </div>';
              html += '</div>';
            }
    
            if (option['type'] == 'image') {
              html += '<div class="form-group' + (option['required'] ? ' required' : '') + '">';
              html += '  <label class="col-sm-2 control-label" for="input-option' + option['product_option_id'] + '">' + option['name'] + '</label>';
              html += '  <div class="col-sm-10">';
              html += '    <select name="option[' + option['product_option_id'] + ']" id="input-option' + option['product_option_id'] + '" class="form-control">';
              html += '      <option value=""><?php echo $text_select; ?></option>';
    
              for (j = 0; j < option['product_option_value'].length; j++) {
                option_value = option['product_option_value'][j];
    
                html += '<option value="' + option_value['product_option_value_id'] + '">' + option_value['name'];
    
                if (option_value['price']) {
                  html += ' (' + option_value['price_prefix'] + option_value['price'] + ')';
                }
    
                html += '</option>';
              }
    
              html += '    </select>';
              html += '  </div>';
              html += '</div>';
            }
    
            if (option['type'] == 'text') {
              html += '<div class="form-group' + (option['required'] ? ' required' : '') + '">';
              html += '  <label class="col-sm-2 control-label" for="input-option' + option['product_option_id'] + '">' + option['name'] + '</label>';
              html += '  <div class="col-sm-10"><input type="text" name="option[' + option['product_option_id'] + ']" value="' + option['value'] + '" id="input-option' + option['product_option_id'] + '" class="form-control" /></div>';
              html += '</div>';
            }
    
            if (option['type'] == 'textarea') {
              html += '<div class="form-group' + (option['required'] ? ' required' : '') + '">';
              html += '  <label class="col-sm-2 control-label" for="input-option' + option['product_option_id'] + '">' + option['name'] + '</label>';
              html += '  <div class="col-sm-10"><textarea name="option[' + option['product_option_id'] + ']" rows="5" id="input-option' + option['product_option_id'] + '" class="form-control">' + option['value'] + '</textarea></div>';
              html += '</div>';
            }
    
            if (option['type'] == 'file') {
              html += '<div class="form-group' + (option['required'] ? ' required' : '') + '">';
              html += '  <label class="col-sm-2 control-label">' + option['name'] + '</label>';
              html += '  <div class="col-sm-10">';
              html += '    <button type="button" id="button-upload' + option['product_option_id'] + '" data-loading-text="<?php echo $text_loading; ?>" class="btn btn-default"><i class="fa fa-upload"></i> <?php echo $button_upload; ?></button>';
              html += '    <input type="hidden" name="option[' + option['product_option_id'] + ']" value="' + option['value'] + '" id="input-option' + option['product_option_id'] + '" />';
              html += '  </div>';
              html += '</div>';
            }
    
            if (option['type'] == 'date') {
              html += '<div class="form-group' + (option['required'] ? ' required' : '') + '">';
              html += '  <label class="col-sm-2 control-label" for="input-option' + option['product_option_id'] + '">' + option['name'] + '</label>';
              html += '  <div class="col-sm-3"><div class="input-group date"><input type="text" name="option[' + option['product_option_id'] + ']" value="' + option['value'] + '" placeholder="' + option['name'] + '" data-date-format="YYYY-MM-DD" id="input-option' + option['product_option_id'] + '" class="form-control" /><span class="input-group-btn"><button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button></span></div></div>';
              html += '</div>';
            }
    
            if (option['type'] == 'datetime') {
              html += '<div class="form-group' + (option['required'] ? ' required' : '') + '">';
              html += '  <label class="col-sm-2 control-label" for="input-option' + option['product_option_id'] + '">' + option['name'] + '</label>';
              html += '  <div class="col-sm-3"><div class="input-group datetime"><input type="text" name="option[' + option['product_option_id'] + ']" value="' + option['value'] + '" placeholder="' + option['name'] + '" data-date-format="YYYY-MM-DD HH:mm" id="input-option' + option['product_option_id'] + '" class="form-control" /><span class="input-group-btn"><button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button></span></div></div>';
              html += '</div>';
            }
    
            if (option['type'] == 'time') {
              html += '<div class="form-group' + (option['required'] ? ' required' : '') + '">';
              html += '  <label class="col-sm-2 control-label" for="input-option' + option['product_option_id'] + '">' + option['name'] + '</label>';
              html += '  <div class="col-sm-3"><div class="input-group time"><input type="text" name="option[' + option['product_option_id'] + ']" value="' + option['value'] + '" placeholder="' + option['name'] + '" data-date-format="HH:mm" id="input-option' + option['product_option_id'] + '" class="form-control" /><span class="input-group-btn"><button type="button" class="btn btn-default"><i class="fa fa-calendar"></i></button></span></div></div>';
              html += '</div>';
            }
          }
    
          html += '</fieldset>';
    
          $('#option').html(html);
    
          $('.date').datetimepicker({
            pickTime: false
          });
    
          $('.datetime').datetimepicker({
            pickDate: true,
            pickTime: true
          });
    
          $('.time').datetimepicker({
            pickDate: false
          });
        } else {
          $('#option').html('');
        }
    }
    
    $('#tab-product input[name=\'product\']').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'],
                name: item['name'],
                model: item['model'],
                option: item['option'],
                price: item['price']
              }
            }));
          }
        });
      },
      'select': function(item) {
        product_selection(item);
      }
    });
    
    $('#tab-product input[name=\'product_model\']').autocomplete({
      'source': function(request, response) {
        $.ajax({
          url: 'index.php?route=catalog/product/autocomplete&token=<?php echo $token; ?>&filter_model=' +  encodeURIComponent(request),
          dataType: 'json',
          success: function(json) {
            response($.map(json, function(item) {
              return {
                label: item['model'],
                value: item['product_id'],
                name: item['name'],
                model: item['model'],
                option: item['option'],
                price: item['price']
              }
            }));
          }
        });
      },
      'select': function(item) {
        product_selection(item);
      }
    });

     

     

    в итоге в блоке "Выберите товар" будет 2 поля, первое - так и остается поиском по имени, второе - по артикулу

    После данных изменений вылазит ошибка при добавлении товара "Product can not be bought from the store you have choosen!" 

  2. Была рабочая версия сайта на локале, ошибок не было, но решил попробовать новый шаблон и не увидел, что он для другой версии опенкарт. После чего решил заново сделать локальную версию. Поставил чистый опенкарт, удалил все кроме двух файлов конфиг, скопировал все файлы сайта по фтп, создал и импортировал БД, поменял все пути в файлах конфиг. Все как бы работает, но не полностью. В админке часть кнопок не активна и не отображаеться, а на самом сайте поплыли стили и не работают  некоторые функции. Что самое интересное, так это то что в режиме инкогнито браузера, стили стоят на месте, но к примеру все слайдера не работают, меню не выпадает. Помогите пожалуйста, я в этом деле новый, немного не разбираюсь 

    Скрытый текст

    Админка.png

    Скрытый текст

    Сайт.png

     

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