Прайс-лист для VirtueMart 3

Прайс-лист VirtueMart

Вышло обновление компонента до версии 1.7. Подробности об обновлении читайте в статье.

Прайс-лист для VirtueMart 3 — это компонент, позволяющий генерировать прайс-лист товаров VirtueMart 3 и выводить его как на экран, так и загружать в формате MS Excel 2007 (xlsx).

Компонент распространяется бесплатно.

Установка и настройка

Компонент Прайс-лист для VirtueMart 3 устанавливается стандартно через менеджер расширений.

После установки в разделе Компоненты появится новый компонент Прайс-лист для VirtueMart 3. Настройки компонента на скриншоте ниже.

 

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

Опция Добавлять изображение товара (доступно в версии 1.6 и выше) добавляет столбец с миниатюрой товара. (Внимание! При большом количестве товара создание прайс-листа может занимать длительное время, а размер загружаемого файла может быть довольно большим.)

Опция Добавлять артикул (доступно в версии 1.1 и выше) добавляет столбец с артикулом товара.

Опция Добавлять производителя (доступно в версии 1.4 и выше) добавляет столбец с производителем товара.

Опция Контроль остатков добавляет столбец в прайс-лист с указанием текущего статуса товара (в наличии, под заказ, недоступен и т.п.). Данная опция работает на основе стандартного контроля остатков в VirtueMart, поэтому, если в вашем магазине не используется контроль остатков, то данную опцию лучше не задействовать.

Опция Выгружать только товары «В наличии». Будут выгружены только те товары, которые есть в наличии. Работает только при задействованной опции Контроль остатков.

Опция Выгружать товары с состоянием «На заказ». Если задействовано, в прайс-лист будут добавлены товары, статус которых указан как «На заказ». В VirtueMart такой статус устанавливается товару с помощью выбора изображения on-order.gif в поле Доступность, в разделе Компоненты -> VirtueMart -> Товары -> Редактирование товара -> Вкладка Статус.

Опция Выгружать количество товаров добавляет столбец в прайс-лист с текущим количеством товаров на складе.

Опция Динамической формирование прайс-листа. Если выбрано Да, прайс-лист будет генерироваться автоматически при каждом обращении к ссылке на скачивание. Если выбрано Нет, прайс-лист будет сформирован при помощи кнопки Обновить прайс-лист в панели управления компонентом, а пользователю будет выдана ссылка на скачивание. В этом случае автоматического обновления прайс-листа не предусмотрено.

Опция Использовать шаблон сайта (доступно в версии 1.3 и выше)Если выбрано Да, прайс-лист будет выведен в шаблоне сайта, если Нет, то на странице без оформления.

Использование компонента

Для использования компонента создайте новый пункт меню. Тип пункта меню Прайс-лист для VirtueMart 3 -> Прайс-лист.

Все настройки здесь стандартные, кроме пункта Способ получения прайс-листа, который имеет две опции:

  1. Загрузить прайс-лист. В этом случае, пользователь при нажатии на кнопку меню, получит прайс-лист в формате MS Excel 2007 (*.xlsx).
  2. Вывести на экран. Прайс-лист будет выведен на экран в формате html страницы.

Информация о компоненте

Совместимость: Joomla 3, VirtueMart 3.

Дата обновления: 27 февраля 2019

Изменения в версии 1.7.1:

  • Добавлена поддержка VirtueMart 3.4.5

Изменения в версии 1.7:

  • Исправлен вывод страны в шапке прайса.

Изменения в версии 1.6:

  • Добавлена возможность добавлять миниатюры товара в прайс-лист.
  • Добавлено кэширование для библиотеки PHPExcel, что уменьшает время формирования Excel файла.

Изменения в версии 1.5:

  • Исправлена ошибка формирования ссылок при использовании SSL

Изменения в версии 1.4:

  • Добавлена возможность добавлять в прайс-лист производителя товара.

Изменения в версии 1.3:

  • Добавлен английский и украинский языки;
  • Добавлена возможность выбирать как выводить прайс-лист на экран: в шаблоне сайта или на пустой странице без оформления;
  • Устранены мелкие ошибки.

Изменения в версии 1.2:

  • Исправлены ошибки при работе компонента на сервере с PHP 5 и выключенном контроле остатков.

Изменения в версии 1.1:

  • Добавлена возможность выгружать артикулы к товару;
  • Изменен принцип формирования прайс-листа;
  • Добавлен сервер обновлений;
  • Устранены мелкие ошибки.

Стоимость: бесплатно

Демо
Скачать

Комментариев: 79 на Прайс-лист для VirtueMart 3

Добрый день! Великолепное решение, нужно именно это, удивилась, когда нашла эту страницу, причем все так подробно описано и аккуратно выложено — спасибо!) Но… запустить на Joomla 3.6.5 не удалось, VM 3.0.16. Это совместимо?

При попытке создать пункт меню типа «Вывести на экран» — http://кондиционерытольятти.рф/tseny.html При попытке создать пункт меню «Загрузить» — либо вообще происходит переадресация на главную страницу, либо скачивается содержимое какой-то простой страницы (названия пунктов меню и тп) — http://кондиционерытольятти.рф/zagruzit.html Что-то не так делаю?

1. У вас есть пункт меню с типом VirtueMart-> Главная? Если нет, то нужно создать. В Joomla 3.6 и выше есть функция «Показать в меню», т.е., если, к примеру, вы не хотите отображать данный пункт в меню, то выбираете «Показать в меню» — «Нет».

2. Зайдите в настройки компонента прайс-листа и нажмите сохранить.

3. Включите показ ошибок в Joomla (Система->Общие настройки, вкладка «Сервер», сообщения об ошибка — максимум (или для разработчиков). Возможно, компонент с чем-то конфликтует.

4. Какая у вас на сервере версия PHP и MySQL?

Notice: Undefined variable: prAvailability in /home/virtwww/w_new2edel_cb158072/http/components/com_vmtoxls/models/getxls.php on line 650

Notice: Undefined index: product_override_price in /home/virtwww/w_new2edel_cb158072/http/components/com_vmtoxls/models/getxls.php on line 474

Обновите компонент.
Проверил на сервере с такими же параметрами, как у вас:
php 5.4
mysql 5.5

Была пара мелких ошибок, т.к. изначально компонент разрабатывался под PHP 7
В обновленной версии ошибки исправлены, должно работать.

проблем с кодировкой не увидел
http://s05.radikal.ru/i178/1703/f5/9b351859d04c.png

в шаблон встраивать можно, для этого надо переписать файл, отвечающий за вывод контента. возможно, в ближайшее время сделаю, т.к. сейчас работаю над коммерческим проектом, и времени очень не хватает.

Спасибо за ответ!) У меня к сожалению, всегда вот так: https://yadi.sk/d/jQcOGEXD3GGYDa Почему-то по умолчанию браузер Firefix воспринимает кодировку ISO. В Chrome нормально.

Насчет шаблона — было бы отлично! Можно конечно и этот вариант обыграть, сейчас, если заработает у меня корректно, сделаю шапку для прайса, и будет открываться в отдельном окне. По оформлению он даже очень сильно похож на наш excel прайс. Это вообще чудо, что Вы реализовали такую идею, автоматизацию которой я и не надеялась найти) А все прям как по ТЗ))) Как запущу это на сервере, обязательно Вас отблагодарю.

И еще вопрос параллельный — а в будущем не планируете сделать настройку округления величин? Или это надо еще как-то донастроить в VM? Я знаю, что VM своими силами это делает уже при выводе на сайт. У меня например, пересчет из долларов идет, поэтому копейки, но на сайте я отключила знаки после запятой. А в прайсе видно полное значение цены.

Спасибо! Удачи в проектах!)

По поводу кодировки. У меня на локальном сервере во всех браузерах все ок, Ваш сайт, действительно, в FF отображается в кодировке ISO.
Для решения проблемы добавьте в файл вашсайт/components/com_vmtoxls/views/getxls/tmpl/default.php
сразу после тега (49 строка) следующий тег:

после этого должно работать корректно.
По поводу округления. Компонент принудительно округляет до двух знаков после запятой. В ближайшем обновлении сделаю настройку округления цен.
На данный момент можете самостоятельно сделать округление до целого.
Для этого в файле вашсайт/components/com_vmtoxls/models/getxls.php
в строках 477 и 480 поменяйте цифру 2 на 0

Спасибо большое! Проблему с кодировкой решила просто тем, что пересохранила файл шаблона в utf-8 (в блокноте), плюс добавила в css настройки шрифта, еще кое-что подправила, получилось повеселее))) В дальнейшем было бы круто посмотреть встроенным в шаблон.

Насчет округления — получилось, спасибо!!!

И на скачивание не работает (( кондиционерытольятти.рф/zagruzit.html
Файл открывается только в Open Office и включает в себя пункты меню, какой-то текст. Странно получается. В принципе я могу попробовать перенести сайт на php 7 — но наверное сейчас не у всех еще есть на сервере такая возможность.

попробуйте сделать следующее:
в настройках компонента отключите динамическое формирование прайса, затем в админке компонента нажмите кнопку «обновить…»
если возникнет ошибка, проверьте наличие папки com_vmtoxls по адресу: вашсайт/media, а так же права на нее. должны быть 755.
после того, как прайс будет сохранен, попробуйте открыть его.
а для решения проблемы с динамическим формированием прайса мне потребуется доступ по FTP и в админку Вашего сайта. Потому что воспроизвести такую же ситуацию я не могу.
если готовы предоставить доступ, то можете сбросить все данные на почту admin@e-commerce24.ru, я в субботу-воскресенье покопаюсь и, надеюсь, решу эту проблему.

Попробовала без динамического создания файла. При генерации ошибку выдает всегда, но файл создался. Файл — открывается только в OpenOffice, но теперь содержимое там верное, там прайс)) но при переходе на пункт меню «загрузить прайс» — переадресация на главную страницу… Доступ, думаю, можно передать. Только надо подумать, как лучше (может быть отдельную тестовую сборку сделаю для Вас). И еще вопрос: если сайт перенести на php7 — должно все решиться без правок?) Вообще конечно хорошо бы добиться работы на более простых версиях, так как на разного рода сайтах может понадобиться такой компонент.
Еще раз спасибо!

возможно после перехода на PHP 7 проблема решится, но не уверен. надо понять где именно ошибка возникает. у меня на локальном сервере работает во всех версиях PHP начиная с 5.3

Здравствуйте,
Подскажите, можно ли как поправить, чтобы прайс формировался в выбранной валюте сайта (а не только в валюте по-умолчанию)?

проверьте наличие папки ../media/com_vmtoxls/ и права для записи в нее.

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

Доброго времени суток. Поставил компонент но при нажатии на кнопку обновить прайс (пока не может обработать этот запрос.HTTP ERROR 500) Как исправить?

Доброго времени суток!
Для понимания мне надо знать количество товаров на вашем сайте, параметры сервера, на котором расположен хостинг, а так же версию PHP и MySQL на хостинге.

Здравствуйте Денис!
Ранее уже был вопрос о дублировании имени домена в ссылках на товары. Выяснилось что это происходит при подключении SSL сертификата и работе сайта по https. При отключении данного функционала и работе по http ссылки вновь корректно формируются.
Подскажите, возможно ли поправить вывод ссылки на товар для ее корректного формирования при https доступе?

Добрый день!
Joomla! 3.7.0
VirtueMart 3.2.2
У меня компонент работает не корректно, а точнее при:
a)
1) Динамическое формирование прайс-листа — Нет
2) Способ получения прайс-листа — Загрузить прайс-лист
файл не загружается, страница просто обновляется (переход на главную)
В папке com_vmtoxls файл не создается.
После нажатия на «Обновить прайс-лист» появляется Ошибка 0 Invalid parameters passed и, в папке com_vmtoxls файл создается!
Если его скачать и попытаться открыть то в екселе сразу сообщение:
В книге … обнаружено содержимое, которое не удалось прочитать.

b)
1) Динамическое формирование прайс-листа — Да
2) Способ получения прайс-листа — Загрузить прайс-лист
файл скачивается, но при открытии ексель сообщает:
Не удается открыть файл … так как формат или расширения этого файла являются недопустимым. Убедитесь, что файл не поврежден и расширение его имени соответствует его формату.
На хостинге расширения: php_zip, php_xml, php_gd2 включены.
Вот собственно как то так.

Добрый день!
Скорее всего, у Вас в VirtueMart не заполнено какое-то из полей (адрес, телефон и т.п.)
Если у Вас установлен OpenOffice, Вы можете открыть сформированный файл им. OpenOffice откроет файл и можно будет увидеть поле, где именно ошибка в отличие от MS Office

Компонент очень полезный и бесплатный — автору респект, однако не могу использовать (установил, протестировал и выключил) — нет выбора валют. Еще нужно показать фото — миниатюру товара. Жду с нетерпением выбор валют.

Спасибо за отзыв.
Выбор валют появится в ближайшем обновлении, правда, по срокам не могу сказать. Ориентировочно — апрель. На данный момент используется валюта сайта по умолчанию.
Наличие миниатюры довольно спорный момент на мой взгляд. На маленькой картинке будет трудно что-то разглядеть, если использовать большие картинки, то текст будет не очень удобен для восприятия на их фоне. К тому же, картинки сильно увеличат размер файла прайс-листа.

моя позиция по поводу картинок в комментарии выше. любые доработки возможны за оплату по договоренности. если что-то не устраивает, готов вернуть все потраченные на покупку бесплатного компонента деньги.

Денис, откуда берется информация в шапке прайса (контакты) — у меня дважды продублировался телефон, а города нет и запятые перед страной.? Вот так вышло:
«Gidmaster»
, Украина, ,
г. ,
http://tool.gidmaster.info
v5055004@gmail.com
тел.: +38067 505 5004
тел.: +380675055004

Добрый день, после установки компонента в меню Joomla! «Компоненты» есть подпункт «Формирование прайс-листа Excel», никаких настроек компонента нет, и формирование прайс-листа не работает, выдаётся ошибка. Устанавливал компонент как обычное расширение. Что неправильно?
С уважением, Сергей.

Всё настроил, но теперь всё в точности как у «kostya80» в его сообщении от 15.11.2017 в 10:09. Открывал создающийся файл в LibreOffice — там ерунда: пара товаров без цен, съехавшие строки и столбцы, остальное пусто. На самом деле товаров 28. Что можно сделать?

Добрый день. прайс скачивается, но не открывается в ексель, пишет ошибку формата или файл поврежден, если скачивать напрямую из папки media/com_vmtoxls то открывается но без товаров, только категории.
подскажите что я делаю не так
заранее спасибо

Здравствуйте Денис.
Спасибо за компонент.
Установил, настроил. Выход в экран работает.
Но при загрузке выходит «Ошибка. Файл не существует».
Какая может быть ошибка ?
VM3.

При включении «добавить изображение» рушится страница: уползают блоки, подвал уходит вверх, прайс уполз вниз — наложение и прочее. Использую последнее обновление джумла и виртуемарт. Шапка таблицы не корректно заполняется реквизитами, об этом писал ранее. Полезная вещь, но автору, похоже, нет времени довести до ума.

Вот тут: http://demovm.e-commerce24.ru/index.php/prajs-list
последняя версия Джумлы и компонента. Как мы все можем видеть — все ок.
Если проблемы у вас, то, наверное, надо смотреть ваш шаблон/
Как вариант, переустановить компонент.
Про шапку выше я уже объяснял, какие поля за что отвечают. На этом дальнейшее обсуждение закончилось.

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

Ок. Начнем с начала.
Про шапку. Выше мной было объяснено, что и где надо отредактировать, чтобы выводилось. После чего последовал Ваш комментарий: «Спасибо. Буду пробовать.» На этом обсуждение закончилось, следовательно, я сделал вывод, что проблема решилась. Сейчас Вы мне говорите, что проблема с шапкой.
Далее, про то, что все съезжает. Выше я привел ссылку на демо сайт, где все ок. Следовательно, проблема на Вашей стороне. К слову, дал бесплатный совет попробовать переустановить.
Я не могу давать развернутых советов не видя предмета разговора.
Пришлите ссылку на сайт — посмотрю, скажу что и где поправить.

Здравствуйте, Денис. http://tool.gidmaster.info/component/vmtoxls/?view=getxls&id=1 Без изображения все работает, а с изображение ломает весь шаблон, хотя, пытался выводить прайс на отдельную страницу без шаблона, тот же результат.
Компонент сносил и устанавливал снова. Причину не пойму — где то конфликт с изображением. Выдает с изображением блок, где первые три строчки правильно, как на тестовом сайте, но почему то в подвале, а всю остальную структуру блоков ломает.

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

Ксения, здравствуйте.
Доработка возможна, но, естественно, не бесплатно. И, к тому же, сейчас занят другими проектами, поэтому, сроки будут растянутыми.
Напишите на почту admin@e-commerce24.ru что именно надо сделать и сроки.
Подумаем, что можно сделать.

Подскажите пожалуйста, при выводе прайса и при выгрузке происходит одна и таже ошибка: Fatal error: Class ‘VmModel’ not found in /home/e/elladavm/elladavm.beget.tech/public_html/administrator/components/com_virtuemart/models/product.php on line 30
В чем может быть проблема?

уточните версию VM,
и еще вопрос: вы как-то изменяли компонент под свои нужды?
так же проверьте
/home/e/elladavm/elladavm.beget.tech/public_html/components/com_vmtoxls/models/getxls.php
строка 541 (если ничего не изменяли и установлена версия 1.7) должна быть такой:
$model = new VirtueMartModelProduct();

VirtueMart 3.4.3
Нет компонент не менялся установил как было ничего не менял.
Хм странно в данном файле вообще такой строки нет…
Еще посмотрел версию, разве по ссылке вверху не 1.6 скачивается? Я оттуда качал, значит у меня 1.6, а не 1.7

А где ссылка на последнюю версию 1.7 ?

и еще 1.6 при настройке выводить изображения… страница не открывается… в чем проблема? без этой настройки все ок

Есть вообще кто живой на сайте? Очень нужен данный мод. Но ссылка не работает и на сайте нет ни одного контакта. Откликнитесь, как скачать?

Комментировать