Scot's Scripts Miva Merchant Module Support

Scot's Scripts Miva Merchant Module Support

Support for our Miva Modules.
Find answers to your installation and usage questions.
This is the place to start if you have questions about our modules. Most of our Miva Modules are fully documented. Do not hesitate to contact us if you can't find the answer you're looking for!

Looking for something? Start typing here:

Scot's Blogger is used to created this support system.

Instapages Help

last updated

The Installation Guide walks you through basic setup. The instructions below give you ways to display content.

To get the most out of Instapages be sure to hover and/or click over all the for tips, and when editing content, click the icon for details.

The Basics

1. Create Content

Click the "Add Content" link to create new content. If you want to drag and drop images add a title and save the content first. Drag and drop images need a content id which is created when you save.

The two horizontal bars to the left of the block you are editing are used to drag and drop content blocks. Clicking on them also brings up a context menu.

Colors and other styles: Click the # symbol in the menu to add styles to blocks in your content. Click Here for the general CSS guide for Shadows based readythemes.

2. Publish Content and Drafts

Only published content will be displayed live unless you are previewing a draft. Once a draft is ready, publish the updates to make the content live. Make sure the URI is set to "LIVE" if you want to display published content by coming in from a URL.

3. Display Content

Display basic Instapage content using:

&mvt:instapages:content;

This will display content loaded via URL as well as optional auto-content (see #4 below, content is loaded via code that is the same as the page code.)

See the Installation docs for more information on displaying content.

4. Use Instapages for Basic Page Content

Using Instapages to create default page content is an easy way to get more out of your store pages without having to know how all the CSS and HTML works. 

First, go into the Instapages settings and turn "Automatically load page content" option on.

The next step is to go to the page, such as the About Us page, and create some content and assign it the same code as the page, in this case, ABUS. 

When someone visits your About Us page the content you assigned to ABUS can be displayed using the page item above in the "Display Content" section.

URI System

Instapages leverages the built in Miva Merchant URI system. Once you set a URI to "live" mode the content will be accessible by loading the URI.

Loading and Displaying Content

The installation guide shows how to set things up for the most basic way of displaying Instapages content via URI

However there are also ways to load and/or display Instapages content based on tags, codes, and a mixture of both.

Note that when loading content into variables using the page items below, the variable name will automatically have instapages appended to it. 

For example, if content is loaded into content_items via the into:content_items method, it will be accessed via l.settings:instapages:content_items  or &mvt:instapages:content_items;. This way instapages data stays out of the way of other store data.

Tag Loading

Simple Load: Load a content list based on a tag. The list will be sorted by content code and order.

The "simple" command loads a list of non-rendered content which loads faster than rendered content. This is useful for making lists of links in menus, sidebars, and more.

The examples below loads content that uses the tag "support" into the variable l.settings:instapages:content_items 

  • Tags must be one word when using them to load content this way.
  • Change the content_items variable name to whatever you want.
<mvt:item name="instapages" param="load:simple tag:support into:content_items" />

Use a simple mvt:foreach loop to display the titles and links:

<mvt:foreach iterator="item" array="instapages:content_items">
    <div><a href="&mvt:item:uri;">&mvt:item:title;</a></div>
</mvt:foreach>

Rendered Load: Load a list of rendered content based on a tag. Useful if you want to display multiple content items at once.

<mvt:item name="instapages" param="load:rendered tag:support into:content_items" />

Use a simple mvt:foreach loop to display the titles and content:

<mvt:foreach iterator="item" array="instapages:content_items">
    <div>&mvt:item:title;</div>
    <div>&mvt:item:content;</div>
</mvt:foreach

Code Loading

Codes help group content that share a tag.

For example, if you create content that shares a tag called "support" and load it using one of the tag load page items above, all of the content would have the "support" tag but it would also be grouped into sections based on the codes you assigned to each content item.

Each of these "code" groups would be ordered by the "order" setting in the "settings" tab when editing the content.

Let's say you have six posts that all share the tag "support". Three of the posts are about installing a product and have the code "Installation Information" and three posts are about removing a product and have the code "Removal Information."

When the "support" tag is loaded, the posts will be grouped correctly and links to content could be displayed various ways.

Basic Code Load

The easiest way to load one Instapage content item is to use a code. In the example below the code for the content is instapages_demo and the page item loads it while the page entity displays it.

<mvt:item name="instapages" param="load:rendered code:instapages_demo into:instapages_content" />
&mvt:instapages:instapages_content;

Code Example 1 - Use Codes For List Heading

We use the code as if it were a heading in a menu. Our codes would be words or phrases, the same one for each item in a group. When the code changes we output a new heading and then continue with listing the content titles.

<mvt:item name="instapages" param="load:simple tag:support into:content_items" />

<mvt:foreach iterator="contentitem" array="instapages:content_items"> <mvt:if expr="l.settings:contentitem:code NE l.code_bak"> <b>&mvt:contentitem:code;</b> </mvt:if> <a href="&mvt:contentitem:uri;">&mvt:contentitem:title;</a> <mvt:assign name="l.code_bak" value="l.settings:contentitem:code" /> </mvt:foreach>

Code Example 2 - Load Tag/Code List With Non-Live URIs Becoming Headings

In this example the codes are again used to group content but instead of displaying the code for the heading, we display a content title. To make this work we create a content item and give it 1 for the order (along with the same tag and code as other content in the group), then publish it without making the URI live. 

As we roll through the list of content items we can check for non-live URIs and assume they are posts being used for headings in a menu or list. We could also check to see if it's the first item in a code group, similar to the example above, but display the content title rather than the code.

<mvt:item name="instapages" param="load:simple tag:support into:content_items" />

<mvt:foreach iterator="contentitem" array="instapages:content_items"> <mvt:if expr="NOT l.settings:contentitem:uri_id"> <h4>&mvt:contentitem:title;<h4> <mvt:else> <a href="&mvt:contentitem:uri;">&mvt:contentitem:title;</a> </mvt:if> <div></div> </mvt:foreach>

Code Example 3: Load content based on code.

You can also load content based on the code. When you do this, all content that shares the code will also be loaded into the l.settings:instapages:_code_items array.

This will load content that uses the code SPECIAL:

<mvt:item name="instapages" param="load:rendered code:special into:my_instapage_content" />
Display:
&mvt:instapages:my_instapage_content;

Using Instapages for Page Content

Instapages can be used to create default content for pages. Check the "Automatically load page content if it exists." item in the module settings, assign the Instapages page item, and then create some content and give it the same code as the page you're on. The Instapage data will be at your fingertips without any other work.

If you created content for the About Us (ABUS) page and gave the content the code ABUS, you would display it with nothing more than:

&mvt:instapages:_page:content;

Using Instapages for Product and Category Descriptions

Instapages is available in a tab when you're editing a product or category. Check the "Automatically load product and category content" option in the module settings and then assign the Instapages item to the Product Display (PROD) and/or the Category Display (CTGY) templates.

When using Instapages while editing a product or category, set the code so it matches the product or category. Whenever g.category_code and g.product_code are in the environment, Instapages will load the content associated with the product or category which can be displayed like:

&mvt:instapages:_product:content;
and
&mvt:instapages:_category:content;

Products With a Content List

If more than one content item has been created for a product, a content array will be loaded into l.settings:instapages:_product_items and sorted by order. 

<section>
<mvt:foreach iterator="contentitem" array="instapages:_product_items">
    <a href="&mvt:contentitem:uri;">&mvt:contentitem:title;</a>
    
</mvt:foreach>
</section>

Note that each content item created for a product uses the product code and changing the product code will mean a bit extra work to manually change the codes in Instapages.

Automatic Product/Category Descriptions

If you turn on the "Automatically replace product and category content if it exists." option in the module settings then your Instapages content will automatically replace the default product or category content and you do not need to make any page template updates. Content is only replaced if it exists, otherwise default product/category content will display.

Using Page Items and SMT Code

You can't use page items or SMT code such as <mvt:eval expr="l.settings:something" /> in the visual editor, however, if you open up content for editing using the <> code editor button then you can use any valid SMT and page items in the content. The one caveat is that once you add code to your content, DO NOT switch back to the visual editor or your code will be lost and/or corrupted.

You can also switch to the code editor from the Settings tab under the content you are editing. Change the editor from VISUAL to CODE and update.

Content Item Data Structure

Useful data structure information for displaying content manually. 

  • content_item:id
    Row ID.
  • content_item:title
    Content title.
  • content_item:code
    Content code.
  • content_item:content
    Rendered content.
  • content_item:publish
    Published time_t.
  • content_item:publish_formatted
    MM/DD/YYYY formatted publish date.
  • content_item:created
    Created time_t.
  • content_item:created_formatted
    MM/DD/YYYY formatted created date.
  • content_item:updated
    Updated time_t.
  • content_item:updated_formatted
    MM/DD/YYYY formatted updated date.
  • content_item:notes
    Notes from Content Extras section.
  • content_item:orderx
    Order.
  • content_item:disp_order
    Runtime sorting field.
  • content_item:source_d
    Source for drafts.
  • content_item:source_p
    Source for published material.
  • content_item:content
    Runtime rendered content output. 
  • content_item:meta:subtitle
    From Content Extras section.
  • content_item:meta:summary
    From Content Extras section.
  • content_item:meta:seotitle
    From Content Extras section.
  • content_item:meta:description
    From Content Extras section.
  • content_item:meta:keywords
    From Content Extras section.
  • content_item:meta:head
    From Content Extras section.
  • content_item:meta:image
    From Content Extras section.