В предыдущей статье серии я рассказывал о классификации настраиваемых полей Virtuemart 2 по функциональным возможностям, называя ее «Виды полей». В этой статье я расскажу о том, как классифицировать поля по способу ввода и отображения информации. Эта классификация будет называться «Типы полей». Из статьи вы узнаете, какие в Virtuemart 2 существуют типы полей, как их правильно настроить и для чего можно использовать.
Содержание
- Список полей
- Общие настройки
- Тип поля «Время»
- Тип поля «Дата»
- Тип поля «Логический»
- Тип поля «Родитель»
- Тип поля «Целое число»
- Тип поля «Строка»
- Тип поля «Изображение»
- Тип поля «Атрибут корзины»
- Тип поля «Общий дочерний вид»
- Тип поля «Редактор»
- Тип поля «Область текста»
- Тип поля «Плагины (customer text input)»
- Тип поля «Плагины (product specification)»
- Тип поля «Плагины (stockable variants)»
Список полей
На данный момент, по умолчанию, Virtuemart 2 имеет 14 типов настраиваемых полей (не путайте их с настраиваемыми полями Joomla):
- Время;
- Дата;
- Логический;
- Родитель;
- Целое число;
- Строка;
- Изображение;
- Атрибут корзины;
- Общий дочерний вид;
- Редактор;
- Область текста;
- Плагины (customer text input);
- Плагины (product specification);
- Плагины (stockable variants).
Некоторые из типов интуитивно понятны, а некоторые могут вызывать затруднения. Так или иначе, мы рассмотрим поле каждого типа отдельно, но сначала поговорим про общие настройки, свойственные полям любого типа.
Общие настройки
11 из 14 типов полей имеют одни и те же настройки. Они показаны на рисунке:
Настройки следующие:
– Заголовок – заголовок поля, который будет отображаться в админке при добавлении поля, так и на сайте, при отображении данных поля.
– Опубликовано – позволяет включать и отключать поле, не удаляя его.
– Родитель – показывает в списке все имеющиеся поля типа «Родитель». Позволяет группировать поля по категориям (родителям). Подробнее об этом в описании типа поля «Родитель».
– Атрибут корзины – позволяет задать вид поля (см. предыдущую статью серии). Если установлено «Да», то данное поле будет являться атрибутом корзины и ему можно будет задать стоимость. Если «Нет», то данное поле будет являться просто параметром товаров.
– Описание – описание позволяет уточнить то, чем является данное поле, дать больше информации менеджеру, который будет наполнять сайт и покупателю.
– По умолчанию – очень важная опция. Позволяет задавать значение для поля по умолчанию. Иногда может быть очень удобна. Если в опции «Список» (см. ниже), выбрано «Да», то в этом поле должны быть указаны все возможные значения списка, разделенные точкой с запятой. Например «синий;зеленый;красный». Это позволит не заполнять значение поля вручную при добавлении товара, а выбрать его из выпадающего списка значений.
– Всплывающая подсказка – название говорит само за себя. Позволяет задать всплывающую подсказку относительно данного поля для покупателя.
– Позиция макета – позволяет группировать поля по позициям в карточке товара. Это нечто, аналогичное позициям модулей в Joomla. Чтобы вывести товары в определенной позиции, пока нужно залезать в код макета товара и прописывать позицию вручную. Это не очень удобно и в дальнейшем разработчики обещают решить этот вопрос.
– Только администратор – как я понимаю, смысл данной опции в том, чтобы поле мог видеть только администратор. У меня она не работает, поле видно в любом случае. Похоже, баг.
– Список? – Если выбрано «Да», то значения поля из опции «По умолчанию» будут представлены в виде выпадающего списка. Если выбрано «Нет», то будет показана просто форма для заполнения.
– Скрыто – Позволяет скрыть отображение поля на сайте. Но все остальное работает (добавление поля для товаров, поиск по полю).
По опциям все. Особо сложного ничего нет. Теперь рассмотрим каждый тип поля подробнее.
Тип поля «Время»
Описание: По идее, должна быть форма ввода времени. На деле ничего не отображается. Возможно, требуется особый формат, но указаний на него нет. В БД записывается как текст.
Как задается:
Как выглядит на сайте:
Не отображается
Тип поля «Дата»
Описание: Форма ввода даты. Реализована удобным календариком.
Как задается:
Как выглядит на сайте:
Тип поля «Логический»
Описание: Позволяет выбирать из двух значений «Да/Нет».
Как задается:
Как выглядит на сайте:
Тип поля «Родитель»
Описание: Позволяет группировать поля. При добавлении в товаре показывает сразу всю группу дочерних полей (тех, у которых в опции «Родитель» выбран соответствующий родитель).
Как задается:
Как выглядит на сайте:
Тип поля «Целое число»
Описание: Позволяет задавать целочисленное значение.
Как задается:
Как выглядит на сайте:
Тип поля «Строка»
Описание: Позволяет задавать строковое значение.
Как задается:
Как выглядит на сайте:
Тип поля «Изображение»
Описание: Позволяет выбирать изображения из списка доступных, а затем показывать его на сайте.
Как задается:
Как выглядит на сайте:
Тип поля «Атрибут корзины»
Описание: Позволяет покупателю передать в корзину какие-либо данные в форме текста. Например, это может быть имя, для гравировки или что-то еще. Для этого типа поля опция «Атрибут корзины» должна быть установлена в «Да».
Как задается:
Как выглядит на сайте:
Тип поля «Общий дочерний вид»
Описание: Позволяет показать дочерние товары в родительском. Работает пока очень неудобно. У товара, к которому применяется этот тип поля, обязательно должны быть дочерние товары. Если они есть, в выпадающем списке на сайте их можно будет выбрать, но при этом откроется этот самый дочерний товар, что неудобно. Уже существуют решения, позволяющие сделать отображение дочерних товаров в виде таблицы и добавить каждому из них кнопку добавления в корзину, но эти решения требуют хаков.
Как задается:
Как выглядит на сайте:
Тип поля «Редактор»
Описание: Показывает wysiwyg-редактор, с помощью которого можно легко добавить еще одно описание к товару в html-формате.
Как задается:
Как выглядит на сайте:
Тип поля «Область текста»
Описание: Показывает область для ввода текста. В принципе, это тот же самый html-редактор, только не визуальный.
Как задается:
Как выглядит на сайте:
Тип поля «Плагины (customer text input)»
Описание: Хитрый плагин, который позволяет увеличивать стоимость товара за заполнение поля или даже за каждый знак заполнения поля (можно выбрать в настройках типа поля). Это может быть полезно, например, когда при покупке кулона можно дополнительной опцией добавить гравировку, и за каждый символ оной брать, скажем, 1 рубль.
Как задается:
Как выглядит на сайте:
Тип поля «Плагины (product specification)»
Описание: Признаюсь, сколько я не пытался понять, в чем смысл данного плагина, так и не смог. На форуме пишут, что он позволяет задавать собственные спецификации товара, которые будут доступны для поиска, но, пардон, разве не все тоже самое делают и остальные поля? В его коде я также не обнаружил ничего особенного.
В общем, если у кого-то из читателей найдется внятное объяснение того, для чего может пригодиться этот плагин, буду крайне признателен, если напишите.
Как задается:
Как выглядит на сайте:
Тип поля «Плагины (stockable variants)»
Описание: Это самый сложный плагин из всех. Он управляет остатками дочерних товаров. Например, вы продаете рубашку трех разных цветов и трех разных размеров. При этом вы хотите чтобы товар был только один с возможностью выбрать цвет и размер при добавлении в корзину, но также вы желаете контролировать остаток рубашек каждого цвета и размера. Подробное описание данного плагина тесно связано с дочерними товарами и тянет на отдельную статью, в которой и появится.
На этом стандартные типы настраиваемых полей Virtuemart 2 заканчиваются. Нужно сделать еще несколько замечаний:
- Не обращайте внимания на внешнюю непривлекательность отображения полей на странице товара. Сейчас речь идет лишь о манипулировании данными. Оформить их красиво сможет любой человек, знакомый с CSS. Также можно взять хороший шаблон Virtuemart, в котором все поля уже оформлены.
- С помощью дополнительных полей можно вывести в карточку и категорию товаров что угодно (например, значки «Новинка», «Хит», и.т.д), правда придется немного поковыряться в коде макета товара или категории. В следующих статьях или кейсах по Virtuemart 2 я буду описывать подробно, как это делается.
- Для поиска товаров по дополнительным полям встроенный функционал отсутствует. Но уже появилось достаточно много сторонних фильтров, которые позволяют фильтровать товары как душе угодно.
- Настраиваемые поля Virtuemart 2 могут быть плагинами Joomla, это означает, что при желании можно реализовать любой функционал, не внося в ядро хаки. Это очень радует.
может кто нибудь подсказать в чем проблема. Настраиваемое поле «редактор» сделал, делаю вставку а редактора самого нет … пытался по разному , не пойму где ошибка… почему редактор не появляется. VirtueMart 3.0.9.6 + Joomla! 3.5.1 Заранее спасибо всем !
Для этого существуют поля: custom_title и
custom_value
Подробнее на сайте разработчика:
http://www.csvimproved.com/csvi-documentation/tutorials/778-custom-fields-import-and-export
Подскажите пожалуйста куда загружать изображения для типа поля «Изображение»
у меня в нем пусто (нет вариантов выбора).
images/stories/virtuemart/product
Но у меня, несмотря на то, что в данной папке, конечно же, есть изображения, возможности их выбора в админ панели (как у вас на скриншоте) нет.
Видимо какой-то глюк в системе
stories\virtuemart\product
А где Медиа-менеджер? Извините за глупый вопрос но у VM не могу его найти, может для этого надо модуль какой к нему подключить?
У меня тоже такая проблема как и у Redje, я не знаю что в настраиваемых полях там где указывается тип поля и есть поле "По умолчанию" надо прописывать, судя по картинке у вас shovel.jpg, это один из пунктов в строке типа пункт1; пункт2;...
Вот мне бы узнать где задаётся картинка, её название, чтобы прописать в пунктах?
1. radiobutton
2. названия отделок
3. изображения дверей в соответствующих исполнениях.
С первыми двумя пунктами проблем нет. Да и картинка тоже выводится норм, но заказчик хочет чтобы при клике на картинку она открывалась в модальном окне, аналогично основным изображениям товара. Подскажите как решить. Заранее благодарен.
Похоже, во втором случае должна быть «Дата»
Проще, хотя и не правильно - добавлять большое изображение, затем, через CSS, уменьшать его размеры. Далее, с помощью скрипта, по клику восстанавливать их. Примерно так. В любом случае придется копнуть код.
На всякий случай уточняю.
В файле customfields.php, по адресу administrator/components/com_virtuemart/models (файл отвечает, как я понял поковырявшись в нем, за вывод доп. полей), есть строки:
' . $this->displayProductCustomfieldFE ($product, $productCustom, $row) . ' ' . $price . ' c php почти не знаком, но вроде бы именно тут выводится миниатюра к полю "изображения". А поскольку как я и говорил, с php почти не знаком, то я понять не могу как здесь прописать ссылку.
В вашем первом ответе (более адекватном) вы советуете прицепить скрипт от основного изображения карточки товара, вот он:
Здравствуйте Василий Я столкнулся с такой же проблемой ищу выход вы справились с данным решением?
И я в затруднении, понятия не имею как объединить эти две вещи.
http://kotelok13.ru/index.php/k2-categories/virtuemart/vodosnabzhenie/avtomatika-upravlenie/sharovye-krany/gde-kupitvideorolikiposmotret-v-detalyakh-kran-sharovoj-valtec-base-s-polusgonom-detail
а то у меня больше пяти как правило не вмещается?
в строчке public static function input($name,$value,$class='class="inputbox"',$readonly='',$size='37',$maxlength='255',$more=''){
изменить значение 255 на нужное Вам! (255 - ограничение символов)
Ставлю ограничение = 1000 символов, получается, что вводить в строку можно уже 1000 символов, а когда сохраняю, выходит что 250 символов, остальное отрубается. Помогите пожалуйста с этим вопросом =)
Максимальный расход газа, м3/час
Площадь обогрева
Габариты (ВхШхГ)
Масса, кг
Расположение
Нужно Расположение поднять в самый вверх, что не делал не могу поднять вверх и всё, мож кто стыкался?
Подскажите, а как сделать такое:
есть туристический тур - Тур №1. Его стоимость, зависит от выбранного юзером отеля.
Я, создаю доп. поля, с названиями отелей, в них (Отель №1, Отель №2 и т. д.), вбиваю стоимость отеля.
Если стоимость Тура №1 - ставлю равной нулю, то, доп поля - не отображаются, а если ставлю любую цифру (например $1), то к основной цене ($1), прибавляется плюс от цены отеля №1, и в корзину, падает сумма основная цена ($1) + цена Отеля №1.
Вопрос:
А можно, как-то сделать, чтобы стоимость Отеля №1, не добавлялась к основной цене ($1), а просто ее заменяла?
P. S.
Может вопрос касается не только доп. полей - не знаю... С VirtueMart познакомился только вчера... И опять таки, благодаря статьям Wedala.
Wedal, - cнимаю шляпу
Ну, если я, правильно понял, где именно добавлять равно (уже, в самом туре, в настраиваемых полях --> Цена), то, если прописать так: =2, то, при сохранении, все сбрасывается на нули: 0.00000
Couldnt find customfield33? Как от неё избавится?
Подскажите плиз как убрать results в верху страницы?
http://www.mebel-interio.com/children-teen
Подскажите путь к CSS, если не трудно.
Подскажите, пожалуйста, как сделать так, что бы они выводились столбиком?
Спасибо!
Дело не в шаблоне, на разных шаблонах 3 столбика.
Это от вирта закидон такой. А вопрос актуальный.
Пример -
http://www.shop.fc-zenit.ru/product/613182_499/
При выборе в меню "игроки команды" - меняется картинка.
Подскажите пожалуйста как импортировать настраиваемые поля в free версии.
Правильно ли я выбираю Импорт-VirtueMart-импорт продуктов. заливаю файл с полями: product_sku;custom_title;custom_value;custom_price.
но в итоге ничего не происходит...
Вопрос такой, тип "изображение" выводит в карточку товара миниатюру разрешением заданным в настройках вирта, а можно ли как-то выводить оригинал или еще лучше, задать другие размеры?
Спасибо
Не могу найти инфу по двум вопросам
1) зависимые настраиваемые поля (выбираешь поле 1, выскакивают поля 2, 3 ) - имеется ввиду карточка товара (лицо, не админка)
2) в настр полях можно увеличивать цену НА а какое то значение, есть ли какой нибудь плагин для процентов, или в каком месте это правится?
Не сталкивались с таким? Заранее спасибо
1) https://wedal.ru/rasshireniya-joomla/virtuemart-2-internet-magazin-na-joomla-chast-8-dochernie-tovary-s-kontrolem-ostatkov-stockable-variants-plugin.html
2) Проценты достигаются простой математикой. Вы же всё равно задаете для каждого товара стоимость дополнительных параметров вручную. Что мешает использовать увеличение на величину процента? Например, если вам нужно +10% от 200 руб, добавляйте 20 рублей за стоимость параметра. Или вы хотите, чтобы цена параметра автоматически пересчитывалась в зависимости от цены основного товара?