MaZa 10 Опубликовано 29 ноября, 2012 Жалоба Share Опубликовано 29 ноября, 2012 Добрый день. Такой вопросик. Если зайти в админка - заказы, выбрать заказ и нажать на кнопочку "счёт" открывается страничка - версия для печати - счёт фактура. в ней есть графа, в которой пишется стоимость доставки. Когда клиент выбирает доставку в другие города, в счете пишется: "Доставка в другие города (Служба доставки". Судя по всему должно быть ещё написано какая именно служба доставки (у меня их несколько). Я посмотрел в исходном коде (например admin/print_order.php) как эта информация попадает в шаблон templates/шаблон/admin/print_order.html и выяснилось, что данные берутся из таблицы "orders_total". Между прочим, тип поля title varchar(255). например запрос: "SELECT * FROM my_db.orders_total WHERE `orders_id` = '1239'" возвращает мне 3 строки. в одной из них в поле "title" указан вариант доставки и там в поле написано точно так же как и на странице "Доставка в другие города (Служба доставки". Логично предположить, что при Insert'e данных в БД этот string и записывается. Т.е. Перед инсертом происходит обработка данных и обрезаются данные для поля title. скорее всего по длине. Кстати, откуда берется этот стринг? Я не могу найти точно такой же. В админке в модуле доставки написано "Служба доставки "Новая почта"", в файле lang/russian/modules/shipping/novaposhta.php, например, в константах указано "Служба доставки <b>Новая почта</b>". Подскажите в каком файле найти эту проверочку, куда копать? (Хочу убрать это самое обрезание) :) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 29 ноября, 2012 Жалоба Share Опубликовано 29 ноября, 2012 Не совсем конечно понял, но названия модулей доставки обычно сидят в /lang/russian/modules/shipping/ Оттуда обычно всё и берётся. Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 29 ноября, 2012 Автор Жалоба Share Опубликовано 29 ноября, 2012 (изменено) перефразирую и напишу короче: название модуля у меня одно, а в счет-фактуре другое. и обрезанное. вопрос: где это обрезание происходит? (в таблице orders_total уже записано обрезано) p.s.: а что не понятно-то? :) update: не знаю где этот инсерт в таблицу orders_total происходит), но таки данные берутся из lang/russian/modules/shipping/....php правда как-то по-хитрому. строка создается из кусочков. У меня была проблема с данными в этой константе MODULE_SHIPPING_NOVAPOSHTA_TEXT_WAY, там нельзя использовать двойные кавычки. если не сложно всё равно подскажите какой файл записывает данные в orders_total Изменено 29 ноября, 2012 пользователем MaZa Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 30 ноября, 2012 Жалоба Share Опубликовано 30 ноября, 2012 Запись заказа идёт в /checkout_process.php Попробуйте там посмотреть. Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 30 ноября, 2012 Автор Жалоба Share Опубликовано 30 ноября, 2012 опа, нашёл) интересно добавляется в базу инфа, есть свой конструктор запроса.. спасибки :) Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 30 ноября, 2012 Жалоба Share Опубликовано 30 ноября, 2012 Надеюсь, что разберётесь. Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 4 февраля, 2013 Автор Жалоба Share Опубликовано 4 февраля, 2013 а теперь другой вопрос, как эту графу из счёт-фактуры убрать? :-) я про стоимость доставки. так "с наскоку" разобраться не удалось :-( Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 4 февраля, 2013 Жалоба Share Опубликовано 4 февраля, 2013 Наверное нужно просто в sql запрос добавить условие, что б не доставался ot_shipping модуль, т.е. в /admin/print_packingslip.php, видимо, менятьЖ // get order_total data $oder_total_query=vam_db_query("SELECT title, text, class, value, sort_order FROM ".TABLE_ORDERS_TOTAL." WHERE orders_id='".$_GET['oID']."' ORDER BY sort_order ASC"); [/code] на что-то типа: [code] // get order_total data $oder_total_query=vam_db_query("SELECT title, text, class, value, sort_order FROM ".TABLE_ORDERS_TOTAL." WHERE orders_id='".$_GET['oID']."' and class <> 'ot_shipping' ORDER BY sort_order ASC"); Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 5 февраля, 2013 Автор Жалоба Share Опубликовано 5 февраля, 2013 спасибо большое! только я поменял запрос не в файле /admin/print_packingslip.php, а в /admin/print_order.php а подскажите, пожалуйста, как убрать стоимость доставки в счёт-фактуре в клиентской части сайта? (/schet.php?oID=974) в файле schet.php нет такого запроса :( Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 5 февраля, 2013 Жалоба Share Опубликовано 5 февраля, 2013 Аналогично. Только править метод getTotalData в /includes/classes/order.php Но тут аккуратней, класс order используется не только в счёте. Смотрите что б это боком не вылезло где. Можно просто именно для счёт создать новый метод getTotalDataNew к примеру, полность аналогичный код getTotalData, за исключением sql запроса. Так даже правильней будет. Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 5 февраля, 2013 Автор Жалоба Share Опубликовано 5 февраля, 2013 спасибо. всё получилось. Ссылка на сообщение Поделиться на другие сайты
MaZa 10 Опубликовано 5 февраля, 2013 Автор Жалоба Share Опубликовано 5 февраля, 2013 (изменено) жесть.. задачка по-сложнее. надо бы переименовать в счёт-фактуре фразы: "Стоимость товара:" и "Всего:". Я так понимаю эти данные берутся из базы, из таблицы orders_total, но не могу найти откуда берется этот текст. хотел бы тоже сделать клон констант с этими фразами и задействовать их только в счёт-фактуре. (магазин русскоязычный, но документы должны быть на украинском языке). Хелпъ плиз! update: откопал эти константы.. описываются они в файлах: /lang/russian/modules/order_total/ot_total.php /lang/russian/modules/order_total/ot_subtotal.php используются в файлах: /includes/modules/order_total/ot_total.php /includes/modules/order_total/ot_subtotal.php вот таким образом: $this->title = MODULE_ORDER_TOTAL_SUBTOTAL_TITLE; $this->title = MODULE_ORDER_TOTAL_TOTAL_TITLE данные из этих констант записываются в БД в таблицу orders_total, так что эти фразы в счетах оформленных заказов будут на том языке на каком было записано в константах в момент оформления заказа. К слову, тут мультиязычность на сколько я понимаю не предусмотрена. осталось разобраться как аналогичным способом изменить сумму прописью. хелп плиз! :) Изменено 5 февраля, 2013 пользователем MaZa Ссылка на сообщение Поделиться на другие сайты
support 447 Опубликовано 6 февраля, 2013 Жалоба Share Опубликовано 6 февраля, 2013 Тексты для суммы прописью в /lang/russsian/russian.php и /lang/russian/admin/russian.php Ищите по "рублей" или по "рубля" Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения