NiceSEO’s VKontakte Crossposter

Бесплатный плагин для Wordpress для автоматического кросспостинга в паблик ВКонтакте

Делаем в VirtueMart вывод товарного чека в админке

Да, дорогие друзья, сегодня снова про ВиртуеМарт.

А добавим мы такую вещь как формирование и печать чека. Обычного товарного чека. Нафиг это надо? Ну например, чтобы печатать его и вкладывать в посылку с заказом)))

Или, когда есть торговая точка, и интернет-магазин, и у них всех одна база – та, которая в VirtueMarte. И вот продал клиенту товары, в админке быстренько оформил заказ, напечатал чек, выдал клиенту.

Ну, для тех кто еще не очень понял, niceseo как всегда заготовил парочку скриншотов.

Итак, сначала мы, как обычно, заходим в админку в список заказов, но видим у каждого заказа (о, нифига себе) новую кнопку:

И вот после клика на неё, во всплывающем окошке мы видим… ЧЕК!

Вот такая штука 🙂 Сейчас мы её сделаем.

Во-первых открываем файлец  /administrator/components/com_virtuemart/html/order.order_list.php, в котором меняем

на

но это не всё, рано файл закрывать, еще находим

и меняем вторую строку на 

Всё, теперь сей файл можно закрыть, и открыть /administrator/components/com_virtuemart/languages/order/russian.php, в который, куда-нить в середину там добавить следующие строки:

Всё, его теперь сохраняем и тоже закрываем, ну и остался самый главный шаг.

Нужно создать файл order.order_check_bassboom.php, положить его в /administrator/components/com_virtuemart/html, и вставить в него следующий код (осторожно, ща будет много строк 🙂 ):

На самом деле кода тут не много, и разобраться крайне легко, просто в блоге так выглядит монструозно)))

Ну, статью подготовил как обычно linur, за сим прощаюсь с вами до, наверное, завтра, т.к. тенденция пошла что уже который день пост в день выходит писать, не хочется её прерывать))) А вам на прощание пожелаю офигенных заработков с виртуемарт, ну и конечно же чтоб niceseo никогда не лагал 😀

 

UPDATE! Для комментирующих, у которых неправильно отображается “Итого”.

Попробуйте

заменить на

Статью подготовил linur, Специально для NiceSEO.ru, 25 января 2012 года. При копировании не забывайте о ссылке на источник.
  • Zvmihail

    Добрый день,

    не заработало 🙁
    joomla 1.5, virtuemart 1.1.9

    По нажатии кнопки “Вывод чека” открывается доп. окно браузера в котором не чек, а вновь страница “список заказов”.
    Сделал все как описано в статье, перепроверил все несколько раз … не работает.
    Куда копать?

    • Аноним

      Так, для начала отладки сделайте следующее: в файл /administrator/components/com_virtuemart/html/order.order_printdetails.php удалите всё и вставьте код, который в статье дан для файла order.order_check_bassboom.php.
      Теперь при нажатии на “Вид для печати” должен открыться желаемый чек. Открылся или также внось страница с заказами?

      • Сергей Куляев

        Странно у меня всё равно не выводит, даже если код из order.order_check_bassboom.php вставляю в order.order_printdetails.php.

        • http://www.niceseo.ru/ob-avtore linur

          Значит у вас, видимо, версия VirtueMart сильно отличается и данный хак вам не подойдёт

      • Андрей

        а для Вирумарт 2 планируется сделать что то подобное ? Популярная вещь будет !

        • http://www.niceseo.ru/ob-avtore linur

          планируется) в ближайший месяц, думаю

          • Igor

            С нетерпением ждем))

  • Zvmihail

    Да, теперь по кнопке “вид для печати” открывается товарный чек!

    • Аноним

      Значит всё, проблема решена? 🙂

  • Zvmihail

    Криво конечно 🙂 по кнопке “вид для печати” хотелось бы накладную, но да бог с ней, и так хорошо 🙂 Спасибо!!

  • http://twitter.com/rezon99 rezon99

    А как ты сделал поле отправки номера отправления?

    • Аноним

      а там легко, в рунете у какого то блоггера мануал нашел, гугл в помощь 🙂

  • me

    Спасибо, огромное. Все ОК! Правда под себя немного доработал.

  • lin

    Большое спасибо за статью , очень нужная вещь, ещё бы как-нибудь сумму прописью прикрутить((

    • http://www.niceseo.ru/ob-avtore linur

      так найдите функцию нужную и прикрепите. В моем случае не было такой необходимости.

  • Kreolka_8

    А у меня не выводит “Итого: ” Возможно потому, что в заказе присутствует ещё стоимость доставки, а в товарном чеке её нет. А в последней строке ” Всего наименований …” пишет 1 и сумма с учетом доставки. Может что то не доработано?

    • http://www.niceseo.ru/ob-avtore linur

      Добавил UPDATE в конце статьи, попробуйте

      • Kreolka_8

        К сожалению ничего не изменилось. Пробовала и с новым заказом, все равно “Итого:” нет. 🙁

  • Дмитрий

    Спасибо! Это во-первых. 🙂
    Во-вторых. Там, где вносится второе исправление в файл order.order_list.php обратите внимание на код:
    “$listObj->addCell(“<a href="javascript:void window.open('http://69level.com/administrator/index.php…."

    А ведь вместо "http://69level.com&quot; у каждого должен быть свой адрес!

    И в-третьих. У меня тоже не работает "Итого". :(((

  • Дмитрий

    (Не полностью предыдущее сообщение ушло)
    А ведь вместо “http://69level.com” у каждого должен быть свой адрес!

    И в-третьих. У меня тоже не работает “Итого”. :(((

    • http://www.niceseo.ru/ob-avtore linur

      1. Изменил, спасибо
      2. Добавил UPDATE в конце статьи, попробуйте

  • MouseSport

    Блин круто!
    Когда акты и счета фактур ждать?

    • http://www.niceseo.ru/ob-avtore linur

      Когда появится необходимость сделать их на каком-либо сайте 🙂 В принципе – то же самое, но чуть усложнено, попробуйте сами, или дайте ссылки на примеры того и другого, если действительно нужно – напишу подобный мануал

  • Пётр

    Здравствуйте. Если делать, как написано в статье, то при нажатии на кнопку открывается новое окно с списком заказов. Если весь код из файла order.order_check_bassboom.php скопировать в order.order_printdetails.php , то чек выводится нормально, однако заказчику удобно открывать Вид для печати, и не хочется терять этот функционал. Подскажите пожалуйста, как исправить?
    Спасибо!

  • Пётр

    Нашел! Что бы нормально открывался чек, так, как вы описали в статье, нужно поправить у вас в коде:
    $listObj->addCell(“addCell(“<a href="javascript:void window.open('http://&quot;.$_SERVER['HTTP_HOST']."/administrator/index3.php?

    , в файле /administrator/components/com_virtuemart/html/order.order_list.php

    Большое спасибо за чек!

  • Пётр

    Нашел! Что бы нормально открывался чек, так, как вы описали в статье, нужно поправить у вас в коде:
    “/administrator/index. на “/administrator/index3.
    в файле “order.order_list.php”
    Удалите пожалуйста предыдущий пост.

    Большое спасибо!

  • Alex

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

    • http://www.niceseo.ru/ob-avtore linur

      Статья обновлена, обновите код в order.order_check_bassboom.php, теперь указывается скидка (купон на скидку).

  • Дмитрий

    Неа, ничего не изменилось. Все равно в файле order.order_list указано “”http://69level.com/images/M_” 🙂

    • http://www.niceseo.ru/ob-avtore linur

      Спасибо, исправил) Если не сложно, прикрепите скрин с “итого” нерабочим, попробую разобраться)

      • Роман

        Добрый день, под товарами должна быть еще доставка, потом скидка и итого. Доставки и итога нет, но общая сумма указана верно, с учетом доставки.

        • http://www.niceseo.ru/ob-avtore linur

          Добавил строку с доставкой, обновите order.order_check_bassboom.php

      • Роман

        Огромное спасибо за статью!

  • Andrey561

    Подскажите, а тут учитывается стоимость доставки товара?

    • http://www.niceseo.ru/ob-avtore linur

      Учитывается, и даже теперь показывается. Если нужно, обновите order.order_check_bassboom.php

  • Игорь

    Здравствуйте, у меня оператору магазина дан доступ в админку виртумарта только с фронтенда, а оттудова кнопка печати товарного чека не работает. Не подскажите чего подправить надо?

    • Игорь

      Уже сам сообразил.
      в ссылке в файле order.order_list.php надо подправить немного вот так
      …window.open(‘index2.php?page=…

  • http://www.71рус.рф/ Criat

    Подскажите пожалуйста как сделать название сайта в верху страницы печати читабельным для клиентов, то есть так http://www.71рус.рф?
    прикрепил скрин к этому посту.

  • http://www.71рус.рф/ Criat

    Подскажите пожалуйста как сделать название сайта в верху страницы печати читабельным для клиентов, то есть так http://www.71рус.рф?
    прикрепил скрин к этому посту.

    • http://www.niceseo.ru/ob-avtore linur

      Найдите нужную функцию перевода из Punycode в Unicode.

      Но если у вас единичный случай, проще прям в коде заменить “” на “www.71рус.рф”

  • Rewire-it

    как можно добавить столбик с именемназванием продавца скажем после столбика артикула?

    • http://www.niceseo.ru/ob-avtore linur

      запрос изменить, и добавить в таблице th и td соответствующий. Доработка не минутная, могу сделать на правах фриланса

  • Sergkidman

    фраза “Товарный чек” “№” выводить ромбиками с вопросами, как это исправить не подскажите?

    • http://www.niceseo.ru/ob-avtore linur

      Подскажу 🙂 Найти в коде эту фразу и заменить её на переменную, которую в свою очередь прописать в языковой файл, как это сделано с фразами “Вывод чека” и т.д.
      Или просто пробуйте сохраните файл order.order_check_bassboom.php в других кодировках, если в UTF-8, то без подписи (галочка ставится такая в редакторах)

  • Rewire-it

    Как можно показать кнопочку вывода чека только при статусе заказа “Оплачено”

  • Kristyn

    Привет ! Спасибо большое за статью. Но у меня совсем не выводит Итого. И еще скажи пожалуйста ,как добавить еще сумму за пересылку ?

    • Kreolka_8

      И меня эти вопросы волнуют давно. Так же совсем нет ИТОГО и хотелось бы отдельной строкой- Доставку!

      • http://www.niceseo.ru/ob-avtore linur

        Доставку отдельной строкой дописал, как в обычном “виде для печати”, обновите order.order_check_bassboom.php

        • Kreolka

          Спасибо! Строка с доставкой вывелась. А вот ИТОГО в конце табл. так и нет, странно даже. Пробовала, хотя это одно и то же, скопировать вывод ИТОГО из файла order.order_printdetails.php. Почему то там все выводится.

        • Kreolka

          И “ИТОГО” появилось! При новом заказе все появилось! Спасибо!

          • http://www.niceseo.ru/ob-avtore linur

            Рад, что в итоге всё ок 🙂 а почему только к новым заказам действительно хз.

  • madmouzel

    подскажите а как вывести еще в чеке сумму услуг доставки?

    • madmouzel

      f(“order_subtotal”)).” грн”?>

      вот такой код надо вставить в выводе Итого и тогда отобразиться
      и чуть ниже через вставить код вывода суммы доставки

      f(“order_shipping”))?>

      • madmouzel

        неправильно код преобразовался в Дискусе)))
        пусть будет картинкой

  • alex

    Все отлично
    но когда делаю в заказе скидку – оно считает итоговую сумму сразу со скидкой.
    Как сделать чтобы в чеке были видны поля “Промежуточный итог”, “Скидка”, и уже потом Итого?

    • http://www.niceseo.ru/ob-avtore linur

      Если скидка по купону, то всё показывается. Иные случаи не рассматривал, если эти строки есть в обычном “виде для печати”, то попробуйте скопировать их из order.order_printdetails.php, должно заработать

  • dan_killerus2

    Извините пожалуйста за тривиальный вопрос. Только начинаю изучать Virtuemart. Можно ли сделать то же самое только для пользователя в корзине? Или это уже реализовано в Virtuemart 1.1.9 ? Сейчас разрабатываю самый простой магазин. Человек набрал товара в корзину, нажал “Распечатать счёт”, сохранил файл, распечатал файл, отнес в магазин, оплатит и забрал товар. Заранее спасибо.

    • http://www.niceseo.ru/ob-avtore linur

      Данный хак для админки, во фронтенде всё несколько по-другому, так что не подойдёт. А пользователю приходит же e-mail с номером заказа, там и номер заказа и всё что нужно, вот пусть его печатает и идёт в магазин 🙂

      • dan_killerus2

        Большое спасибо за ответ, не знал о такой опции. Просто ещё не испытывал на интернет хостинге.

  • http://www.niceseo.ru/ob-avtore linur

    Данный хак для админки, во фронтенде всё несколько по-другому, так что не подойдёт. А пользователю приходит же e-mail с номером заказа, там и номер заказа и всё что нужно, вот пусть его печатает и идёт в магазин 🙂

  • http://www.niceseo.ru/ob-avtore linur

    Данный хак для админки, во фронтенде всё несколько по-другому, так что не подойдёт. А пользователю приходит же e-mail с номером заказа, там и номер заказа и всё что нужно, вот пусть его печатает и идёт в магазин 🙂

  • Роман

    Спасибо

    • http://www.niceseo.ru/ob-avtore linur

      Всегда рад помочь 😉

  • Mack

    Уже пора опубликовывать хак на версию VM 2.X

  • Дмитрий

    Привет! Сделал всё как указано в этой статье. Создал фаил order.order_check_bassboom.php. Добавил CHECK BASSBOOMы в russian.php, в
    order.order_list.php заменил строчки PHPSHOP_ORDER_LIST_TRACK на

    PHPSHOP_ORDER_LIST_CHECK_BASSBOOM, и $listObj->addCell(“”); на $listObj->addCell(“<a href="javascript:void window….
    Перезагрузил виртуемарт. Появился только столбец "Вывод чека", а самой кнопки нету.
    Версия Virtuemart 1.1.9

    • http://www.niceseo.ru/ob-avtore linur

      Смотрите в сторону второй правки, где listObj->addCell изменяем, в этой строке и указан путь к иконке печати, можно вообще текстовую ссылку сделать а не изображением.

      • Дмитрий

        Спасибо за помощь! Нашел вариант вашего товарного чека на другом сайте.Пришлось объединить части чтобы все заработало.

        • http://www.niceseo.ru/ob-avtore linur

          Рад, что в итоге всё получилось!

    • Дмитрий

      Всё, я разобрался с одной проблемой и тут же возникла другая. Как вывести Итого и сумму?
      Менял с

      getFullValue($db->f(“order_total”), ”, ”); ?>

      на

      getFullValue($total, ”, ”); ?>

  • ia

    Подскажите, чек формируется, а печать не идет. Т.е. окно как у на картинке в писании, но нет окна далее печать.

    • http://www.niceseo.ru/ob-avtore linur

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

  • Игорь

    Здравствуйте, спасибо за Ваш труд!
    Подскажите пожалуйста как сделать что бы логотип магазина был в самом верху по центру под ним url-адрес, адрес магазина тож по центру.
    пробовал менять код, ничего не получилось.
    и еще как убрать Стоимость доставки и плата за отгрузку: 0.00 руб.
    Заранее спасибо.

  • Сергей

    Привет ! Спасибо большое за статью. Но у меня возник вопрос. Как на подобие этого можно сделать Товарную накладную и Акт выполненных работ?

  • Владимир

    Все-равно нет ИТОГО
    И подскажите, как сделать отступ от логотипа? Товарный чек №… печатается на логотипе!

  • Григорий

    Как в virtuemart 2 сделать такую же? В каких файлах править?

    • http://www.niceseo.ru/ob-avtore linur

      до виртумарта 2 пока руки полноценно не дошли, там по другому всё( могу сделать на платной основе

      • Евгений

        сколько будет стоить редактировать товарный чек в virtuemart 2
        +380636626297

  • dma

    добрый день!

    а как сделать вывод Имени и Фамилии в одной строке а на следующей строке адрес в одну строку?

    как я понял что за данное дело отвечаеет часть кода :
    name) { case ‘country’: require_once(CLASSPATH.’ps_country.php’); $country = new ps_country(); $dbc = $country->get_country_by_code($dbst->f($field->name)); if( $dbc !== false ) echo $dbc->f(‘country_name’); break;
    default:
    echo $dbst->f($field->name);
    break;
    }
    ?>”

  • Антон

    Здравствуйте! Огромное спасибо за статью, очень полезна. А для Virtuemart 2,х есть решение этой проблемы?

  • Сергей

    Для JoomShopping есть похожее решение? На сколько я понял, здесь отсутствует возможность правки чека в случаи отсутствия какой нибудь позиции?

    • http://www.niceseo.ru/ob-avtore linur

      Ток для вм1.1, править нельзя, могу если надо на коммерческой основе сделать.

  • Мария Волкова

    Добрый день! Будет ли статья для VM2. Очееень хотелось бы!

Я также состою в:
Лучшая веб-студия!
Яндекс.Метрика
© 2011-2017 NiceSeo.ru