-
Публікації
38 -
З нами
-
Відвідування
Тип публікації
Профілі
Форум
Маркетплейс
Статті
FAQ
Наші новини
Магазин
Блоги
module__dplus_manager
Повідомлення, опубліковані користувачем AlexTurner
-
-
Доброго времени суток! Я даже не знаю с чего начать, потому что я не понимаю в какой момент происходит эта проблема.
Есть полноценный сайт на 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 тоже все сделано по такому же принципу изменения
собственно вопрос, какого.... почему чистка кеша все равно влияет на все скопированные сайты?
-
Итак, вот что я сделал : файле 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">×</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
Сделал тоже самое в модификаторе на всякий случай, обновил все. Но кнопка не срабатывает( однако если туда вписать имя, то он срабатывает
-
-
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 у поля с именем, а телефон оставил прежним
Но после нажатия на отправку - ничего не происходит, кеш и все почистил, просто не нажимается кнопка, словно он все еще проверяет и что-то еще не сделано
-
Помогите разобраться и сделать поле "ИМЯ" не обязательным для заполнения, есть файл
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">×</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>
Тоже эффекта ноль, подскажите, что я упускаю?
-
Забавно, проблема действительно была в этом.. спасибо вам! получилось.
-
Доброго времени суток всем! Дело в том, что на все страницах сайта отображается favicon, кроме главной страницы и в категориях, на других страницах все работает, в чем может быть проблема?
Прикладываю category.tpl
Посмотреть можно здесь
Я думал проблема в том, что не выводится favicon на этих страницах, но посмотрев код страницы, я вижу что он выводится так же, как и на других страницах
<link href="https://**.ru/image/data/суши/log2.png" rel="icon" />
в чем может быть проблема?
-
Хочу поблагодарить Baco, за оперативную помощь в адаптации модуля https://opencartforum.com/files/file/830-vybor-opciy-v-kategoriyah/ , он не подходил под версию 1.5.5.1.2, но Васо помог и адаптировал за считанные минуты. Спасибо вам еще раз!
-
48 минут назад, mpn2005 сказал:
Добрый день.
Плохо искали. Посмотрите в сторону эго модуля:
он не работает на 1.5.5.1.2
-
Доброго времени суток всем! такой вопрос, есть ли модуль вывода опций в категориях именно для версии 1.5.5.1.2 ? я находил только для более поздних, но даже если находил статьи, как сделать, я находил эту старую статью https://for-opencart.com/additions/option-in-product-list , все получилось, но не понимаю, как сделать, чтобы цена обновлялась...
Как можно решить такой момент? я уверен что есть готовые модули, но действительно, находятся только от 2.x
-
Добрый день всем! Есть еще один вопрос по 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 - ничего не меняется, или я вообще не там разбираю?
-
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'] = 'Данное значение уже используется в другом товаре!'; }
Это для проверки поля - модель.
По хорошему надо запрос перенести в отдельную функцию модели товара.
А текст ошибки в языковой файл.
Но тогда дольше все правки описывать.
Это действительно работает! огромное спасибо! С переносом запроса и языковым файлом я разберусь!
-
16 минут назад, ocdroid сказал:
wow! надо изучить этот момент, я попробую протестировать подобное на 3.0
-
Доброго времени суток всем!
И вновь я со специфическим вопросом, не найдя ответа на вопрос в интернете (может быть не правильно задавал вопрос), но я не нашел решения нигде.
Суть в том, что товары оформляются вручную, оформляют несколько людей, и хотелось бы реализовать возможность в том, чтобы нельзя было оформить товары с одинаковыми Артикулами или Моделями (здесь нет разницы для чего сделать реализацию) Сейчас что модель, что артикул можно оформить одинаково в разных товарах, никаких конфликтов , ничего, товары с одинаковыми артикулами, как это поправить можно, где копать?
-
16 минут назад, Bn174uk сказал:
Можете посмотреть мое решение, скоро будет обновление и будет добавлено больше полей по товарам.
реализация уже сейчас нужна, да и нужен именно экспорт в xls, а здесь я как понял, csv, но если бы поля эти уже были сейчас, можно было бы рассмотреть
-
30 минут назад, matroskin92 сказал:
Есть ещё одно решение, с дополнительными полями можно решить в частном порядке
А разве там используется не тот же самый метод выгрузки, который используется у меня?
-
2 часа назад, xxxJudexxxx сказал:
Secure Admin
Добрый день! Скиньте ссылку на модуль, не могу найти его, от этого я попробую отталкиваться
-
Или чтобы не возиться с этим геморроем, может есть нормальные модули для выгрузки заказов похожие? с выводом этих полей, нашел пока только
Цитатано и то не уверен, что на ocStore будет работать
-
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
-
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']);
или теперь все значения менять?
-
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.php
-
Оказалось, что хостер на другом домене обнаружил вирусное программное обеспечение и отключил функцию в php.ini....
-
Добрый день, всем! Настраиваю интернет-магазин на 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"}
***** - это адрес сайта, который я скрыл
Все было хорошо, все работало, теперь даже бекап не работает (странно) , помогите решить эту странную проблему
-
2 часа назад, Agatha65 сказал:
Уберите ог теги в шаблон и добавьте мои:
https://www.opencart.com/index.php?route=marketplace/extension/info&extension_id=22963
по ссылке которую вы прислали, ничего нет, 404 ошибка
Помогите исправить проблему на OpenCart 3.0
в Opencart 3.x: Загальні питання
Опубліковано:
Черт, действительно! я думал что кеш ставится в папке с сайтом и не заметил, что он общий... спасибо!