Write less, Do More. PCI Net Toolbelt dramatically extends the Miva Merchant 5 page template language like no other module, adding hundreds of new functions in a developer friendly way. Finally you can have the ability to create the online store you've always dreamed of. Included page template files show many fully commented, real world examples of how you can script your pages to do things that once required external modules. More than a collection of tools, Toolbelt turns page templates a robust scripting environment.
MySQL Required: Toolbelt makes extensive use of advanced MySQL queries and will not run on MIVASQL. Ask your host to upgrade your store. You'll be glad you did.
Toolbelt exposes the inner workings, allowing you to get under the hood of the powerful Miva Merchant engine. The Assign component alone adds over 130 powerful new functions to your pages (see list below). The module contains an expression builder that lets you lookup a categorized MivaScript function in a list, like toupper() or substring() get a description of what they do, then copy and paste the resulting code into your templates. But that's just the beginning, there's much more. If Assign is your toolbelt then Query is an excavator and the Do command is tunnel boring machine. No other module puts this much power in your hands in such a user friendly way.
Documentation: A product this powerful deserves equally powerful documentation. The primary documentation is built into the module and always a mouse click away. Clicking the alphabetical index instantly takes you to the command you're looking for, where you will find a comprehensive reference guide. Additional links provide even greater detail. The exhaustive online documentation is second to none. It includes one of the most comprehensive listings of the internal MivaScript functions available on the web. It clearly explains the most misunderstood aspects of Store Morph page templates and is a valuable resource even of you don't need or use the module.
Installation: It couldn't be simpler. No extra steps or complex instructions . Simply install, activate your license and get to work.
What's New?
PR7 (Wombat) compatible.
Advanced Search: Configurable search fields including custom product fields.
Drop in user selectable pagination and sorting on Category, Product list and Search pages.
Previous and Next product buttons; Previously Viewed products.
New Items
- Array_Elements: Returns a number of elements in an array.
- Category_Load: Returns the specified category letting you put any category information on any page. Also returns: href, image_title, and image_tree.
- Category_Products: Provides paging links, user selectable sorting, user selectable items per page. It can be used on the CTGY page template or can be used to create alternate category page layouts.
- hasAttributes: This item returns a number of attributes a product has. On a category page this can be used to change the Add to Basket button into a More Information link, for any product that has attributes.
- Lookup|Login: This item outputs a form that allows customers to enter their email address and receive their account login name by email. Comes with the Loogup_Login page template to provide complete formatting flexability.
- NumberFormat: This item and the NumberFormat() function returns a number formally formatted. For example 1214365.346 formats as 1,214,365.35
- PercentFormat: This item and the PercentFormat() function returns a number formatted as a percentage. for example 0.156 would display as 15.6%
- Product_BestSellers: Returns the stores best selling products from all products or by category. You can specify the maximum number of items and the sort order.
- Product_Categories: Returns each category record a product is assigned to.
- Product_List: Provides paging links, user selectable sorting, user selectable items per page. Used on the Product List (PLST) page.
- Product_Load: Returns the complete product data set, letting you put any product information on any page.
- Products_New: Returns the newest products added to the store. You can specify the maximum number of items and the sort order.
- Product_NextPrev: Used to create buttons links or image links when added to a product page for Previous and Next products in the category.
- Products_Random: Returns randomly selected products from a category or from all products.
- Product_Related: Returns all related products letting you put any related product information on any page. You can specify the maximum number of items and the sort order.
- Products_Purchased: Returns the stores most recently sold products. You can specify the maximum number of items and the sort order.
- Products_Viewed: This item outputs a drop down select box of previously view products. It can be placed on any page but tracks up to 10 previously view products.
- Trace: Outputs debugging text directly into you web page so you can visually see which toolbelt commands are being executed.
- Search_Products: Last but not least, this replacement for Merchant search allows you to specify which fields to search including custom product fields. Provides paging links, user selectable sorting, user selectable items per page.
When appropriate the Product and Category_Products items return these additional fields href, price_original, formatted_price, formatted_cost and quantity (in basket)
New Templates
- Lookup_Login: Allows a customer to lookup their login name using their email address.
- Contact_cssui: Contact Us Email Form for stores using the CSSUI framework with installation.
- Contact_mmui: Contact Us Email Form for stores using the MMUI framework with installation.
- Search: Complete drop in search page with Toolbelt Search features pre-integrated.
- Search_results: Search page results layout.
- Search_category_select: Two methods for adding a dynamic category select dropdown box to the search form.
New Functions
- NumberFormat(): this function returns a number formally formatted with comma delimiters
- PercentFormat(): This function returns a number formatted as a percentage.
Included Page Templates
- Tell a Friend: Let your customers send links to your pages to their friends.
- Mini Basket: Keep a running total of the basket. Display it anywhere you desire.
- Random Products: Select products at random from all products or specific categories.
- Featured Products: Select products for display on your storefront or elsewhere. Simple to use and maintain.
- Delete Expired Baskets: Show you how to automatically delete expired baskets in your store at timed intervals.
- New Lookup_Login: Provided as an alternative to the Lookup|Login item giving you complete formatting flexability.
- Password: Shows you how to password protect your page templates.
- Sessions: Shows you how to password protect your page templates, AND create a session cookie so that you stay logged in till the session expires or you log out.
- SeoLinks_Demo: demonstrates the use of the new SeoLinks and SeoLink items.
- NTFD_with301_redirects: This advanced. template demonstrates how to do 301 redirects without using .htaccess.
- NOIE6: Notify IE6 users that they need an updated browser. Provides images and links to major browsers.
Store MorphTM Language Enhancements.
Finally you can use every MivaScript function within your Merchant page templates. The assign and eval components work just like their MivaScript equivalents. You can build complex expressions for manipulating your data. Toolbelt also adds a host of new functions to the language. In fact every Toolbelt item allows you to use string and numeric expressions, variables, or functions, efficiently reducing the number of steps needed to complete a your work.
- New Array_Elements: Returns a number of elements in an array.
- Assign: Assign a value to ANY variable, which may be simple or complex expression or which may contain any MivaScript or Toolbelt function. (listed below).
- Availgroup: These fourteen functions provide you with all the tools you need to manage availability groups, customers, categories and products.
- Basket: Used in the Mini basket template, this function provides basket summary information including number of items, total weight, subtotal, total charges, and basket total.
- Benchmark: Allow you to easily determine page template processing time or time sections of a page like foreach loops, screen, or call functions.
- Call_get, Call_put: Call an external web page or post data to an external web page. The results are returned in a string.
- Cookie: This item very easily lets you easily load and save browser cookies. Finally you have a simple way to create persistent global variables or sessions.
- Counter: For use inside loops, counter allows you to increment or decrement a count of the iterations.
- CurrencyFormat: Give a number, returns the number formatted for the currently assigned currency.
- DateTime_Format: Truly comprehensive time formatting options, like those found in other high level languages.
- DateTime_Value: Convert standard date time strings into time values. Makes time calculations or format conversions simple.
- Do: Call external compiled functions contained in any external MivaScript file. Works like MivaScripts MvDO tag or OpenUIs DOFUNC token. Use global or l.all_settings: variables.
- For: Loop structure. Remove the restriction of foreach loops. For example: "for|j =0 to g.max step 2" . Use positive or negative numbers, variables or expressions.
- Eval: Print any variable, simple or complex expression to the page.
- Event_Timer: Email a report, pack the store, create a batch, retrieve an xml feed with unlimited event timers. Trigger events at any time or interval, hourly, daily, weekly, or monthly.
Lookup|SQL: Execute a SELECT query on ANY store database table returning the results in a array.
- Lookup|Header, Lookup|Footer: Save ANY category header or footer or ANY product header or footer to a variable by providing the category or product code.
- Lookup|ProductCategories: Find each category a product is assigned to and load it to an array. Useful when a products category is not known.
- New NumberFormat: This item and the NumberFormat() function returns a number formally formatted. For example 1214365.346 formats as 1,214,365.35
- New PercentFormat: This item and the PercentFormat() function returns a number formatted as a percentage. for example 0.156 would display as 15.6%
- Pricegroup: These ten functions provide you with all the tools you needed to manage price groups, customers and products.
- Updated Query: This powerful function allows you to execute ANY well formed query on ANY MySQL database table within your store, and return the data in a Storemorph Array.
- Random_Numbers: Create a non-repeating array of random numbers of any size between 1 and any upper limit.
- Reference: The function creates a reference from one variable to another, such that changes to one will be made to the other. One use would be to convert data in the l.settings array to a global variable that can be passed to another screen.
- Screen: Load and display any page inside another page OR save it to a variable. This powerful command lets you use page templates as sub screens or program sub routines/functions.
- SearchArray: Given a sorted single dimension array, searches the array and instantly returns the index if found.
- New SearchText: This powerful search command allows you to quickly search any or all fields in delimited text file, and return the matching data record.
- SendEmail: Allows you to send text or html email from within page templates. Collect any form data sent to any screen and send it via email.
- SortArray: Given a single dimension array, returns an alphabetically sorted copy; very very quickly.
- SortCsv: Given a list of comma separated values, returns an alphabetically sorted copy.
- Structure: Reveals the internal structure of any store database table.
- New Trace: Outputs debugging text directly into you web page so you can visually see which toolbelt commands are being executed.
- Varlist: See Varlist() function. Like a popular free helper module, see what's going on under the hood. Outputs the complete list of global, local, or system variables to the screen.
Merchant Page Enhancements
- Basket: Returns Basket Totals for length (items in cart), weight, subtotal, subtotal currency formatted, charges, charges formatted, total and total formatted.
- BasketButtons: Provides buttons for your basket screen to Continue Shopping, Empty the Basket, and Checkout.
- BasketCombined: Makes the combined price (price + attribute price) available; the product image and thumbnails; the attribute and option prompts, and images.
- Updated BreadCrumbs: Provides a breadcrumb trail on category and product pages. Comes in two forms: Output the html OR retrieve the data allowing you to script the html. Updated to use the Domain SEO Settings to determine the link format.
- Cattree_Expanded: Outputs the entire category tree structure at once as a multi level unordered list, e.i. <ul><li> tags. Use CSS & JavaScript to create your own horizontal dropdown or vertical fly out menus. Uses the Domain SEO Settings to determine the format of the links and provides multiple optional parameters.
- Category_Images: Loads the Category Title and Category Tree images.
- New Category_Load: Returns the specified category letting you put any category information on any page. Also returns: href, image_title, and image_tree.
- Category_Meta: Loads the Category meta keywords and description
- Updated Category_Parents: Loads all top level categories (parents).
- New Category_Products: Returns all products assigned a category, and much more. It can be used on the CTGY page template in conjunction with the product_list item, or can be used to create alternate category page layouts. It provides category paging links (e.g. Page: [1] 2 3 4 ) and user selectable sorting using a drop down box.
- Updated Category_Siblings: Loads all categories on the same level as (siblings) below the one specified.
- Updated Category_Children: Loads all categories below (sub categories) below the one specified.
- Custom_Category: Returns the custom category fields for a single category. Requires MM5 core 17 update.
- Custom_Customer_Read/Write. Finally you can use Merchants additional customer fields to store customer preferences, birthdays, Tax ID, or any other information.
- Custom_Products: Returns the custom product fields for a single product.
- Category_Paging: Provides category page navigation on category pages. (e.g. Products found in this category: 102 Pages: 1 [2] 3 4 5 Page: 2 of 5 )
- New hasAttributes: This item returns a number of attributes a product has. On a category page this can be used to change the Add to Basket button into a More Information link, for any product that has attributes.
- New Lookup|Login: This item outputs a form that allows customers to enter their email address and receive their account login name by email. Comes with the Loogup_Login page template to provide complete formatting flexability.
- New Product_BestSellers: Returns the stores best selling products from all products or by category. You can specify the maximum number of items and the sort order.
- New Product_Categories: Returns each category record a product is assigned
- New Product_List: Used on the Product List (PLST) page. Like Category products it returns all products and provides paging links and user sorting using a drop down box.
- New Product_Load: Returns the complete product data set, letting you put any product information on any page.
- New Products_New: Returns the newest products added to the store. You can specify the maximum number of items and the sort order.
- New Product_NextPrev: When added to a product page, Product_NextPrev is used to create buttons links or image links for Previous and Next products in the category.
- New Products_Random: Returns randomly selected products from a category or from all products.
- New Product_Related: Returns all related products letting you put any related product information on any page. You can specify the maximum number of items and the sort order.
- New Products_Purchased: Returns the stores most recently sold products. You can specify the maximum number of items and the sort order.
- New Products_Viewed: This item outputs a drop down select box of previously view products. It can be placed on any page but tracks up to 10 previously view products.
- OrderSubtotal: This function provides additional order information including number of items, total weight, subtotal. Many conversion tracking programs need this information.
- RememberMe (Stay logged in): Adds a checkbox to allow customers to stay logged in. Remember me?
- Updated Random_Products: Returns randomly selected products from ALL products OR from specific categories for display on any page.
- Search_Products: Last but not least, this replacement for Merchant search allows you to specify which fields to search including custom product fields. Provides paging links, user selectable sorting, user selectable items per page.
- Updated SeoLinks and SeoLink: These items provide the simplest way possible to convert your site to use short links configured under Domain | SEO Settings. If you change your SEO Settings later all your store links are update automatically.
Toolbelt Functions
- Body_innerHTML(): After reading a webpage with Call, Screen or file_read(), use this to return the portion of the page between the <body> tags
- Capitalize(): Capitalizes each word in a string or list.
- Compress(): Returns string after removing tabs, leading and trailing spaces and blank lines.
- EncodeHtml(): Encodes each character in a string as &#nnn; where nnn is the ascii character code.\
- DecodeHtml(): Reverses EncodeHtml(); Decodes each html character string &#nnn; where nnn is the ascii character code.
- HardBreak(): This function converts every space in a string (i.e. ascii char 32) into a break tag <br>
- isAlphaNumPlus(): The same as isalnum() except it allows you to pass additional character like a space, period or other punctuation.
GettokenCount(): Given a delimited text string, return the number of fields in the string. You could even use it to count the number of words in a string.
- isEmail(): Return 1 if a valid formatted email address string is found else returns 0.
- isURL(): Return 1 if a valid web address string is found else returns 0. Does not confirm the address.
- Left(): Returns the left portion of a string up to the number of characters OR first occurrence of search_string.
- NEW NumberFormat(): this function returns a number formally formatted with comma delimiters
- NEW PercentFormat(): This function returns a number formatted as a percentage.
- Replace(): Replace some characters with other characters in a string.
- Right(): Returns the right portion of a string up to the number of characters OR last occurrence of search_string.
- StripHTML(): Returns a string with all html stripped out.
- Table_Exists(): Return 1 if the mysql_tablename is found else returns 0.
- Varlist(): Like the Varlist item, this debugging function returns a sorted report of global, system or local variable names, entity expressions, and values. It provides a filter parameter to limit the output.
Mivascript Functions
|
String Functions asciichar() asciivalue() decodeattribute() decodeentities() encodeattribute() encodeentities() gettoken() glosub() glosub_array() len() ltrim() padl() padr() rtrim() substring() tokenize() tolower() toupper() trim() Numerical Functions acos() asin() atan() atan2() ceil() cos() cosh() exp() floor() fmod() int() log() log10() power() random() rnd() sin() sinh() sqrt() tan() tanh() |
File System Functions dir() file_append() file_create() file_read() miva_lockfile() tar_create() wdownload() wget() xml_parse() Database Folder Functions fchmod() fcopy() fdelete() fexists() fmkdir() fmode() frename() fscopy() fsize() fsrename() fsymlink() HTML Folder Functions schmod() scopy() sdelete() sexists() sfcopy() sfrename() smkdir() smode() srename() ssize() ssymlink() Time Functions ftime() stime() time_t_month() time_t_year() time_t_hour() time_t_min() time_t_sec() time_t_dayofmonth() time_t_dayofweek() time_t_dayofyear() timezone() mktime_t() |
Inspection Functions isalnum() isalpha() isascii() iscntrl() isdigit() isgraph() islower() isprint() ispunct() isspace() isupper() isxdigit() System Functions makesessionid( ) miva_array_collapse() miva_array_deserialize() miva_array_elements() miva_array_max() miva_array_serialize() miva_element_exists() miva_getvarlist() miva_member_exists() miva_output_flush() miva_output_header() miva_template_compile() miva_variable_value() Encryption function bf_decrypt() bf_encrypt() crypto_base64_decode() crypto_base64_encode() crypto_hmac_sha1() crypto_md5() crypto_rand_bytes() crypto_sha1() rsa_free() rsa_generate_keypair() rsa_load_privatekey() rsa_load_publickey() rsa_private_decrypt() rsa_private_encrypt() rsa_public_decrypt() rsa_public_encrypt()
|