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

AlexTurner

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

    38
  • З нами

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

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

  1. Доброго времени суток! Я даже не знаю с чего начать, потому что я не понимаю в какой момент происходит эта проблема.

    Есть полноценный сайт на OpenCart 3.0 со своими товарами, БД итд.

    Иногда приходится копировать сайт на несколько других доменов, на том же хостинге, с некоторой исправленной информацией.

    Я копирую все файлы, создаю новую БД и прописываю все в обоих конфигах.

    И вот тут начинается какой-то бред, Если я начинаю на одном сайте делать чистку кеша, после изменения на ней всей информации, ТО МЕНЯЕТСЯ ВЕЗДЕ после чистки кеша (например внес изменения в футере или хидере и они поменялись везде?!) Я не понимаю каким образом они взаимосвязанны? если БД разные в конфигах, домен другой, что я упускаю? 

     

    P.s : Пути в config.php тоже изменены, а именно :

     

    Цитата

     

    // HTTP
    define('HTTP_SERVER', 'новый сайт');

    // HTTPS
    define('HTTPS_SERVER', 'новый сайт');

    // DIR
    define('DIR_APPLICATION', '/var/www/u0644592/новый сайт/catalog/');
    define('DIR_SYSTEM', '/var/www/u0644592/новый сайт/system/');
    define('DIR_IMAGE', '/var/www/u0644592/новый сайт/image/');
    define('DIR_STORAGE', '/var/www/u0644592/storage/');
    define('DIR_LANGUAGE', DIR_APPLICATION . 'language/');
    define('DIR_TEMPLATE', DIR_APPLICATION . 'view/theme/');
    define('DIR_CONFIG', DIR_SYSTEM . 'config/');
    define('DIR_CACHE', DIR_STORAGE . 'cache/');
    define('DIR_DOWNLOAD', DIR_STORAGE . 'download/');
    define('DIR_LOGS', DIR_STORAGE . 'logs/');
    define('DIR_MODIFICATION', DIR_STORAGE . 'modification/');
    define('DIR_SESSION', DIR_STORAGE . 'session/');
    define('DIR_UPLOAD', DIR_STORAGE . 'upload/');

     

     

    там где "новый сайт" это то, что я только менял в конфиге

     

    Цитата

    // DB
    define('DB_DRIVER', 'mysqli');
    define('DB_HOSTNAME', 'localhost');
    define('DB_USERNAME', 'ИЗМЕНИЛ');
    define('DB_PASSWORD', 'ИЗМЕНИЛ);
    define('DB_DATABASE', 'ИЗМЕНИЛ');
    define('DB_PORT', '3306');
    define('DB_PREFIX', 'oc_');

     

    там где "ИЗМЕНИЛ" это то, что я поменял в Базе

     

    В папке admin тоже все сделано по такому же принципу изменения

     

    собственно вопрос, какого.... почему чистка кеша все равно влияет на все скопированные сайты?

  2. Итак, вот что я сделал : файле feedback.php

    Я закомментировал строку 

    /*if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 25)) {
                    $json['error'] = $data['error_name'];
                }*/

    и удалил эту же строку в модификаторе

     

    так как у меня не выводилось поле само, я самостоятельно вписал его в header.twig, а именно :

     

    {% if callback_active == 1 %}
                    <div class="modal fade" id="modalFeedbackHeader" tabindex="-1" role="dialog" aria-labelledby="modalFeedbackHeaderLabel" aria-hidden="true">
                      <div class="modal-dialog" role="document">
                        <div class="modal-content">
                          <div class="modal-body">
                            <div style="display:inline-block; width: 100%; text-align:right;">
                              <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                <span aria-hidden="true">&times;</span>
                              </button>
                            </div>
                            <form class="form-horizontal" id="form-feedback-header">
                              <div class="form-group">
                                <div class="col-sm-12">
                                  <label class="control-label" for="input-name">{{ entry_name }}</label>
                                  <input type="text" name="name" value="{{ name_callback }}" id="input-name" class="form-control" />
                                </div>
                                </div>
                                <div class="form-group required">
                                <div class="col-sm-12">
                                  <label class="control-label" for="input-phone">{{ entry_phone }}</label>
                                  <input type="text" name="phone" value="{{ phone_callback }}" id="input-phone" class="form-control" />
                                </div>
                              </div>
                            </form>
                            <button type="button" id="button_send_feedback_header" data-loading-text="{{ text_loading }}"  class="btn btn-primary">{{ text_send }}</button>
                          </div>
                        </div>
                      </div>
                    </div>
                    <script>
                      $('#button_send_feedback_header').on('click', function () {
                        $.ajax({
                          url: 'index.php?route=common/header/write',
                          type: 'post',
                          dataType: 'json',
                          data: $("#form-feedback-header").serialize(),
                          beforeSend: function () {
                            $('#button_send_feedback_header').button('loading');
                          },
                          complete: function () {
                            $('#button_send_feedback_header').button('reset');
                          },
                          success: function (json) {
                            $('.alert-success, .alert-danger').remove();
                            if (json['error']) {
                              $('#form-feedback-header').after('<div class="alert alert-danger" style="margin:20px 0;"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + '</div>');
                            }
                            if (json['success']) {
                              $('#form-feedback-header').after('<div class="alert alert-success" style="margin:20px 0;"><i class="fa fa-check-circle"></i> ' + json['success'] + '</div>');
                              $('input[name=\'name\']').val('');
                              $('input[name=\'phone\']').val('');
                            }
                          }
                        });
                      });
                    </script>
                    {% endif %}

    Поменяв при этом поле form-group required на form-group

     

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

  3. 6 часов назад, bulldozer323 сказал:

    Убрав, это:

    
    if ((utf8_strlen($this->request->post['name']) < 3) || (utf8_strlen($this->request->post['name']) > 25)) {
      $json['error'] = $data['error_name'];
    }

    Проверка на имя уберется.

     

    Возможно вы хотите убрать проверку не в том месте. В этом модуле две разновидности вызова модального окна: в хидере и в самом блоке с вопросом и обратной связи. В каком варианте нужно убрать?

     

    Именно в хидере, я убрал это и поменял поле required

    теперь это выглядит вот так :

     

    <form class="form-horizontal" id="form-feedback-header">
                              <div class="form-group">
                                <div class="col-sm-12">
                                  <label class="control-label" for="input-name">{{ entry_name }}</label>
                                  <input type="text" name="name" value="{{ name_callback }}" id="input-name" class="form-control" />
                                </div>
                                </div>
                                <div class="form-group required">
                                <div class="col-sm-12">
                                  <label class="control-label" for="input-phone">{{ entry_phone }}</label>
                                  <input type="text" name="phone" value="{{ phone_callback }}" id="input-phone" class="form-control" />
                                </div>
                              </div>
                            </form>

     

    Я разделил поля forn-group, убрал required у поля с именем, а телефон оставил прежним

     

    Но после нажатия на отправку - ничего не происходит, кеш и все почистил, просто не нажимается кнопка, словно он все еще проверяет и что-то еще не сделано

  4. Помогите разобраться и сделать поле "ИМЯ" не обязательным для заполнения, есть файл

    feedback.php

    и сам вывод шаблона

     

    {% if callback_active == 1 %}
                    <li><a href="#modalFeedbackHeader" id="button_feedback" data-toggle="modal"><i class="fa fa-volume-control-phone"></i> <span class="hidden-xs hidden-sm hidden-md">{{ text_button_callback }}</span></a></li>
                    {% endif %}
                    {% if callback_active == 1 %}
                    <div class="modal fade" id="modalFeedbackHeader" tabindex="-1" role="dialog" aria-labelledby="modalFeedbackHeaderLabel" aria-hidden="true">
                      <div class="modal-dialog" role="document">
                        <div class="modal-content">
                          <div class="modal-body">
                            <div style="display:inline-block; width: 100%; text-align:right;">
                              <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                                <span aria-hidden="true">&times;</span>
                              </button>
                            </div>
                            <form class="form-horizontal" id="form-feedback-header">
                              <div class="form-group required">
                                <div class="col-sm-12">
                                  <label class="control-label" for="input-name">{{ entry_name }}</label>
                                  <input type="text" name="name" value="{{ name_callback }}" id="input-name" class="form-control" />
                                </div>
                                <div class="col-sm-12">
                                  <label class="control-label" for="input-phone">{{ entry_phone }}</label>
                                  <input type="text" name="phone" value="{{ phone_callback }}" id="input-phone" class="form-control" />
                                </div>
                              </div>
                            </form>
                            <button type="button" id="button_send_feedback_header" data-loading-text="{{ text_loading }}"  class="btn btn-primary">{{ text_send }}</button>
                          </div>
                        </div>
                      </div>
                    </div>
                    <script>
                      $('#button_send_feedback_header').on('click', function () {
                        $.ajax({
                          url: 'index.php?route=common/header/write',
                          type: 'post',
                          dataType: 'json',
                          data: $("#form-feedback-header").serialize(),
                          beforeSend: function () {
                            $('#button_send_feedback_header').button('loading');
                          },
                          complete: function () {
                            $('#button_send_feedback_header').button('reset');
                          },
                          success: function (json) {
                            $('.alert-success, .alert-danger').remove();
                            if (json['error']) {
                              $('#form-feedback-header').after('<div class="alert alert-danger" style="margin:20px 0;"><i class="fa fa-exclamation-circle"></i> ' + json['error'] + '</div>');
                            }
                            if (json['success']) {
                              $('#form-feedback-header').after('<div class="alert alert-success" style="margin:20px 0;"><i class="fa fa-check-circle"></i> ' + json['success'] + '</div>');
                              $('input[name=\'name\']').val('');
                              $('input[name=\'phone\']').val('');
                            }
                          }
                        });
                      });
                    </script>
                    {% endif %}

     

    я пытался убрать выражение в php :

     

    удалил:

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

    но он все равно не пропускает

     

    потом удалил из шаблона это :

     

     <div class="col-sm-12">
                                  <label class="control-label" for="input-name">{{ entry_name }}</label>
                                  <input type="text" name="name" value="{{ name_callback }}" id="input-name" class="form-control" />
                                </div>

     

    Тоже эффекта ноль, подскажите, что я упускаю? 

    feedback.php

  5. ocStore Версия 1.5.5.1.2

    Доброго времени суток всем! Дело в том, что на все страницах сайта отображается favicon, кроме главной страницы и в категориях, на других страницах все работает, в чем может быть проблема?

    Прикладываю category.tpl

     

    Посмотреть можно здесь

     

    Я думал проблема в том, что не выводится favicon на этих страницах, но посмотрев код страницы, я вижу что он выводится так же, как и на других страницах

    <link href="https://**.ru/image/data/суши/log2.png" rel="icon" />

     в чем может быть проблема?

    category.tpl

  6. Доброго времени суток всем! такой вопрос, есть ли модуль вывода опций в категориях именно для версии 1.5.5.1.2 ? я находил только для более поздних, но даже если находил статьи, как сделать, я находил эту старую статью https://for-opencart.com/additions/option-in-product-list , все получилось, но не понимаю, как сделать, чтобы цена обновлялась...

    Как можно решить такой момент? я уверен что есть готовые модули, но действительно, находятся только от 2.x

  7. Добрый день всем! Есть еще один вопрос по Opencart 3.0.3.1, как правильно привязать  input маску при создании модели товара? Например нужен вид маски цифрами и не больше 5?

    Я попробовал разобраться с этим в файле /admin/view/template/catalog/ в файле product_form.twig  там я нашел значение :

                 

      <label class="col-sm-2 control-label" for="input-model">{{ entry_model }}</label>
                    <div class="col-sm-10">
                      <input type="text" name="model" value="{{ model }}" placeholder="{{ entry_model }}" id="input-model" class="form-control" />
                      {% if error_model %}
                      <div class="text-danger">{{ error_model }}</div>
                      {% endif %}</div>
                  </div>

     

    но при любых попытка внедрить значение  .mask или изменение placeholder - ничего не меняется, или я вообще не там разбираю?

  8. 13 часов назад, mpn2005 сказал:

    В файле admin/controller/catalog/product.php

     

    Перед строкой:

    
    if ((utf8_strlen($this->request->post['model']) < 1) || (utf8_strlen($this->request->post['model']) > 64)) {

    Добавить это:

    
    if (!empty($this->request->post['model'])) {
        $query = $this->db->query("SELECT COUNT(*) AS total FROM " . DB_PREFIX . "product WHERE model LIKE '" . $this->db->escape($this->request->post['model']) . "'" . (isset($this->request->get['product_id']) ? " AND product_id != '" . (int)$this->request->get['product_id'] . "'" : ""));
        if ($query->row['total'] > 0) $this->error['model'] = 'Данное значение уже используется в другом товаре!';
    }

    Это для проверки поля - модель.

     

    По хорошему надо запрос перенести в отдельную функцию модели товара.

    А текст ошибки в языковой файл.

    Но тогда дольше все правки описывать.

     

     

    Это действительно работает! огромное спасибо! С переносом запроса и языковым файлом я разберусь!

  9. Доброго времени суток всем!

    И вновь я со специфическим вопросом, не найдя ответа на вопрос в интернете (может быть не правильно задавал вопрос), но я не нашел решения нигде.

    Суть в том, что товары оформляются вручную, оформляют несколько людей, и хотелось бы реализовать возможность в том, чтобы нельзя было оформить товары с одинаковыми Артикулами или Моделями (здесь нет разницы для чего сделать реализацию) Сейчас что модель, что артикул можно оформить одинаково в разных товарах, никаких конфликтов , ничего, товары с одинаковыми артикулами, как это поправить можно, где копать?

  10. 16 минут назад, Bn174uk сказал:

    Можете посмотреть мое решение, скоро будет обновление и будет добавлено больше полей по товарам. 

     

     

    реализация уже сейчас нужна, да и нужен именно экспорт в xls, а здесь я как понял, csv, но если бы поля эти уже были сейчас, можно было бы рассмотреть

  11. 30 минут назад, matroskin92 сказал:

    Есть ещё одно решение, с дополнительными полями можно решить в частном порядке

     

     

     

    А разве там используется не тот же самый метод выгрузки, который используется у меня? 

  12. Или чтобы не возиться с этим геморроем, может есть нормальные модули для выгрузки заказов похожие? с выводом этих полей, нашел пока только 

    Цитата

    но и то не уверен, что на ocStore будет работать

  13. 17 минут назад, AlexDW сказал:

    естественно

     

    а unexpected означает ошибку синтаксиса перед строкой

     

    Да, я сделал это, теперь строки выглядят так

    $products = $this->model_sale_order->getOrderProducts($order_id);
    
                    foreach ($products as $product) {
                        $option_data = array();
                        $options = $this->model_sale_order->getOrderOptions($order_id, $product['order_product_id']);
                        $product_qimage = $this->db->query("SELECT * FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$product['product_id'] . "'");
                        $product_image = $product_qimage->row['image'];
    
                        $page->setCellValue("E$i", $product_qimage['model']);
                        $this->setStyles($page->getStyle("E$i"));
    					$page->setCellValue("I$i", $product_qimage['mpn']);
                        $this->setStyles($page->getStyle("I$i"));
    					$page->setCellValue("J$i", $product_qimage['isbn']);
                        $this->setStyles($page->getStyle("J$i"));
                        $page->setCellValue("D$i", $this->model_tool_image->resize($product_image, 300, 300));
                        $this->setStyles($page->getStyle("D$i"));
    
                        $str = "";
                        foreach ($options as $option) {
                            $str .= $option['value'];
                        }
                        $page->setCellValue("F$i", $str);
                        $this->setStyles($page->getStyle("F$i"));
                        $i++;
                    }

    Теперь вышла ошибка при эскпорте заказа : 

     

    Fatal error: Uncaught Error: Cannot use object of type stdClass as array in /var/www/сайт/сайт.com.ua/system/storage/modification/admin/controller/sale/order.php:147 Stack trace: #0 /var/www/сайт/сайт.com.ua/system/storage/modification/system/engine/action.php(54): ControllerSaleOrder->excel() #1 /var/www/сайт/сайт.com.ua/admin/controller/startup/router.php(26): Action->execute(Object(Registry), Array) #2 /var/www/сайт/сайт.com.ua/system/storage/modification/system/engine/action.php(54): ControllerStartupRouter->index() #3 /var/www/сайт/сайт.com.ua/system/storage/modification/system/engine/front.php(35): Action->execute(Object(Registry)) #4 /var/www/сайт/сайт.com.ua/system/storage/modification/system/engine/front.php(30): Front->execute(Object(Action)) #5 /var/www/сайт/сайт.com.ua/system/framework.php(103): Front->dispatch(Object(Action), Object(Action)) #6 /var/www/сайт/сайт.com.ua/system/startup.php(105): require_once('/var/www/gofitn...') #7 /var/www/сайт/сайт.com.ua/admin/index.php(19): start('admin') #8 {main} thrown in /var/www/caйт/сайт.com.ua/system/storage/modification/admin/controller/sale/order.php on line 147

  14. 2 часа назад, AlexDW сказал:

     

    $products = $this->model_sale_order->getOrderProducts($order_id);

     

    упускаете что данные о заказанных товарах не имеют информации о полях кроме model

    нужно их отдельно подтягивать из таблицы product на основе product_id из заказа

     

    по сути, почти все уже есть в вашем коде

                        $product_qimage = $this->db->query("SELECT image FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$product['product_id'] . "'");
                        $product_image = $product_qimage->row['image'];

    только чуть подправить

                        $product_qimage = $this->db->query("SELECT * FROM " . DB_PREFIX . "product WHERE product_id = '" . (int)$product['product_id'] . "'");
                        $product_image = $product_qimage->row['image'];

    типа

    $page->setCellValue("I$i", $product_qimage->row['mpn']);

     

    попробовал сделать это, и теперь при входе на страницу order в админке , получаю ошибку 

     

    Parse error: syntax error, unexpected '$page' (T_VARIABLE) in /var/www/сайт/сайт.com.ua/system/storage/modification/admin/controller/sale/order.php on line 147

     

    147 это

     

    $page->setCellValue("E$i", $product['model']);

     

    или теперь все значения менять?

  15. ocStore 2.3.0.2.3

     

    Всем доброе время суток! Помогите решить проблему. Дело в том, что уже имеется рабочая выгрузка, при заходе во вкладку "Заказы" есть кнопка (сделанная левым человеком давно) , вся выгрузка генерируется в файл xls в таком виде (во вложение) и мне всего-то нужно вывести два поля mpn и isbn  

    есть файл, в который нужно вносить изменения, я добавил новые поля для вывода PHPExcel, а именно

     

    $page->getColumnDimensionByColumn("8")->setWidth(10);
    $page->getColumnDimensionByColumn("9")->setWidth(10);
    $page->setCellValue("I1", "mpn");
    $page->setCellValue("J1", "isbn");

    и 

    $page->setCellValue("I$i", $product['mpn']);
    $this->setStyles($page->getStyle("I$i"));
    $page->setCellValue("J$i", $product['isbn']);
    $this->setStyles($page->getStyle("J$i"));

     

    что я упускаю? файл генерирует теперь эти поля в выгрузке, но поля пустые...

     

     

    PS : изменения делал только в файле /admin/controller/sale/order.phpimage.png

    order.php

  16. Добрый день, всем! Настраиваю интернет-магазин на 3.0.2.0, и после оформления заказа выходит такая ошибка :
     

    SyntaxError: JSON.parse: unexpected character at line 1 column 1 of the JSON data
    OK
    <b>Warning</b>: mail() has been disabled for security reasons in <b>/var/www/u0644592/*****/system/library/mail/mail.php</b> on line <b>77</b>{"redirect":"http:\/\/******\/index.php?route=checkout\/success"}

    ***** - это адрес сайта, который я скрыл

     

    Все было хорошо, все работало, теперь даже бекап не работает (странно) , помогите решить эту странную проблему

  17. 2 часа назад, Agatha65 сказал:

    Уберите ог теги в шаблон и добавьте мои:

    https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=22963

    по ссылке которую вы прислали, ничего нет, 404 ошибка

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

Important Information

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