Get more morph from Store Morph. This module dramatically extends the Miva Merchant 5 page template language, adding hundreds of new functions. Finally you can have the ability to create the pages 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, this module makes page templates a robust scripting environment.
What's New?
New Items
SeoLinks and SeoLink: provide the simplest way possible to convert your site to short, SEO friendly links.
Cattree_Expanded: Outputs the entire category tree structure at once as a multi level unordered list, allowing you to use your own CSS and JavaScript to create dynamic drop-down and fly-out menus.
Load Category: Images, Meta fields, Parents, Siblings, Children.
SearchText: This powerful search command allows you to quickly search any or all fields in delimited text file, and return the matching data record.
New Templates
SeoLinks_Demo: Demonstrates the use of the new SeoLinks and SeoLink items.
NTFD_with301_redirects: This advanced. template demonstrates how to do 301 redirect directly inside the Merchant NTFD page template if you rename category codes for SEO purposes.
New Functions
isAlphaNumPlus(): The same as isalnum() except it allows you to pass additional special 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.
Primary documentation is built into the module and always a mouse click away. The external documentation 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.
PCI Net Toolbelt is like giving your page designs mega vitamins. Bulk up your designs with a tool that actually extend the language and expose the inner workings of Miva Merchant. 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. The expression builder won't replace the documentation, but it will keep you from having to look it up so often. But that's just the beginning, there's much much more.
Installation is simple, requiring no extra steps or complex instructions. Simply purchase, download, install, activate your license and get to work.
Included Page Templates
- Contact Us: Is your Inbox to fat? Reduce your daily intake of spam by providing a contact us form.
- 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.
- 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.
- NEW SeoLinks_Demo: demonstrates the use of the new SeoLinks and SeoLink items.
- NEW NTFD_with301_redirects: This advanced. template demonstrates how to do 301 redirects without using .htaccess.
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.
- 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.
- Pricegroup: These ten functions provide you with all the tools you needed to manage price groups, customers and products.
- 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.
- NEW OrderSubtotal: This function provides additional order information including number of items, total weight, subtotal. Many conversion tracking programs need this information.
- 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.
- 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.
- 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.
- NEW 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.
- NEW Category_Images: Loads the Category Title and Category Tree images.
- NEW Category_Meta: Loads the Category meta keywords and description
- NEW Category_Parents: Loads all top level categories (parents).
- NEW Category_Siblings: Loads all categories on the same level as (siblings) below the one specified.
- NEW 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 )
- RememberMe (Stay logged in): Adds a checkbox to allow customers to stay logged in. Remember me?
- Random_Products: Returns randomly selected products from ALL products OR from specific categories for display on any page.
- NEW 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>
- NEW isAlphaNumPlus(): The same as isalnum() except it allows you to pass additional character like a space, period or other punctuation.
NEW 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.
- 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()
|