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

Дмитрий2312

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

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

  • Посещение

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

  1. Спасибо, я понял вашу позицию.

    И всё же вопрос для меня актуален.

    Понятно, что \u символы получаются после кодировки массива в json, при декодировке они обратно конвертируются в кириллицу.

    Нашёл следующий код, который преобразует \u символы в кириллицу:

    function jsonRemoveUnicodeSequences($struct) {
       return preg_replace("/\\\\u([a-f0-9]{4})/e", "iconv('UCS-4LE','UTF-8',pack('V', hexdec('U$1')))", json_encode($struct));
    }

    однако там перед каждым символом добавляются обратные слэши

    кто подскажет где косяк?

  2. метод POST из представления контроллеру шлёт русский язык в таком формате:

    {"txt_symheight":"\u0412\u044b\u0441\u043e\u0442\u0430 \u0441\u0438\u043c\u0432\u043e\u043b\u0430, \u043c\u043c","inp_symheight":"60","txt_fieldswidth":"\u0428\u0438\u0440\u0438\u043d\u0430 \u043f\u043e\u043b\u0435\u0439, \u043c\u043c","inp_fieldswidth":"120","txt_material":"\u041c\u0430\u0442\u0435\u0440\u0438\u0430\u043b","sel_material":{"selected":"PET0.75","PET0.3":"\u041f\u042d\u0422 0.3 \u043c\u043c","PET0.5":"\u041f\u042d\u0422 0.5 \u043c\u043c","PET0.75":"\u041f\u042d\u0422 0.75 \u043c\u043c","PET1":"\u041f\u042d\u0422 1 \u043c\u043c"},"const_proportions":"12","const_count":"3","const_lenght":"4"}

    как конвертнуть его в такой вид:

    {"txt_symheight": "Высота символа, мм", "inp_symheight": 50, "txt_fieldswidth": "Ширина полей, мм", "inp_fieldswidth": 20, "txt_material": "Материал",   "sel_material": { 	"selected": "PET0.3", 	"PET0.3": "ПЭТ 0.3 мм", 	"PET0.5": "ПЭТ 0.5 мм", 	"PET0.75": "ПЭТ 0.75 мм", 	"PET1": "ПЭТ 1 мм"   } }

     не хочу в базе много места занимать,  всё-равно всё в UTF-8

  3. 10 минут назад, markimax сказал:

    Обновляются поля из фронта ?

    Извиняюсь за тупость. Что это значит "из фронта"?

    11 минуту назад, markimax сказал:

    Если включен Turbo - то понятное дело обновляться они не будут, так как код их выполняться не будет

    А где включается Turbo?

  4. Всем привет. Прошу помощи у знатоков.

    Насколько я знаю у opencart pro есть кэширование запросов в базу.

    Похоже я напоролся с этим кэшированием на геморрой.

    У меня то читаются и пишутся поля в базу, то перестают это делать, непонятно почему.

    $calcjson=json_encode($data['calcparams']);
    $this->db->query("UPDATE " . DB_PREFIX . "product SET calculator='" . $this->db->escape($data['selected-calculator']) . "' WHERE product_id = '" . (int)$product_id . "'");// это поле пишется и читается номрально
    $this->db->query("UPDATE " . DB_PREFIX . "product SET parametres='" . $this->db->escape($calcjson) . " WHERE product_id = '" . (int)$product_id . "'");// это поле сейчас не пишется и не читается, вчера и сегодня утром читалось без проблем

    Кто-нибудь сталкивался с такой проблемой?

  5. Товар не кривой. У меня одна опция в товаре - textarea. Расчёт стоимости Продукта идёт по своему алгоритму - т.н. калькулятор. В textarea пихаются технические данные - ширина, высота, материал и т.п. в виде json строки, далее я могу все эти параметры вытряхнуть и расшифровать, поэтому и белиберда такая.

    Везде, где фигурируют данные о купленных/выбранных товарах (cart, checkout, confirm и т.д.) я уже вклеил код и оно нормально там отображается, только проблемы с табами в админке, нашёл контроллер и представления, всё там поменял, но ничего в результате не изменилось, видимо там jquery рулит и обновляет данные на странице, буду ещё копать...

  6. Здравствуйте, уважаемые форумчане. Который час бьюсь - ничего не получается.

    Во вложении таб из админки.

    Не могу понять откуда тянутся данные о товаре.

    перелопатил файл контроллера "admin/controller/sale/order.php"

    нашёл все $option['value'] кучу раз подменял значения а информация выводится одна и та же

    также лопатил 'admin/view/template/sale/order_form.tpl' здесь ещё интересней во время загрузки идут данные из шаблона, а как только всё прогрузится страница обновляется и тянутся новые данные не пойму откуда.

    Помогите, пожалуйста.

    P.S. Задача состоит в том, чтобы белиберду из $option['value'] расшифровать и выдать в нормальном читаемом виде.

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

    Screenshot_1.jpg

  7. Opencart 2.0

    1. в папке catalog/controller/calc будут создаваться файлы с именами: "calc0001.php", "calc0002.php" и т.п. внутри я сам реализую логику расчёта цен

    2. в папке catalog/view/theme/default/template/calc будут создаваться файлы: "calc0001.tpl" и т.д. одноимённые с теми что в контроллере

    3. в карточке товара в админке будет опция textarea "calculator", куда будет вписываться "calc0001", "calc0002" и т.д.

    задумка такая:

    как только движок видит textarea с именем calculator, то в карточку товара прилепляется .tpl из пункта 2. в этом шаблоне будут все необходимые поля для заполнения (инпуты, списки, радио и пр.), сам textarea тоже будет в карточке товара, только display:none. 

    все изменения каких либо полей на карточке товара должны приводить в действие логику в файлах из пункта 1. и пересчитывать цену на товар и изменять текст внутри

    textarea"calculator" по следующим правилам:

    допустим у нас 2 поля ввода: "ширина":200 и "высота":200, в textarea записывается: "ширина:200; высота:200"

    после нажатия на кнопку "купить" считается окончательная стоимость и в корзину летит информация с рассчитанной ценой и значением textarea.

    Реализовать это нужно в виде .xml

    Сколько будет стоить работа и сроки.