BreezingForms Custom Fields for VirtueMart 2

Similar documents
User Manual. Administrator s guide for mass managing VirtueMart products. using. VM Mass Update 1.0

AceShop Quick Guide. AceShop is the integration of two of the most popular open source projects in the world: OpenCart and Joomla!

Custom Fields With Virtuemart 2. Simple Custom Fields. Creating a Custom Field Type

A Quick Introduction to the Genesis Framework for WordPress. How to Install the Genesis Framework (and a Child Theme)

BF Survey Pro User Guide

3dCart Shopping Cart Software V3.X Import Products Guide

Dynamic Product Options extension for Magento2. User Guide

Frooition Implementation guide

Updated PDF Support Manual:

CMSnipcart Documentation

GJC Web Design Virtuemart 3.0 J3 Product Review Package v2.0.5

Azon Master Class. By Ryan Stevenson Guidebook #7 Site Construction 2/3

BEGINNER PHP Table of Contents

Your Cart User Manual v3.6

2013, Active Commerce 1

Pinnacle Cart User Manual v3.6.3

ONE STEP CHECKOUT. USER GUIDE for Magento 2.0. Version

How to Add Product In Your Store

Ajax Cart Pro extension for Magento 2

VirtueMart Product Scroller Module

The Crypt Keeper Cemetery Software Online Version Tutorials To print this information, right-click on the contents and choose the 'Print' option.

VolunteerMatters Wordpress Web Platform Calendar Admin Guide. Version 1.1

Card Magic. Module for Miva Merchant. Introduction. Table of Contents

PHPBasket 4 Administrator Documentation

Attend Events. Version 0.9.x

BEGINNERS GUIDE TO DESIGNING YOUR ONLINE SHOP

Digital Media. Seasons Assignment. 1. Copy and open the file seasonsbegin.fla from the Read folder.

GJC Web Design VM2.6/3.0 TaxCloud Plugin

The main differences with other open source reporting solutions such as JasperReports or mondrian are:

Your step-by-step instructions to getting started on ipage. Includes:

Shopper Guide v.3: 3/23/16

1. OpenCart 1.5 Home Browsing the store front Admin interface Catalog Categories

Adobe Marketing Cloud Best Practices Implementing Adobe Target using Dynamic Tag Management

SitelokTM. Stripe Plugin V1.5

Connecting VirtueMart To PayPal (Live)

MOODLE MANUAL TABLE OF CONTENTS

Class #7 Guidebook Page Expansion. By Ryan Stevenson

Design Gallery User Guide

Azon Master Class. By Ryan Stevenson Guidebook #8 Site Construction 1/3

Ninja Menus extension for Magento 2

GJC Web Design Virtuemart 3 Ecommerchant Payment Plugin

cdiscount version BoostMyShop

Azon Master Class. By Ryan Stevenson Guidebook #4 WordPress Installation & Setup

Blue Form Builder extension for Magento2

Product Manager Toolkit

What are Non-Catalog Orders?

For more info on Cloud9 see their documentation:

Arduino IDE Friday, 26 October 2018

A Guide to Using WordPress + RAVEN5. v 1.4 Updated May 25, 2018

USING DRUPAL. Hampshire College Website Editors Guide

A new admin setting gives you the option of having batch reports include the entire credit card number, instead of only the last four digits.

WORDPRESS 101 A PRIMER JOHN WIEGAND

ultimo theme User Guide Extremely customizable Magento theme by Infortis Copyright Infortis All rights reserved

Azon Master Class. By Ryan Stevenson Guidebook #5 WordPress Usage

Mach4 CNC Controller Screen Editing Guide Version 1.0

Impossible Solutions, Inc. JDF Ticket Creator & DP2 to Indigo scripts Reference Manual Rev

Creating Pages with the CivicPlus System

Version Developed & Programmed by Ryan Stevenson. Plugin Support:

Flexslider v1.x Installation and User Manual

GoLive will first ask you if your new site will be for one individual or a work group; select for a Single User, and click Next.

Table of Contents Page 2

Webshop Plus! v Pablo Software Solutions DB Technosystems

Creating Guides for the Adafruit Learning System

Clickteam Fusion 2.5 Creating a Debug System - Guide

StreamOne Cloud Marketplace. Order and Management Guide

ClickBank Redirection Manual

Dynamic Product Options extension for Magento2. User Guide

Wishlist 1-Click Registration Manual

FAQ S MOBILIDIY FULL FAQ S

Azon Master Class. By Ryan Stevenson Guidebook #10 Google and YouTube Marketing

WordPress Tutorial for Beginners with Step by Step PDF by Stratosphere Digital

PrestaShop Product Properties Extension Multidimensional plugin

Improved Web Development using HTML-Kit

Code::Blocks Student Manual

Custom Contact Forms Magento 2 Extension

SALIENT USER GUIDE. 1 Page 1

Azon Master Class. By Ryan Stevenson Guidebook #7 Site Construction 2/2

Dreamweaver is a full-featured Web application

BindTuning Installations Instructions, Setup Guide. Invent Setup Guide

Self-Service Portal & estore Guide. Your complete guide to installing, administering and using the 1CRM Self-Service Portal and estore.

feel free to poke around and change things. It's hard to break anything in a Moodle course, and even if you do it's usually easy to fix it.

Ace Corporate Documentation

VIVVO CMS Plug-in Manual

CheckBook Pro 2 Help

SymphonyThemes Quick Start Guide. Build a great theme with SymphonyThemes

Working with WebNode

Welcome to Book Display Widgets

Sitecore E-Commerce Cookbook

This guide is intended to help the un-experienced in PHP in particularly Phpvms to easily install and use this freeware software.

Blue Form Builder extension for Magento 2

A new clients guide to: Activating a new Studio 3.0 Account Creating a Photo Album Starting a Project Submitting a Project Publishing Tips

Chapter 6: Creating and Configuring Menus. Using the Menu Manager

Content Author's Reference and Cookbook

EDITING AN EXISTING REPORT

Connecting your Plugin Control Panel to your BT Plugin Code

Content Management and Product Catalogue Using epages V6.16.3

NM Collector Software JE (Java Edition)

VirtueMart provides a module (mod_virtuemart_latestprod_1.1.5.j15.zip) in the complete installation package of VirtueMart.

A Guide to Understand, Install and Use Pie Register WordPress Registration Plugin

Hi everyone. Starting this week I'm going to make a couple tweaks to how section is run. The first thing is that I'm going to go over all the slides

Transcription:

BreezingForms Custom Fields for VirtueMart 2 Help! If anyone can help us get these working again for VM3+ it would much appreciated! Please visit this page for more info and how to get the files you'll need: http://www.ourfingertips.ca/join/helpwanted This information may be out dated and this only works for VirtueMart 2 and the original developers have stated they will not be updating it. The following content of this document was copied from here in case the original developers decide to remove these pages: http://docs.polishedgeek.com/wiki/display/bfcustom/introduction+to+breezing+forms+custom+field s+for+virtuemart This document contains: Introduction to Breezing Forms Custom Fields for VirtueMart System Requirements Installation Step One: Gather required information from your Breezing Form Step Two: Configure the VirtueMart Custom Field Step Three: Configure the "Breezing Forms Custom Fields for VirtueMart" Plugin FAQ BFCF Changelog

Introduction to Breezing Forms Custom Fields for VirtueMart Embed any custom Breezing Form into your VirtueMart products Breezing Forms Custom Fields for VirtueMart allows you to embed custom Crosstec Breezing Forms directly inside of a VirtueMart product detail page, requiring the shopper to complete the form before the item can be added to the cart. Now you can have infinite possibilities for conditional fields, complex form queries, and more by integrating a best-in-class forms component with VirtueMart 2! What our extension does is simply allow you to embed your custom Breezing Form into a VirtueMart product page. You can replace almost any VM2 custom field capability. Develop completely custom forms to collect ANY information you want from your customers Embed the form right inside of the VirtueMart product detail page NEW! Associated up to 20 different Breezing Forms, each with unlimited VirtueMart 2 products Adjust product pricing as needed, based on shopper responses in the form Override the product pricing with the form values, or calculated values NEW! Dynamically display the pricing as it calculates in the form (AJAX method) Select which form response fields should be brought into the customer's cart view and order - they'll show up just like any native VM2 custom fields We encourage you to first consider using standard VirtueMart 2 Custom Fields VirtueMart 2 Custom Fields are designed for product by product options. Be sure to evaluate if you really need to add our extension and a Breezing Form to your site. Perhaps you can accomplish your goals with normal custom fields. The best reason to use Breezing Forms Custom Fields for VirtueMart is if your VirtueMart product requires different options with inter-dependencies or specific conditions, and/or if you need to adjust pricing based on the form choices. (You can't do conditional fields or values in VM2, but you can do this, and a lot more, in Breezing Forms!). And we want to be sure to mention this. There is one important limitation to keep in mind: If you need to track stock by the product options, you cannot do this with the Breezing Forms Custom Fields extension. You must use native VM2 stockable cart variants in order to keep track of stock at that detailed level.

System Requirements Breezing Forms Custom Fields for VirtueMart system requirements & compatibility To use this extension, you must have: A functional and configured Joomla! CMS website (see version requirements below for details) A functional and configured VirtueMart shopping cart (see version requirements below for details) A functional and configured Crosstec BreezingForms form you wish to add to your store's checkout process Installed and enabled the Crosstec Content plugin (plg_breezingforms_*version*.zip) supplied with BreezingForms System Requirements Joomla 2.5.x PHP 5.3.x VirtueMart v2.0.16 or higher (earlier versions of VirtueMart 2 do NOT handle Custom Fields correctly) VirtueMart AIO v2.0.16 or higher must also be installed Crosstec BreezingForms v1.7.5 minimum; but v1.8.1+ is highly recommended In some cases, you may need to make small tweaks to your VirtueMart template and CSS to make your embedded Breezing Form look its best inside your VirtueMart product details page. You will therefore find it helpful, although not mandatory, to know HTML and CSS.

Installation How to install Breezing Forms Custom Fields for VirtueMart 1. Download the latest available version of Breezing Forms Custom Fields for VirtueMart. Once you have a valid subscription, you can download the zip file from the Polished Geek Client Area, under My Services. Click on the extension "View Details" button to see the Downloads tab. Save the zip file to your desktop. 2. UNZIP the downloaded file. You will have two zipped plugin files to install: 1. The main plugin that you will later configure is vmbfcustomfields. 2. The other system plugin that does all the magic behind the scenes to connect Breezing Forms with VM2 is vmbfcustomplugin.both plugins are required in order for the integration to work. 3. Using the standard Joomla installer in the backend (Extension Manager > Install), install both of the plugins. When installation has completely successfully for each plugin, you should see a success message. 4. Be sure that you enable both plugins (Extension Manager > Plugin Manager). Look for these installed names: 1. Breezing Forms Custom Fields - VM2 (vmbfcustomplugin) 2. Breezing Forms Custom Fields for VirtueMart, System Plugin (vmbfcustomfields) Be sure to also install the Crosstec Breezing Forms content plugin Icon BreezingForms comes with a content plugin (look for plg_breezingforms_*version*.zip in the installable files). You must install this plugin as part of your BreezingForms installation in order for our extension to work. You are now ready to begin configuring your setup: Step One: Gather required information from your Breezing Form

Step One: Gather required information from your Breezing Form Step One: Prepare your Breezing Form. It must be fully configured, tested & ready to use. Do you need to adjust pricing based on form responses? Will any of your form responses need to adjust the product price? If so, you will need to add information into your Breezing Form to indicate how much the price should be increased or decreased for each form response. For directions on how to do this, visit our Pricing Adjustment FAQ page for details. If your product price will not change based on the form responses, you can skip this step. Please consult the Crosstec Breezing Form documentation if you have questions about how to develop a Breezing Form. Polished Geek does not provide free form development services or Breezing Form component support as part of our extension. We do offer paid technical services and would be happy to assist you in developing your custom form. Please Contact Us for a quote. You need to check your configuration and write down some information from your Breezing Form(s). Breezing Forms "Quick Mode" Instructions The following instructions only refer to the "Quick Mode" form options in Breezing Forms. If you use either "Easy Mode" or "Classic Mode", you will need to modify these instructions accordingly to get your form and field names. 1) You will need the Breezing Form form name. Under the form Properties tab, get the form name and save it for later. You must provide this name exactly as you have it set up in Breezing Forms, so be sure to copy it down accurately. In this screenshot, the form name to write down would be "eyeglass_prescription_form"

2) You also will need to make sure on this same page that the form has been configured with a Submit button. You can change the Submit Button text to be whatever you feel is appropriate within the product page (for example "Add to Cart". When customers click on this, the values for the product will be captured, the price adjusted accordingly (if you have pricing changes), and the item will be added to their cart. 3) Enter the provided code snippet in the Breezing Form form options. To find this location, click first on the form name, then click on the Advanced tab, then click "More Options". A modal window will open. Click on the "Submit Pieces" tab, and then under End Submit choose Type = Custom. Paste in the code snippet provided below.

Code snippet for Breezing Forms End Submit global $database, $_SESSION; $this->execpiecebyname('ff_initlib'); $database->setquery("select MAX(id) FROM # facileforms_records"); $lastid = $database->loadresult(); $_SESSION['virtuemart_bf_id'] = $lastid; $session =& JFactory::getSession(); $session->set( 'virtuemart_bf_id', $lastid ); If you are still not sure where to place the code snippet, here are a full set of click-by-click instructions of exactly where to place the code. These instructions assume you are using Breezing Forms "QuickMode": Edit the Form: 1. In the left hand column, make sure the form is selected (not a page or element). 2. Click the "Advanced" tab in the right hand box. 3. Click the "More options" link. 4. In the box that pops up, select the "Submit pieces" tab. 5. Under the "End submit", click "Custom". 6. An edit box will appear, add the code into that edit box. 7. Scroll down in the pop-up box and click "Save". 8. Click "Save properties" right above the "Form Properties". 9. Click the "Save" button in the right hand corner of the window.

4) Get the field name(s) of all field from the Breezing Form that you would like to have brought into the VirtueMart order record. You can have as many fields as you like in the Breezing Form and then just select the ones you want to have captured and brought into VirtueMart when the user submits it. Click on each Breezing Form field you want to capture, then the Properties tab. You will need to get all of the field names that you want to have show up in the cart and on the order. If a field is just a heading field, or not one that you want to see on the order, you can skip it. If your form is long with many field names, you may want to open a text editor and copy/paste them with commas between them. Here's an example: 5) Add the custom Quantity field to your Breezing Form

You must add an additional field to your Breezing Form with the field name "vmbf_quantity" as shown on the screenshot above. You can use any type of input you like, as long as it is a numeric field (text input, radio buttons, drop down, etc.). This will replace the normal VirtueMart 2 quantity button for your product. Are you changing the product price based on the form options? Icon Will any of your form responses need to adjust the product price? If so, you will need to add information into your Breezing Form to indicate how much the price should be increased or decreased for each form response. For directions on how to do this, visit our Pricing Adjustment FAQ page for instructions. It's important that you add the additional "vmbf_subtotal" field to your Breezing Form as described there to capture the dynamic pricing. If your product price will not change based on the form responses, you can skip this step. You are now ready to proceed to Step Two: Configure the VirtueMart Custom Field

Step Two: Configure the VirtueMart Custom Field Step Two: Next, configure the VirtueMart Custom Field that will be used to embed your Breezing Form 1) Go to VirtueMart Custom Fields and click on New. Create a new Custom Field with the Type "Plug-ins" as follows: Title = the name of the Custom Field. The name you use here is what you will need to use to embed the right Breezing Form in the VirtueMart product page. This title will show up in your VM2 product by default, right above the embedded form. So you might want to use something very description like "Choose Your Options". Or you can use CSS to hide it on your product details template. You may wish to do this if your site supports multi-language, as this the title is NOT translatable. To hide the title on the frontend, add this to your template's CSS file. How to hide the title.product-fields-title { visibility: hidden; } Published = Yes Cart Attribute = Yes Description should be blank. (If you enter something here it will show up in the frontend on your product page.) Default must be blank. Admin Only, List and Hidden should all = No Select Plugin = vmbfcustomplugin Important Important - The Default field must be empty! If you allow a value to be saved in the default field, your Breezing Form may not trigger correctly. Because VM2 will often force a default, we recommend Saving and then making sure you blank out anything that might show up in the default field, and Save again. Screenshot Example

With the above named Custom Field, by default it will show up on the frontend with this title once you have completed all of the implementation steps.. As mentioned above, you can either use a title that is user-friendly to your shoppers, or just hide it later with CSS. 2) Add this new Custom Field to the VirtueMart product(s) that you want to link to your Breezing Form. Navigate to the VirtueMart Product where you want to embed the Breezing Form. Under the Custom Fields tab, add the Custom Field you configured in step 1 above. The value field can be left at 0 (it is not used).

By adding this Custom Field to a product, the Breezing Forms Custom Fields will embed the associated form and capture the information in the same manner as many other VirtueMart Custom Fields. You are now ready to proceed to Step Three: Configure the "Breezing Forms Custom Fields for VirtueMart" Plugin

Step Three: Configure the "Breezing Forms Custom Fields for VirtueMart" Plugin Step Three: Configure the plugin to define the Breezing Form relationship between a VirtueMart product and the linked Custom Fields. 1) Go to Joomla! Extension Manager>Plugin Manager. Open the "Breezing Forms Custom Fields for VirtueMart" plugin 2) You may configure up to twenty (20) different Breezing Form relationships. Supports up to 20 forms, with unlimited products! Icon Remember, you can assign the Custom Field trigger you created in Step Two to an unlimited number of VM2 products. So the limitation is support for only 20 different forms, but unlimited products. There are two types of parameters you need to fill in. 1) Form Relationships: For each different Breezing Form you want to use (up to 20 relationship sets, which can be linked to unlimited products), you will need to fill in Form Relationship information:

VM Custom Field Trigger = this is the VirtueMart Custom Field Title that embeds the associated Breezing Form into the product. Think of it as the "trigger" that let's our plugin know that a Breezing Form is linked to a particular product. Enter the name of the VM Custom Field you created in Step Two. For any VM products that have this Custom Field added in their configuration, the Breezing Form you configure immediately below will be embedded into the product detail page. Form Name = the Breezing Form form name you wrote down from the Breezing Forms component in Step One Form Fields to Display on VM Order = list of the Breezing Form field names that you wish to have displayed in the VirtueMart order. You should have also written these down as part of Step One. You may enter multiple fields here, separated by commas. You must enter any fields that you want to capture and have brought into the VM order. If the field is not listed, it will NOT be brought into the VM2 order, but it will still be presented on the product page. This is useful for being able to have form questions that lead to certain configuration options, but you don't want to necessarily capture those answers on the order. Display Field Labels with Values - Choose Yes to show the Breezing Form field labels with the fields in the VirtueMart order (default), or choose No to simply show the values without labels. For example: o o Yes (with labels) - "Field Label: Field Value" as in "Color: Red" No (without labels) - "Field Value" only, as in "Red" 2) Form Handling: There are a few parameter selections that control how you want the plugin to work for all forms. These are located at the bottom of the parameter list.

New price is text - This field only applies if you are using the price override feature (=) available in version 1.5 and later. In that case enter the text you wish to be used for the label in front of the new price. This will display only in the cart view. Add break line after each field in VM2: o o Yes - will put each Breezing Form field on a separate line underneath the product name No - will put each Breezing Form field all together (with <span> markup so you can customize your CSS to display it however you like) Hide blank field values in VM2 - Use this to suppress the inclusion of any blank fields, even if you have configured the fields in the "Form Fields to Display on VM Order" section. This option allows you to not bring blanks into the VM2 if desired. (Note that if your form defaults values, these will be brought over, as a default value is not the same as a blank, or null, value. Yes - will suppress any blank form responses for fields that are normally included in the VM2 order No - all fields configured in the "Form Fields to Display on VM Order" field will be shown in the VM2 order, even if blank.

Price separator in Breezing Forms - If any of your Breezing Form options need to change the product price, enter the separator character you used in your Breezing Form. If none of your options impact price, you can leave this blank. We recommend using the (pipe) character. Bottom line message text - Enter an optional message line if you would like to see something special presented at the bottom of the options on the cart page. By default this is blank, which will suppress this line. Total options selected label - This is the label that will be shown immediately before the subtotal of the price adjustment from any options selected. This field only displays in the cart view. Leave blank if you do not have any pricing adjustments in your Breezing Form. Form display Custom CSS - This is the custom CSS you want to use in the VirtueMart Product Details page when the form is displayed. VM2 Field Values Custom CSS - This is the custom CSS you want to use in the VirtueMart Product Details page when the summary details are displayed, after the form is submitted. If you don't do any custom CSS, this field should contain the following code.vmbf_fields_summary span { display:inline; }.vm-customfield-cart span.vmbftotal {float:right;}.vmbf_fields_title { display:inline; }.vmbf_fields_value { display:inline; } Multi-Language Site?

To translate text created by the extension, please read our FAQ page about how to translate the text strings. Add as many VirtueMart products as you like Because you associate a VirtueMart product with a Custom Field first, which is then connected to an individual Breezing Form here in the plugin, you have the option to connect an unlimited number of VirtueMart products to each of the twenty forms if desired. Each VirtueMart product that is associated with the same Breezing Form will have the same form embedded in the product details page.

FAQ Frequently Asked Questions 4 Sections: Presales Questions Help me decide which Breezing Forms & VirtueMart integration extension I should use What field types are available? Can I adjust product weight using this extension? How to Handle Pricing How do I configure pricing adjustments for my options? How can I do calculated prices in my form (dynamic pricing)? Integration Tips & Tricks Can I embed multiple Breezing Forms into a single VM2 product? For database exports, does VM2 store the Breezing Form form id number? How do I change where the Form shows up inside the product page? Is there a faster way to add a VM2 custom field trigger to a large number of products? Troubleshooting Tips I'm not getting the form embedded, just some text in squiggle brackets. Help! When I submit the form, I get a 404 error! How do I translate the text strings? Pricing isn't working (non-usd currency users)

Presales Questions Help me decide which Breezing Forms & VirtueMart integration extension I should use. Question: Polished Geek has several Breezing Form & VirtueMart integration extensions to choose from. How do I decide which one I need? Answer: At client request over the years, we've developed several complex integrations between Crosstec Breezing Forms and VirtueMart. And they just keep getting better and better! So we know it can be confusing sometimes to know exactly which one to use for your situation. Here is some helpful information to guide you to using the right extension for your needs. The extensions are presented in order starting with the latest, with the most features, to older versions with less features: Use Breezing Forms Custom Fields for VirtueMart if you have Joomla 2.5 and VirtueMart 2, and want to: o o o o Embed a custom form into your product details page Require customers to fill out the form and choose responses before adding the product to their cart Adjust or override VM2 product pricing based on form responses Include the form responses as part of the product information in the VM2 cart and order Is Breezing Forms Custom Fields for VirtueMart the extension you need? Buy it here. Use VirtueMart Breezing Forms Plugin PRO if you have Joomla 2.5 and VirtueMart 2 and want to: o o o o Add a custom form to your checkout process Collect form responses once for an entire order based on the product(s) selected Include the form responses in the VM2 order (shown as part of the product information) Do NOT need to adjust pricing based on form responses Is VirtueMart Breezing Forms Plugin PRO the extension you need? Buy it here. Use one of the free older versions of VirtueMart Breezing Forms plugin if you use Joomla 1.5 with VirtueMart 1.1, or Joomla 2.5 and VM2, and need to: o o Trigger a form during checkout based on the product(s) selected Just get the form filled in for use later by other applications or reporting - the responses are NOT brought into the cart or order view with the older plugins

o Don't need to have the exact order tracked to the exact form responses, and generally only care about gathering form responses by customer Try one of the older community versions (limited features) - Download here.

Presales Questions What field types are available? Question: What field types can I use in my VirtueMart 2 product page using the Breezing Forms Custom Fields extension? Answer: Breezing Forms by Crosstec supports a lot of different data elements. You can use any of these in your VirtueMart product page to collect the data you want to pass back to VM. Here are some helpful links to see what's possible: Example of all data elements Forms Demos

Presales Questions Can I adjust product weight using this extension? I want to adjust the weight of the product based on the answers in the form. Can I do that? Answer: The problem is that VirtueMart 2.0.x doesn't support weight modification for custom fields or custom field plugins, at least not last we checked. A while back we chatted with Max and he said they won't support it for custom fields until VirtueMart 2.2. If you can wait for that version, it's supposed to be out in Q4 2013. Weight Adjustments Require Paid Customization If you must have this feature before the end of 2013, we propose adding a new parameter to our Breezing Forms Custom Fields code, plus making a small hack to your calculated shipping plugins. This would be done as a custom paid project under our normal technical consulting rates. This is not included functionality in our standard extension. Also - this will require hacking all your shipping plugins that need the weight adjusted. As described below, the solution will only adjust weight for the shipping calculation. If there are other places where you want / need the adjusted weight to be utilized, or the new weight total to be displayed, this solution would require additional customizations to achieve that. If the end goal is just to be able to control the shipping weight behind the scenes, based on the options chosen by the shopper, then this will work. Here's the basic idea behind this solution. 1) Enhance our existing extension code to add a new field to adjust weight in the custom form of the product page. 2) Weight adjustment format would be "value +price +weight" (for example: "yes +5.00 1.00" so it would add $5.00 and 1 kg or 1 pound or whatever, depending on your VirtueMart configuration). 3) Store that adjusted weight value in a variable when the shopper submits the form 4) Hack the shipping plugins to pick up that stored weight variable, and add it to the weight for that item, before it calculates the shipping cost. The hardest part is modifying the various shipping plugins to support the weight as each one is different in how they process weight. The project cost would be a factor of the additional parameter work, which shipping plugins you are using, and how many plugins, and a few other factors.

How to Handle Pricing How do I configure pricing adjustments for my options? Question: How do I make some of my Breezing Forms options increase (or decrease) the VirtueMart product price? Answer: You have to add the price adjustment(s) in the Breezing Form for the appropriate options. Then our extension can pick these prices up. Only default currency will be used, so be sure to enter your price adjustment values with that in mind. After each Breezing Form option, use a separator and then + or - the price value. For example, assuming USD...value +5.00 to add $5.00 to the product price when this option is selected...value -2.50 to subtract $2.50 from the product price when this option is selected...value +%50 if you want to add 50%...value -%50 if you want to reduce by 50%...value =10.00 to override the product price to be $10.00. Only the last price override value in the form processed will be used Don't forget the Subtotal Field! Important! If you want to use the pricing calculation feature, you must add an additional field to your Breezing Form in order to dynamically show the price based on the customer's selections! Add the custom subtotal field to your Breezing Form

In order to display the product price dynamically, and hide the normal VM2 price field, you must add this additional field to your Breezing Form, "vmbf_subtotal". See screenshot above for example. Warning! The subtotal field must be configured as Read Only You will not want to allow the customer to edit the subtotal price field, so it's extremely important that you configure it as Read Only! See the Advanced tab for this setting. Additional pricing examples The below screenshot is part of the example eyeglass prescription form used throughout this documentation. It shows configuration with price adjustments for different Anti-Reflective Coatings. Below are two generic screenshots showing a few other examples of this type of pricing setup in Breezing Forms:

A few helpful tips 1. Be sure you have properly configured your Form Handling parameters for the Separator between the field value and the price (Normally a character - See Step Three). The separator field you put in the parameters must match what you use in your Breezing Form.

2. When designing your form, you may wish to add text to the displayed option that the customer sees so they will understand the impact of their choices. For example, you might wish to have the visible option say "Royal Blue (+$5.00)" rather than just "Royal Blue". Please note that you will still need to add the separator symbol and the real adjustment value at the end. Our extension will not pull the pricing adjustments out of your display text field. 3. With advanced programming skills, you can create complex and dynamic pricing. For example, you can calculate the option price based on variable user input, such as price per letter for engraving, or based on dimensions, after L/W/H measurements are provided in the form. As long as you can customize your Breezing Form to pass the separator character and the price desired for the field, our extension can pick it up and use it! 4. Don't forget to add the special "vmbf_quantity" and "vmbf_subtotal" fields to your Breezing Form whenever you are using pricing adjustments. Be sure to make the subtotal field READ ONLY - otherwise your customer's will be able to override the price to whatever they want! While you can place the quantity and subtotal fields anywhere, most people choose to place them right above the Submit button (or you can rename the Submit button to Add to Cart).

How to Handle Pricing How can I do calculated prices in my form (dynamic pricing)? Requires PHP programming skills Note: This page does not refer to pricing adjustments, which are easily configured in Breezing Forms Custom Fields, and do NOT require programming knowledge. Currently, there is only one method supported with the VM2 custom fields capabilities. You will need to dynamically change the pricing of an option in your form (you can make it hidden and calculated) to be a positive or negative number. Generally this will require moderate programming knowledge. Here are a couple of links to the Breezing Form Knowledgebase that provide a couple of different ways of handling this. If you need additional assistance on how to create a calculated number inside Breezing Forms, the Crosstec Breezing Forms documentation, knowledgebase, and forums are very helpful. http://crosstec.de/support/index.php?pid=knowledgebase&cmd=viewentclient&id=217 http://crosstec.de/support/index.php?pid=knowledgebase&cmd=viewentclient&id=128

Integration Tips & Tricks Can I embed multiple Breezing Forms into a single VM2 product? Question: I have two forms and would like both of them to show up inside one product. Can I do this? Answer: While technically feasible, we don't recommend trying to place more two or more Breezing Forms into the same VM2 product. Here's why: When you have multiple forms, you need a high amount of expertise to make them work together on the page effectively. Only one form on the page can have the End Submit code snippet installed, which is necessary for pulling the field values through to VirtueMart. So you would need to somehow present both forms on the page to the customer, yet only have a submit button on one form. So what happens when the customer doesn't fill out one of the forms without a submit button correctly and the item isn't really ready to add-to-cart? How will your page handle validation when the form with the submit button is completed successfully, but another form on the page without a submit button is not? Makes our heads spin just to think about the ways that customers could get confused in this type of multi-form situation. Far better to build one single combined Breezing Form, with different sections and one submit button, than to try to embed multiples into the same product page.

Integration Tips & Tricks For database exports, does VM2 store the Breezing Form form id number? Question: I need to export the data out of Breezing Forms for all orders. Is there a record of the Breezing Forms form id number in the VirtueMart 2 order? Answer: Yes, if you are a programmer you can find the form id number for a VirtueMart 2 order here: Form data is stored in column "product_attribute" of table # virtuemart_order_items. That column contains a piece wrapped in a json structure. You will want to look for "my_vmbf_plugin_bf_id=<number>" and use that number to correspond to the id number in table *# facileforms_records* that contains the corresponding Breezing Forms data.

Integration Tips & Tricks How do I change where the Form shows up inside the product page? Question: I don't like where the form is showing up on my product page. How do I fix this? Answer: Our extension places the embedded Breezing Form in the same default location as any other VirtueMart Custom Fields. To change the placement, you will need to modify your VM product template and possibly modify the CSS if you want to change the layout. In the example we've used throughout this documentation, by default the Breezing Form showed up in our demo VM2 site this way at first: Look for this template file to modify your product page layout: <joomla root>/components/com_virtuemart/views/productdetails/tmpl/default.php Inside that file, look for this default div tag section: <div class="width50 floatright">

You can change where the form shows up by moving the whole div tag section. For example, by default VirtueMart places custom fields above the description, but you can move this section to be after it to relocate it on the page. You also can change the div tag to give your form more room inside the layout if needed. For example, to give the form the full content width, Change: <div class="width50 floatright"> to instead be: <div class="width100 floatleft">

Integration Tips & Tricks Is there a faster way to add a VM2 custom field trigger to a large number of products? Question: Since I have to add the specific VM2 custom field to my products in order to embed the form, is there a faster way to bulk add VM2 custom fields to a large number of products at once? Answer: Unfortunately, this is a VirtueMart limitation (at least as of version 2.0.12). In native VM2, custom fields have to be added to each product individually, but of course if you have hundreds (thousands!) of products, this is a time-consuming and tedious task. Yet the VM2 custom field trigger is necessary for the integration to work. We recommend using a bulk import tool such as CSV Improved to see if that can reduce your administrative time associating VM2 custom fields with a large number of products.

Troubleshooting Tips I'm not getting the form embedded, just some text in squiggle brackets. Question: My Breezing Form is not being embedded in the product page. All I see are some squiggle brackets with the form name inside. How do I fix this? Answer: This happens if you haven't installed and enabled the Crosstec BreezingForms content plugin. This plugin comes with the package you receive when you purchase BreezingForms from Crosstec, NOT our extension. The plugin is required for the integration to work. Look in the zip file(s) you downloaded from Crosstec and be sure to install the file called plg_breezingforms_*version*.zip. Once you enable this, the form should show up in your product page.

Troubleshooting Tips Help! When I submit the form, I get a 404 error! Client question: I used the Form Submit code in your documentation, but once I fill out the form and click on the submit button, I get an error: Answer: Not Found The requested URL /index.php was not found on this server. This is caused by your website homepage being in a sub-directory (as is common during development). For example, if instead of http://domain.com/index.php, your entire website is located at http://domain.com/dev/index.php, then you will need to alter the Code Snippet provided in Step One. Change the instances of /index.php with your subdirectory information, /<subdirectory>/index.php and it should work.

Troubleshooting Tips How do I translate the text strings? Question: I need to support multi-language on my site. How do I translate the text strings used by the extension? The only language that is directly affected by the Breezing Forms Custom Fields extension are the following text strings: The custom field trigger title text as described in Step Two: It is very important that you do NOT change the custom field title or translate it! It is critical for the functionality that this text string match exactly in both plugins in order to embed the Breezing Form in the right VM2 product(s). Therefore, if you have a multi-language site, you should simply hide this text string with CSS. To hide this from the front end, add this code to your template's CSS file:.product-fields-title { visibility: hidden; } Please note that if you try to use other VM2 Custom Fields on the same page and use the CSS to hide the title, there is no way for VM2 to differentiate them, and all of the titles will be hidden when using this code. If you must... If you really must display this field and translate it, there is a hack described in the VirtueMart forums you might try. Please note that this is not a recommended or supported solution, and we cannot help debug the issue if you do this hack and then experience problems. See: http://forum.virtuemart.net/index.php?topic=108602.0;topicseen Bottom line message text as listed under the Form Handling parameters in Step Three: You can leave this field blank if not needed. If you would like to use a message in multiple languages, enter "PLG_VMBF_LAST_LINE" in the plugin configuration, and edit your language file(s) as needed to translate this text. Reset Form link text as listed under the Form Handling parameters in Step Three: Enter "PLG_VMBF_RESET_FORM_NAME" in the plugin configuration and edit your language file(s) to translate the string. Edit Form link text as listed under the Form Handling parameters in Step Three: Enter "PLG_VMBF_EDIT_FORM_NAME" in the plugin configuration and edit your language file(s) to translate the string. New price is text as listed under the Form Handling parameters in Step Three: Enter "PLG_VMBF_NEW_PRICE" in the plugin configuration and edit your language file(s) to translate the string.

Total Options Selected Label shows up for the subtotal of any pricing adjustments. If you are not adjusting price with any of your options, this field will not show. If you need to translate it, use the language file and enter your preferred wording for the "TOTAL_FOR_OPTIONS_SELECTED_IS" field Our extension language file is located here: <joomla root>/language/en-gb/en- GB.plg_vmcustom_vmbfcustomplugin.ini Any other language is handled either within VirtueMart or the Breezing Form component. Please consult their documentation for assistance with translations inside the form or elsewhere on the product page.

Troubleshooting Tips Pricing isn't working (non-usd currency users) Question: I've checked all of my setup but pricing still isn't working (if non USD currency user). Answer: When entering override prices or pricing adjustments, be sure not to use commas in your syntax. Remember, you're dealing with math that will add, subtract or override the value as entered, and therefore only decimal points are valid in the syntax. This can be a common error when dealing with European or other currencies where the comma and period are used differently than with USD. For example, NOT this - 0;Ja (+EUR 4,95);2 +4,95 Instead, use this - 0;Ja (+EUR 4,95);2 +4.95

BFCF Changelog Version 2.0.10 (July 2013) Bug fixes and improvements: Fixed hidden fields bug, were double submitted to Breezing Forms Fixed issues encountered when site in sub-directory Fixed issue with "Add to Cart" disappearing on products that didn't have BF Custom Field for that product assigned Version 2.0-2.0.8 (June 2013) New features: Extension now add items to the cart natively Wait indicator displays to customer while item is being added (helpful for slower websites) AJAX pricing display via custom Subtotal field Quantity adjustment in the form via custom Quantity field Other changes: Minor bug fixes Removal of the "Submit Adds to Cart" parameter (obsolete functionality) Removal of the Edit Form and Reset Form text parameters (obsolete functionality) Version 1.5 Version 1.0 - Original release