Настраиваемые поля virtuemart 3: плагины textinput и textarea (часть 4)
В предыдущих статьях были рассмотрены стандартные настраиваемые поля с типами строка, изображение и область текста.
В этой статье поговорим об особом типе полей под названием Плагины.
Не все задачи можно решить с помощью стандартных полей. Для нестандратных задач (например, фильтрации, ввода даты в карточке товара) можно использовать плагины от сторонних разработчиков, просто создав новое поле с типом Плагины и выбрав нужный плагин из списка. Это позволяет легко расширять функционал магазина.
Все пользовательские плагины, установленные в virtuemart, можно посмотреть в Расширения > Менеджере плагинов, выбрав тип vmcustom.
По умолчанию доступно два плагина:
- VMCustom — Customer text input
- VMCustom — Product specification
При добавлении плагина к настраиваемому полю в Тип поля выбираем Плагины и в выпадающем списке внизу выбираем нужный плагин.
Например, нам нужно добавить в карточку товара поле, в которое пользователь при желании может ввести какое-то сообщение и оно будет добавлено к его заказу.
Задачу можно решить в помощью простого текстового поля (для небольшого текста) или текстовой области(для большого текста).
Плагин textinput
Для добавления в карточку товара строки, в которую пользователь может добавить свой текст, создадим новое настраиваемое поле с типом Плагины и выберем стандартный плагин VMCustom — Customer text input. Так же активируем параметр Атрибут корзины, чтобы данные поля передавались в корзину при заказе.
После сохранения поля появятся его настройки. В дальнейшем их можно поменять при добавлении поля к конкретному товару.
Можно задать стоимость всего текста или каждого символа в строке. Если при добавлении поля к товару не указывать стоимость, то цена меняться не будет и в корзину будет передаваться просто текст.
В итоге в карточке товара появится пустое текстовое поле, данные которого будут передаваться в корзину
Плагин textarea
Для ввода большого текста в несколько строк нужно вывести текстовую область textarea.
Для этого нужно установить дополнительный плагин Virtuemart textarea custom field.
После стандартной установки через Менеджер расширений и активации плагина VMCustom — textareainput так же создаем новое поле с типом Плагины, активируем Атрибут корзины и в списке доступных плагинов выбираем VMCustom — textareainput.
Плагин позволяет задать количество строк и столбцов, минимальное и максимальное количество символов и текст в поле по умолчанию. Так же доступно динамическое изменение цены за каждый символ или за текст целиком.
На выходе получаем следующее.
Так же можно использовать аналог, с совсем небольшим количеством настроек, и без возможности задания стоимости для введенного текста.
Порядок установки тот же. Настройки плагина на скрине ниже.
В следующей статье рассмотрим поле с типом Настраиваемая группа.
Источник статьи: http://virtuemart.su/custom-fields-virtuemart-3-part-3-2/
VirtueMart – интернет-магазин на Joomla. Часть 19. Редактирование шаблона VirtueMart (Начало).
Наверное каждый, кому приходилось подгонять дизайн VirtueMart под определенный шаблон или под требования заказчика, знает, какое это муторное занятие. Основная проблема заключается в том, что практически каждый элемент VirtueMart, будь то страница товара, категории, кнопка «Добавить в корзину» и.т.д., хранится в отдельном файле. Все файлы подключаются друг к другу иерархически. Да, с одной стороны это удобно, т.к. не нужно выискивать каждый элемент в огромном коде, но с другой стороны, человек, мало знакомый с VirtueMart просто замучается искать нужный файл. Для того, чтобы немного упростить нелегкую жизнь веб-мастеров, делающих интернет-магазины, я решил написать эту статью, рассказав в ней о назначении всех файлов шаблона VirtueMart с графическими иллюстрациями.
Итак, для начала нам нужно увидеть общую структуру шаблона VirtueMart. Т.к. интернет-магазин приложение довольно сложное, то и структура получается соответствующая.
Шаблон VirtueMart состоит из следующих основных составляющих:
1) Шаблон категории товаров(browse) – данный шаблон отвечает за отображения списка товаров в определенной категории.
2) Шаблон страницы товара(flypage) – данный шаблон отвечает за отображение страницы с отдельным товаром, той, которая появляется при клике по товару из категории товаров.
3) Шаблон корзины товаров (basket) – шаблон, отвечающий за внешний вид страницы, с изображением корзины товаров(не путать с модулем корзины товаров). Здесь речь идет о той странице, которая появляется после клика по ссылке «Показать корзину». Пример будет ниже.
4) Шаблон оформления заказа (checkout) – шаблон отвечающий за страницы, которые показываются в процессе оформления заказа, а именно выбор методов оплаты, доставки, регистрация и.т.д
5) Разные дополнительные шаблоны – самый большой класс шаблонов, отвечающих за всякие мелочи интернет-магазина. Подробно он будет рассмотрен ниже.
Пять шаблонов, описанных выше – понятие абстрактное, поскольку каждый из них состоит из нескольких файлов. Ниже рассмотрим их подробно.
Редактирование шаблона VirtueMart. Основной шаблон.
По умолчанию в VirtueMart встроен только один основной шаблон. Он называется Default. На сегодня подобрать другие шаблоны для VirtueMart довольно сложно, поскольку все они в основном коммерческие, да и тех очень мало. Таким образом, чаще всего новый шаблон приходится получать путем редактирования стандартного.
Стандартный шаблон находится в папке
components\com_virtuemart\themes\default
Сразу хочу отметить, что редактирование данного шаблона не несет изменений, связанных с ядром VirtueMart, поэтому проблем с обновлением компонента в дальнейшем не будет.
Стандартный шаблон состоит из следующих файлов и папок:
– images – папка, содержащая все изображения шаблона (не путать с изображениями товаров и категорий. Их тут нет.);
– templates – папка, содержащая все шаблоны страниц шаблона(получилось масло масляное… Скажем так, в основном шаблоне VirtueMart содержаться подшаблоны, отвечающие за вид различных элементов интернет-магазина);
– admin.css – этот и два следующих файла являются таблицами стилей шаблона VirtueMart. Все CSS-стили шаблона содержаться в этих файлах.
– admin.styles.css
– theme.js, theme.prototype.js –скрипты шаблона. Отвечают за создание различных эффектов.
– theme.config.php – конфигурационный файл шаблона. Содержит некоторые настройки шаблона VirtueMart по умолчанию(по аналогии с configuration.php Joomla)
– theme.php – файл функций шаблона. Позволяет добавлять к шаблону дополнительные функции и классы (для тех, кто хорошо владеет php).
– theme.xml – xml-файл шаблона. Создан по аналогии с xml-файлами шаблонов Joomla.
Во всей вышеописанной структуре прежде всего нас интересует папка templates, т.к. именно в ней храняться шаблоны всех элементов шаблона Default.
Далее рассмотрим ее подробно.
Редактирование шаблона VirtueMart. Папка templates.
Папка Templates состоит из семи подпапок:
– basket – внешний вид корзины с товарами;
– browse – внешний вид категорий товаров;
– checkout – внешний вид процесса оформления заказа;
– common – шаблоны, общие для всего магазина;
– order_emails – шаблоны писем, посылаемых в процессе работы с магазином;
– pages – шаблоны дополнительных страниц;
– product_details – внешний вид страницы товара.
Теперь рассмотрим каждый из шаблонов подробно.
Редактирование шаблона VirtueMart. Подпапка basket.
Подпапка basket содержит 4 шаблона, которые делятся на 2 вида:
– b2b (Business to Business)
– b2c (Business to Customer)
Вид выбирается в зависимости от того, включена или отключена в настройка опция «Показать «(включая XX% налогов)», когда они применяются?». Если она включена, то используется вид b2c, иначе b2b.
1) basket_b2b.html.php – шаблон корзины вида b2b.
2) basket_b2с.html.php – шаблон корзины вида b2с. См. рисунок ниже:
3) ro_basket_b2b.html.php – шаблон корзины вида b2b только для чтения (read-only). Показывается на последнем шаге оформления заказа, где пользователь уже не может изменить введенные данные.
4) ro_basket_b2c.html.php – шаблон корзины вида b2c только для чтения (read-only). Показывается на последнем шаге оформления заказа, где пользователь уже не может изменить введенные данные.
Редактирование шаблона VirtueMart. Подпапка browse.
Как я уже писал выше, шаблоны данной подпапки используются для вывода списка товаров категории. Всего в этой подпапке 6 файлов и еще одна подпапка. Рассмотрим их по порядку:
1) browse_1.php – шаблон, предназначенный для отображения списка по одному товару в строке (кроме того, в категории должно быть указанно соответствующее количество товаров в строке).
2) browse_2.php – шаблон, предназначенный для отображения списка по два товара в строке (кроме того, в категории должно быть указанно соответствующее количество товаров в строке).
3) browse_3.php, browse_4.php, browse_5.php – 3, 4 и 5 товаров в строке соответственно.
4) browse_lite_pdf.php – шаблон, предназначенный для легкой конвертации списка товаров в формат PDF. Отличается от предыдущих прежде всего тем, что не содержит в себе каких-либо пользовательских данных, например, рейтинга.
Если с файлами browse все довольно просто, то с подпапкой includes могут возникнуть проблемы. Рассмотрим содержащиеся в ней шаблоны(они все относятся именно к странице browse!):
1) addtocart_form.tpl.php – шаблон кнопки добавления на карту;
2) browse_header_all.tpl.php – шаблон заголовка страницы в списке всех товаров
3) browse_header_category.tpl.php – шаблон заголовка страницы browse +RSS-иконка, в списке товаров категории
4) browse_header_keyword.tpl.php – шаблон заголовка страницы в списке товаров при поиске. Работает только в обычном поиске, но не в расширенном поиске по характеристикам;
5) browse_header_manufacturer.tpl.php – шаблон заголовка страницы в списке производителей товаров. Например, установив модуль отображения производителей и перейдя в нем в какую-либо категорию производителей к заголовку можно применить данный шаблон.
6) browse_layouttable.tpl.php (browse_listtable.tpl.php, browse_notables.tpl.php) – в VirtueMart список товаров browse может быть построен тремя способами:
б) плоским списком (по одному товару в строку с помощью таблиц):
в) без таблиц (с использованием DIV’ов):
Выбрать способ отображения можно в настройках шаблона VirtueMart («VirtueMart» –> «Настройки» –> «Сайт» –> «Выберите шаблон для магазина»(настройки) –> «Product List Style»). Данные три шаблона как раз отвечают за способ построения списка товаров.
Здесь очень тонкая грань с шаблонами browse_x. Важно ее понимать. Шаблоны browse_x отвечают за отображение одного товара в списке, а данные 3 шаблона – собственно, за формирование списка. Т.е. они как бы много раз повторяют шаблон browse_x.
7) browse_orderbyfields.tpl.php – файл, содержащий коды для возможных полей сортировки товаров на странице browse. Редактировать там особо нечего.
8) browse_orderbyform.tpl.php – внешний вид формы сортировки на странице browse;
9) browse_pagenav.tpl.php – шаблон отображения пагинации (номеров страниц со ссылками следующая, предыдущая и.т.д.) для списка товаров на странице browse
10) browse_searchparameter_form.tpl.php – шаблон отображения заголовка при расширенном поиске по дополнительным характеристикам.
Редактирование шаблона VirtueMart. Подпапка checkout.
Как упоминалось выше в данной подпапке содержаться шаблоны процесса оформления заказа. Рассмотрим их подробно:
1) checkout_bar.tpl.php – шаблон полоски процесса оформления заказа
2) customer_info.tpl.php – шаблон информации о покупателе на этапе «Адрес доставки»
3) get_final_confirmation.tpl.php – шаблон ранее введенной информации на этапе «Завершить заказ»
4) get_payment_method.tpl.php – шаблон заголовка выбора способа оплаты на этапе «Способ оплаты»
5) get_shipping_address.tpl.php – шаблон выбора адреса доставки на этапе «Адрес доставки»
6) get_shipping_method.tpl.php – шаблон заголовка выбора способа доставки на этапе «Варианты доставки»
7) list_payment_methods.tpl.php – шаблон выбора способа оплаты на этапе «Способ оплаты»
8) list_shipping_methods.tpl.php – шаблон выбора способа доставки на этапе «Варианты доставки»
9) list_shipto_addresses.tpl.php – шаблон списка адресов доставки на этапе «Адрес доставки»
10) login_registration.tpl.php – шаблон страницы «Оформить заказ» для незарегистрированных пользователей.
Мы разобрали три подпапки с шаблонами. Остается еще четыре. О них будет рассказано в следующей статье по VirtueMart.
Источник статьи: http://wedal.ru/rasshireniya-joomla/virtuemart-internet-magazin-na-joomla-chast-19-edit-virtuemart-template-begin.html