COVID2019 и это вот все. Друзья, вся эта история начинает плохо пахнет. Мойте руки, не ходите в люди. Отложите все плановые покупки и положите в носок заначку. Заприте ваших родителей, бабушек-дедушек на даче. Лучше перебдеть чем недобдеть. Берегите себя!
-
Публикации
786 -
Зарегистрирован
-
Посещение
-
Days Won
74
Все публикации пользователя savage4pro
-
либо закрыт каким-нибудь правилом веб-сервера, либо все же не на месте
-
освоил новую позу из камасутры... ниче сложного, любому по плечу... без подробностей эта фраза никому не интересна
-
если после долгих попыток все равно ничего не получается, прочтите наконец инструкцию другими словами, добавьте пробел перед стандартным символом рубля в админке
-
удостоверьтесь в правильности обоих файлов конфигурации
-
ALTER TABLE `вашпрефикс_currency` CHANGE COLUMN `decimal_place` `decimal_place` CHAR(1) NOT NULL ;
-
ерунда, не за что, в любом случае это костыль, посему будьте внимательны при последующих обновлениях сборки никаких запросов, именно так и задается, символы разделителей тысяч и дробей хранятся в языковых файлах, т.к. они должны зависеть от языка отображения
-
слегка растерялся даже это запрос к БД выполняется, например, через phpmyadmin "вашпрефикс" - это префикс таблиц сборки, можно подсмотреть в config.php
-
в ожидании исправления оригинальной версии
-
system/library/currency.php в методе public function format() принудительно задаете нужную вам величину округления в переменной $decimal_place, если валюта у вас веки вечные будет одна, бояться нечего либо от чудо из чудес ALTER TABLE `вашпрефикс_currency` CHANGE COLUMN `decimal_place` `decimal_place` CHAR(2) NOT NULL ; после чего смело добавляем знак "-" перед значением в Система-Локализация-Валюта > Количество знаков после запятой
-
обращение админки к contoller/api, записывающим в том числе данные корзины/заказа в сессию, мне подсказывает, что у всех так, в том числе и у Даниэля
-
к чему такие сложности? если вы говорите про округление при выводе форматированной цены везде, правьте class Currency->format(), если конечно не хотите увеличивать поле `decimal_place` до CHAR(2) или там TINYINT(1) signed и менять значение просто в админке
-
рвется соединение с сервером mysql во время загрузки страницы клиентом предположение - вы запускаете ооочень долгий скрипт, и в отдельной вкладке браузера открываете страницу сайта, которая из-за блокировки сессий ждет выполнения скрипта в соседней вкладке но превышается лимит ожидания mysql и когда сессия освобождается, т.е. тем или иным образом заканчивается работа долгого скрипта, страница продолжает грузится, но т.к. хандлер соединения с БД указывает на издохший ресурс, сыпятся ошибки
-
вам должно быть виднее, какие модули вы устанавливали можете все отключить, и модификаторы тоже, если ошибка останется, значит ядро переписывали и тут поможет только сравнение с оригиналом, а если корзина нормально цены товара с разным весом будет отображать, тогда включайте модули по одному и проверяйте, когда ошибка вновь появится, иначе говоря, в первую очередь следует ее локализовать
-
отключите модули, затрагивающие опции и посмотрите, останется ли ошибка
-
все так, они действительно должны быть уникальными, просто добавляйте к ним какой-нибудь префикс или окончание
-
support MATTIMEO - адаптивный шаблон для OCSHOP.CMS 1.5.6.4.1
topic ответил в admin savage4pro в Шаблоны
попробуйте модуль category4level -
Не работает файловый менеджер! OCShOP!
topic ответил в Nakamuramax savage4pro в Сообщения об ошибках
так ить какой спаситель, я только наводку дал, теперь вам стоит помониторить, кто эти куки перезаписывает -
Не работает файловый менеджер! OCShOP!
topic ответил в Nakamuramax savage4pro в Сообщения об ошибках
эта информация хранится в куках для текущего домена с путем админки, смотрите переменные open и selected -
support MATTIMEO - адаптивный шаблон для OCSHOP.CMS 1.5.6.4.1
topic ответил в admin savage4pro в Шаблоны
как вариант, transparent.gif 1x1 -
достаточно только один раз выдать доступ к API у вас разве не так?
-
все не так, куда по-вашему, должен обратиться браузер за картинкой, если base страницы, например, текущая или корень сайта? <img src="/catalog/view/theme/kitchen/image/horse.jpg" alt="" width="200px" height="100px" />
-
вы имеете в виду image/data на image/catalog? либок создайте папку image/data и залейте картинки туда, либо для товаров будет примерно такой запрос в БД UPDATE `вашпрефикс_product_image` SET `image` = REPLACE(`image`,'data/','catalog/'); вы про соответствующее поле в БД не забыли случаем ? CREATE TABLE `oc_product_description` ( `product_id` int(11) NOT NULL, `language_id` int(11) NOT NULL, `name` varchar(255) NOT NULL, `description` text NOT NULL, `tag` text NOT NULL, `meta_title` varchar(255) NOT NULL, `meta_description` varchar(255) NOT NULL, `meta_keyword` varchar(255) NOT NULL, `meta_h1` varchar(255) NOT NULL, PRIMARY KEY (`product_id`,`language_id`), KEY `name` (`name`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; 7 раз ударь, один раз добей
-
насколько я вижу, на вашем сайте автоподгрузка появилась и сейчас работает нормально очистите кэш браузера и на будущее, при внесении критических изменений в css и js, добавляйте к строкам их вызова что-то вроде ?v=текущая_дата-ревизия catalog/view/theme/ваша_тема/template/common/header.tpl например, так: <script src="catalog/view/javascript/common.js?ver=20151222-001" type="text/javascript"></script> это заставит браузеры загрузить новую версию файла
-
тогда проблема здесь catalog/view/javascript/common.js находим var productSet = $('#content .product-layout:not(.product-list), #content .product-layout:not(.product-grid)'); заменяем на var productSet = $('#content .product-layout:not(.product-list,.product-grid)');
-
известно пока можете в своем catalog/view/theme/ваша_тема/template/checkout/checkout.tpl найти $(document).delegate('#button-payment-method', 'click', function() { $.ajax({ url: 'index.php?route=checkout/payment_method/save', type: 'post', data: $('#collapse-payment-method input[type=\'radio\']:checked, #collapse-payment-method input[type=\'checkbox\']:checked, #collapse-payment-method textarea'), dataType: 'json', beforeSend: function() { $('#button-payment-method').button('loading'); }, success: function(json) { $('.alert, .text-danger').remove(); if (json['redirect']) { location = json['redirect']; } else if (json['error']) { if (json['error']['warning']) { $('#collapse-payment-method .panel-body').prepend('<div class="alert alert-warning">' + json['error']['warning'] + '<button type="button" class="close" data-dismiss="alert">×</button></div>'); } } else { $.ajax({ url: 'index.php?route=checkout/confirm', dataType: 'html', complete: function() { $('#button-payment-method').button('reset'); }, success: function(html) { $('#collapse-checkout-confirm .panel-body').html(html); $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').html('<a href="#collapse-checkout-confirm" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle"><?php echo $text_checkout_confirm; ?> <i class="fa fa-caret-down"></i></a>'); $('a[href=\'#collapse-checkout-confirm\']').trigger('click'); }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); }); и заменить на $(document).delegate('#button-payment-method', 'click', function() { $.ajax({ url: 'index.php?route=checkout/payment_method/save', type: 'post', data: $('#collapse-payment-method input[type=\'radio\']:checked, #collapse-payment-method input[type=\'checkbox\']:checked, #collapse-payment-method textarea'), dataType: 'json', beforeSend: function() { $('#button-payment-method').button('loading'); }, success: function(json) { $('.alert, .text-danger').remove(); if (json['redirect']) { location = json['redirect']; } else if (json['error']) { $('#button-payment-method').button('reset'); if (json['error']['warning']) { $('#collapse-payment-method .panel-body').prepend('<div class="alert alert-warning">' + json['error']['warning'] + '<button type="button" class="close" data-dismiss="alert">×</button></div>'); } } else { $.ajax({ url: 'index.php?route=checkout/confirm', dataType: 'html', complete: function() { $('#button-payment-method').button('reset'); }, success: function(html) { $('#collapse-checkout-confirm .panel-body').html(html); $('#collapse-checkout-confirm').parent().find('.panel-heading .panel-title').html('<a href="#collapse-checkout-confirm" data-toggle="collapse" data-parent="#accordion" class="accordion-toggle"><?php echo $text_checkout_confirm; ?> <i class="fa fa-caret-down"></i></a>'); $('a[href=\'#collapse-checkout-confirm\']').trigger('click'); }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); } }, error: function(xhr, ajaxOptions, thrownError) { alert(thrownError + "\r\n" + xhr.statusText + "\r\n" + xhr.responseText); } }); });