Недавно у моего заказчика возникла необходимость вывести в печатную форму штрихкоды товаров. Для чего это понадобилось? Для быстрого подбора заказа в 1С.
Администратор из админки Virtuemart из списка заказов печатает товарный чек, на котором есть штрихкод для каждого товара, а дальше просто сканирует их в 1С.
Не буду останавливаться на том, как в Virtuemart сделать дополнительное поле для ввода и хранения штрихкода - это решение давно есть на форуме - http://joomlaforum.ru/index.php/topic,36710.new.html
Расскажу как динамически сформировать и вывести на HTML страницу саму картинку штрихкода.
Не будем придумывать велосипед - воспользуемся готовым решением.
Я использовал библиотеку от http://barcodephp.com/ . Она позволяет генерить штрихкоды в разных стандартах. Я буду использовать старый-добрый EAN13
Скачиваем архив http://barcodephp.com/en/download/file/id/75 , распаковываем и помещаем его содержимое в /administrator/components/com_virtuemart/classes/barcode/
Дальше идем в шаблон печатной формы и там где мы хотим вывести штрихкод пишем:
<img src="/administrator/components/com_virtuemart/classes/barcode/html/image.php?filetype=PNG&dpi=72&thickness=20&scale=1&rotation=0&font_family=Arial.ttf&font_size=7&text=<?php echo $ps_product->get_field($dbcart->f("product_id"), 'ean')?>&code=BCGean13" alt="barcode" />
Как Вы уже догадались, с помощью
<?php echo $ps_product->get_field($dbcart->f("product_id"), 'ean')?>
мы получаем значение штрихкода товара из поля 'ean'.
В коммандной строке image.php настраиваются все параметры вывода и формирования штрихкода.
Удачных экспериментов.