Forums Index > Mewsoft > Documentations > Customization
mewsoft First Post Posted on: 01-30-19 05:39 AM
Customization


This document applies for August 2012 and newer products only starting from Auctionawy 15.00.


All our products are html templates based, this means customization is done completely by editing those html templates and do not need to edit any program code files or do any kind of code programming. since these html template are pure html code containing some special tags as a place holders for the program output, then you can use any visual html editor to customize the templates and the layout to your look and feel. The only requirement for the visual html editor (like old versions of MS Frontpage) is to disable any feature if it exists that disables comments tags or disables Javascript tags which simply converts the left bracket tag "<" to the html equivalent "&lt ; " and converts the right bracket tag ">" to "&gt;", these two tags if converted will disable the JS code and will disable the program output which is inserted in the templates at place markers inside comments tags.


Templates Customization

Templates are html files and the program output is inserted into these templates by place markers inserted at the desired locations. Templates (or views) files are located in the themes views folders. There are many types of those place marker.


Templates Place Markers

The html templates contains many types of place markers for inserting the text for different translations and output data like plugins, widgets, gadgets, embedded Perl code, and listing blocks.


Language Markers Tags

Since all our products supports multi-lingual, the language text is inserted in the templates by markers called language variables, the language variables are marked by left and right curly brackets in the following form:

{language_variable_name}

and the text for that language variable is located in the appropriate language file.


Plugins Markers

Templates contains the Plugins markers or tags in this form:

[plugin::Home]

this plugin tag will insert the link to the site home link like http://www.mewsoft.com/

Plugins tags are used for dynamic program output. The program uses these plugin tags to insert its output at the locations they exist in the templates. So you can move these plugins tags any where you want in the templates or you can even remove them from the templates based on your needs. Plugins either general plugins that can be used in any templates like the plugins used for creating the navigation links, or private plugins which can be only filled with contents on specific templates, therefore you will find on some templates a plugins specific to their output only if you used it on other templates will not be replaced.


Widgets

Widgets are simply small blocks of templates can be used on one or more templates. Widgets files are the same as templates files everything on the templates applies to the widgets. Widgets files exists in the theme widgets folder and they have the same .html extension. If you have a block of html code that you want to repeatedly use it on many templates, you just put it in a widget file then call that widget inside any templates you want instead of copying the same code inside the tempates. For more details read Widgets API.

Widgets are called in the following form:

[widget::widget_name (arg1="value1", arg2="value2", arg3="value3", ,,,, arg_n="value_n")::]


Examples for the widgets are:

[widget::Head::]

[widget::Header::]

[widget::WelcomeArea::]

[widget::LogoArea::]

[widget::TopNav::]
 

Gadgets

Gadgets are Perl code modules that you can call direct form the templates or widgets to perform some tasks on the database or dynamic data or process anything on the server inside the application context then display the results in the templates. For more details read Gadgets API.

Calling this gadgets from your templates or widgets like this:

[gadget::gadget_name(arg1="value1", arg2="value2",...)::]

or use the shortcut:

[g::gadget_name(arg1="value1", arg2="value2",...)::]

you can pass any number of arguments with their values to the gadgets like you call functions in most programming languages.


Embedding Perl code inside html templates and widgets

You can write Perl code direct inside the html templates (views) and widgets. The embedded Perl code will run within the application context so you have direct access to all the application database connection, all global variables and functions, access to your entire server allowed resources, you embed Perl code as you write any Perl script and the Embedded Perl parser will run this Perl code snippet and will capture its output and insert it in the place holder specified by the code. For more details read Embedded Perl code in templates and widgets.

Embedded Perl code is inserted inside templates and widgets in this format:


Code: Perl
[perl::]

# your perl code goes here

[::perl]



Listing Blocks
Some templates may contain another type of marker tags, the listing blocks markers are used to mark the beginning and ending of an html 
code block used to list a repeated data rows.
Example for the listing block:



Code: HTML
<!--block::listing_row-->

   <a href="<!--Link-->" _mce_href="<!--Link-->"><!--Photo--></a>
   <a href="<!--PreviewLink-->" _mce_href="<!--PreviewLink-->" class="preview-link" title="{preview_item_link_title}"><span class="ui-icon ui-icon-newwin" style="float:left; margin:0px; padding: 0px;" _mce_style="float: left; margin: 0px; padding: 0px;"></span></a><a href="<!--Link-->" _mce_href="<!--Link-->"><!--TitleBold--><font color="&lt;!--TitleColor--&gt;"><!--Title--></font><!--TitleBold1--></a> <!--New--><!--Featured--><!--Gift--><!--Hot--><!--Cool--><!--Buy--> <!--SellerCountryFlag--> <!--SubTitle-->
   <!--Quantity-->
   <!--Currency--> <!--CurrentBid-->
   <!--Bids-->
   <!--HighBidder-->
   <!--Duration-->

<!--::block-->



As you see the listing block starts with the marker <!--block::listing_row--> and ends with the marker <!--::block-->.

The program will parse this code block from the template and will use it to list the items and will output the result at the same location.


Mewsoft Support
www.mewsoft.com