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 "< ; " and converts
the right bracket tag ">" to ">", 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:
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 Select All Expand All
|
<!--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="<!--TitleColor-->"><!--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. |