We've found it massively useful; we now use it for almost every site that we do work on as it saves so much time and trouble and is so reliable. We also use this for all of our template field addons that are for sale. Once installed, adding extra logic for formatting your templates is fantastically simple and flexible.
Either use them with arguments (as per VPCart's formatcurrency special-field) to format specific values, or use them with no arguments (as per VPCart's add_crossselling special-field) to create straight-forward non-order/product-specific html.
These functions work in any/all of the templates (html and text), including product templates, order templates, and email templates.
The "Related/Connected Info" usage - WOW! No coding required, just simple template-file changes, and shows whatever you want:
It would often be useful to display a field value from a different table than the template is being run for, and this special template field allows you to do that.
For example, on a product template, you might want to "drill-down" to the supplier table of that product's supplierid and display the supplier name on the product page.
Or, on an order-items (oitems) template you might want to drill-down to the products table for that oitem's catalogid and display the product's manufacturer.
Or maybe you want to show the customer's userid/pwd on their order confirmation email.
There are lots of times when this kind of drill-down would be useful to do, and this special template field will allow you to drill-down to any other table from any template and return any column value without you having to manually delve into the asp files and without needing any programming knowledge.
The possibilities are endless as this applies to any template (customers, orders, products etc) and allows you to connect from-anything to-anything.
To display a column value from a related table, you would use the following special template field with the relevant arguments in your template file:
[BYZ_SUB_COLVAL "{a}{b}{@@c@@}{d}{e}"]
Where:
a) Is the name of the sub/related table that you want to drill-down to.
b) Is the name of the column on the sub/related table that you want to display.
c) Is the name of the column on the template-driving table that is the key/match column to the sub/related table.
d) Is the name of the column on the sub/related table that you want (c) to match to.
e) Is the type of column on the sub/related table that you have named in (d), use "number" or "text".
Please note that the 3rd argument has 2 @'s ("at" signs) around it, this is because the internal processing then knows to process that value as a dynamic column value and not a literal value and so that it can eliminate hackers from using this template-field logic as a way to gain access to unauthorised data. Double at signs are automatically cleaned/stripped from any data that users enter, so they will never be able to use this logic against your site. This is a very powerful function and so has been secured by using the double at signs around it in the internal code which hackers will never be able to replicate by other means. The file structure/logic of BYZ033 means that hackers won't be able to "call" this function anyway, but the @@ logic adds that extra bit of security.
Examples:
1. Display the supplier name for a given product's supplierid on a product template:
[BYZ_SUB_COLVAL "{suppliers}{name}{@@supplierid@@}{supplierid}{number}"]
would produce a query like:
select suppliers.name from suppliers where suppliers.supplierid=[currentproducts.supplierid]
2. Display the current Mail-List Flag for a given customer's contactid on an order template:
[BYZ_SUB_COLVAL "{customers}{maillist}{@@ocustomerid@@}{contactid}{number}"]
would produce a query like:
select customers.maillist from customers where customers.contactid=[currentorders.ocustomerid]
3. Display the Manufacturer for a given oitems' catalogid on an oitems (order-items) template:
[BYZ_SUB_COLVAL "{products}{mfg}{@@catalogid@@}{catalogid}{number}"]
would produce a query like:
select products.mfg from products where products.catalogid=[currentoitems.catalogid] |
VerNo
|
Version Date
|
Release Notes
|
01
|
04-OCT-2004
|
Initial version - Big Yellow Zone Template Codes Addon for VP-ASP. |
02
|
16-DEC-2004
|
Added product/order cursor to inward arguments to functions. |
03
|
21-DEC-2005
|
Changed to be compatible with VP-ASP V6. No core changes made; only documentation changed.
Files changed:
byz033_install.asp
README.htm |
04
|
04-MAR-2007
|
Added new logic to cater for literal template-field arguments.
Added example and library function to cater for multiple-values in arguments.
Clarified the installation notes.
Upgraded BYZ038 (Licensing) module to cater for VP-ASP V6.5.
Effected files:
byz033_install.asp (changed file)
README.htm (changed file)
example4.asp (changed file)
example_tmp_productformat.htm (changed file)
example_tmp_product.htm (changed file)
byz_template_codes$includes_functions.asp (changed file)
byz_template_codes$includes_codes.asp (changed file)
byz_template_codes_sys.asp (changed file)
byz_template_codes_sys_findfieldsetupchk50_inc.asp (new file)
byz_template_codes_sys_findfieldsetupchk45_inc.asp (new file)
byz_template_codes_sys_findfieldsetup_inc.asp (new file)
byz_template_codes_sys_findtokens_inc.asp (new file)
byz_template_codes_codes_example5.asp (new file)
byz_template_codes_functions_example5.asp (new file) |
05
|
09-NOV-2007
|
Upgraded BYZ038 (from V07 to V08)
Upgraded BYZ036 (from V02 to V04)
Changed instructions to be compatible with bigyellowkey.com licensing notes.
Split out the history, installation, and usage notes into separate readme files.
Adjusted the installation notes to use commenting-out instead of replacements for code-changes.
Effected files:
README.htm (changed file)
README_history.htm (new file)
README_installation.htm (new file)
README_usage_main.htm (new file)
byz033_install.asp (deleted file) |
06
|
16-JAN-2009
|
Upgraded BYZ038 (from V08 to V10).
Upgraded BYZ036 (from V04 to V05).
Clarified installation notes.
Created version file for reference/info.
Effected Files:
README.htm (changed file)
README_history.htm (changed file)
README_installation.htm (changed file)
README_usage_main.htm (changed file)
byz$033_version.asp (new file) |
07
|
11-DEC-2009
|
Made compliant with VPASP V7.
Upgraded BYZ038 (from V10 to V11).
Upgraded BYZ036 (from V05 to V06).
Added a new built-in special template field to allow drill-down (sub/related tables) arguments/logic (for example to display the supplier name for a given catalogid on a product template; see the usage instructions readme doc for more info).
Effected files:
README.htm (changed file)
README_history.htm (changed file)
README_installation.htm (changed file)
README_usage_developers.htm (new file)
README_usage_main.htm (changed file)
byz$033_version.asp (changed file)
byz_template_codes_codes_subtables.asp (new file)
byz_template_codes_functions_example3.asp (changed file for vpaspv7+ only)
byz_template_codes_functions_example4.asp (changed file for vpaspv7+ only)
byz_template_codes_functions_subtables.asp (new file)
byz_template_codes_sys.asp (changed file)
byz_template_codes_sys_var_inc.asp (new file)
example4.asp (deleted file) |
08
|
18-JAN-2010
|
Added array to function calls (see the readme developer notes for technical details).
PLEASE NOTE: If upgrading, please make sure that you apply the new argument in steps 9 and 10 of the readme installation file to your shopfileio.asp file (parsearray for VPASP5.0 upwards, FieldNames for VPASP4.5), and if using VPASP V7.0 or above then also apply that change to your admin/adminfileio.asp file.
Effected Files:
README*.htm (changed files)
byz$033_version.asp (changed file)
byz_template_codes_sys.asp (changed file)
admin/byz$033_version.asp (changed file for vpaspv7+ only)
admin/byz_template_codes_sys.asp (changed file for vpaspv7+ only) |
09
|
09-FEB-2010
|
Upgraded BYZ038 (from V11 to V12).
Upgraded BYZ036 (from V06 to V07).
Effected files:
README* (changed files)
byz$033_version.asp (changed file for all vpasp versions)
admin/byz$033_version.asp (changed file for vpasp v7+ only) |
10
|
27-MAR-2011
|
Upgraded BYZ038 (from V12 to V13).
Upgraded BYZ036 (from V07 to V08).
Effected files:
README* (changed files)
byz$033_version.asp (changed file for all vpasp versions)
admin/byz$033_version.asp (changed file for vpasp v7+ only) |
11
|
11-APR-2011
|
Changed examples (and the subtables function) to use arrays instead of using cursors directly (to help avoid the 8k/memo problems where some values get blanked-out in cursors).
Brought the vpaspv7 files into line with the relevant latest generic vpasp v7 patches.
Split installation documentation into separate files for different vpasp versions, deleted unused files.
If upgrading to BYZ033 V11 or above on vpasp v7 or above, then please note that the Sub FindField change in the Add literal arguments to shopfileio.asp (and admin/adminfileio.asp) installation step has changed, please revert your Sub FindField function back to its normal (non-byz) state first, and then apply the new step (which renames the function and adds a new include above the function name).
(for list of effected files, see the version history in the byz033 modules docs folder) |
12
|
13-SEP-2011
|
Upgraded BYZ038 (from V13 to V14).
Upgraded BYZ036 (from V08 to V09).
Effected files:
README* (changed files)
vpasp4.5/byz$033_version.asp (changed file)
vpaspv5.0to6.5/byz$033_version.asp (changed file)
vpaspv7.0andabove/byz$033_version.asp (changed file)
vpaspv7.0andabove/admin/byz$033_version.asp (changed file) |
13
|
01-NOV-2011
|
Upgraded BYZ038 (from V14 to V15).
Upgraded BYZ036 (from V09 to V10).
Effected files:
README* (changed files)
vpasp4.5/byz$033_version.asp (changed file)
vpaspv5.0to6.5/byz$033_version.asp (changed file)
vpaspv7.0andabove/byz$033_version.asp (changed file)
vpaspv7.0andabove/admin/byz$033_version.asp (changed file) |
14
|
23-FEB-2012
|
Changed to use the new BYZ038 functions where appropriate.
Upgraded BYZ038 (from V15 to V16).
Upgraded BYZ036 (from V10 to V11).
Please Note: You must be using V16 or later of BYZ038 before upgrading to V14 or later of BYZ033.
BYZ033 V14 or later will not work with V15 or below of BYZ038.
(for list of effected files, see the version history in the byz033 modules docs folder) |
15
|
07-JUL-2012
|
Changed the vpasp 4.5 system file to not use the UCaseFieldnames variable as its not defined on some older versions of vpasp.
Upgraded BYZ038 (from V16 to V17).
Upgraded BYZ036 (from V11 to V12).
Effected files:
README* (changed files)
vpasp4.5/byz$033_version.asp (changed file)
vpasp4.5/byz_template_codes_sys.asp (changed file)
vpaspv5.0to6.5/byz$033_version.asp (changed file)
vpaspv7.0andabove/byz$033_version.asp (changed file)
vpaspv7.0andabove/admin/byz$033_version.asp (changed file) |
16
|
17-JUL-2012
|
Upgraded BYZ038 (from V17 to V18).
Upgraded BYZ036 (from V12 to V13).
Effected files:
README* (changed files)
vpasp4.5/byz$033_version.asp (changed file)
vpaspv5.0to6.5/byz$033_version.asp (changed file)
vpaspv7.0andabove/byz$033_version.asp (changed file)
vpaspv7.0andabove/admin/byz$033_version.asp (changed file) |
17
|
10-OCT-2012
|
Upgraded BYZ038 (from V18 to V19).
Upgraded BYZ036 (from V13 to V14).
Added live version/upgrade checks to the documentation documents.
Effected files:
README* (changed files)
vpasp4.5/byz$033_version.asp (changed file)
vpaspv5.0to6.5/byz$033_version.asp (changed file)
vpaspv7.0andabove/byz$033_version.asp (changed file)
vpaspv7.0andabove/admin/byz$033_version.asp (changed file) |
18
|
04-MAR-2013
|
Upgraded BYZ038 (from V19 to V23).
Upgraded BYZ036 (from V14 to V16).
Effected files:
README* (changed files)
vpasp4.5/byz$033_version.asp (changed file)
vpaspv5.0to6.5/byz$033_version.asp (changed file)
vpaspv7.0andabove/byz$033_version.asp (changed file)
vpaspv7.0andabove/admin/byz$033_version.asp (changed file) |
19
|
01-JAN-2014
|
Upgraded BYZ038 (from V23 to V28).
Upgraded BYZ036 (from V16 to V17).
Created core system template fields/functions for use by other BYZ modules and available for general site customizations.
Please Note: You must be using V28 or later of BYZ038 before upgrading to V19 or later of BYZ033.
BYZ033 V19 or later will not work with V27 or below of BYZ038.
Effected files:
README* (changed files)
vpasp4.5/byz$033_version.asp (changed file)
vpasp4.5/byz_template_codes_codes_syscodes.asp (new file)
vpasp4.5/byz_template_codes_functions_syscodes.asp (new file)
vpasp4.5/byz_template_codes_sys.asp (changed file)
vpasp4.5/byz_template_codes_sys_tools.asp (new file)
vpaspv5.0to6.5/byz$033_version.asp (changed file)
vpaspv5.0to6.5/byz_template_codes_codes_syscodes.asp (new file)
vpaspv5.0to6.5/byz_template_codes_functions_syscodes.asp (new file)
vpaspv5.0to6.5/byz_template_codes_sys.asp (changed file)
vpaspv5.0to6.5/byz_template_codes_sys_tools.asp (new file)
vpaspv7.0andabove/byz$033_version.asp (changed file)
vpaspv7.0andabove/byz_template_codes_codes_syscodes.asp (new file)
vpaspv7.0andabove/byz_template_codes_functions_syscodes.asp (new file)
vpaspv7.0andabove/byz_template_codes_sys.asp (changed file)
vpaspv7.0andabove/byz_template_codes_sys_tools.asp (new file)
vpaspv7.0andabove/admin/byz$033_version.asp (changed file)
vpaspv7.0andabove/admin/byz_template_codes_codes_syscodes.asp (new file)
vpaspv7.0andabove/admin/byz_template_codes_functions_syscodes.asp (new file)
vpaspv7.0andabove/admin/byz_template_codes_sys.asp (changed file)
vpaspv7.0andabove/admin/byz_template_codes_sys_tools.asp (new file) |
20
|
01-APR-2015
|
Upgraded BYZ038 (from V28 to V31).
Upgraded BYZ036 (from V17 to V18).
Enhanced/changed to cater for VPCart V8.
Changed instances of VP-ASP/VPASP to VPCart as VPASP has now been rebranded/renamed.
Effected files:
README* (changed files)
vpcartv4.5/byz$033_version.asp (changed file)
vpcartv4.5/byz_template_codes_codes_example5.asp (changed file)
vpcartv4.5/byz_template_codes_functions_example5.asp (changed file)
vpcartv5.0to6.5/byz$033_version.asp (changed file)
vpcartv5.0to6.5/byz_template_codes_codes_example5.asp (changed file)
vpcartv5.0to6.5/byz_template_codes_functions_example5.asp (changed file)
vpcartv7/byz$033_version.asp (changed file)
vpcartv7/byz_template_codes_codes_example5.asp (changed file)
vpcartv7/byz_template_codes_functions_example5.asp (changed file)
vpcartv7/admin/byz$033_version.asp (changed file) vpcartv7/admin/byz_template_codes_codes_example5.asp (changed file)
vpcartv7/admin/byz_template_codes_functions_example5.asp (changed file)
vpcartv8andabove* (new folders/files) |