Transport a module.

The Transport a module features built into the back end of Prestashop allows administrators to specify where modules should and should not be displayed without the need to actually edit the templates or css behind the scenes to achieve this. This works by using hooks to place the modules in the core blocks (e.g the div left columns, footer etc)

Transplanting a module via the Back Office

1. Go to Back Office >> Modules
2. Click Positions, located in the upper-left corner of the Modules page.
3. Click Transplant a module. The following screen will now be displayed

transplant a module

  1. In the Module drop-down list, select the module you want to transplant.
  2. In the Hook Into drop-down list, select where you want to transplant the module to.
  3. In the Exceptions field, type the name of the file(s) of the pages in which you do not want the module to appear.
  4. Click Save.

However, be aware this does not work for all modules automatically. Whilst you can, (as explained in the Prestashop Wiki) for example, add the quick search to the left column in addition or instead of the top column this is not the case for all modules. If you trasnplant a module to a hook that is not supported for that module, it simply will not display in your shop and no error is generated.

How do you know which default Prestashop modules you can use in which blocks (your main website sections such as header or footer)? Well, the easiest way is to view the “Default Prestashop Modules – Supported block positions” list below but you can also look in the modules folder itself using FTP. For the quick search for example, there is a folder called blocksearch. Inside this blocksearch folder there is a blocksearch.php. These php file will show what hooks are registered and you may in some folders see more than one tpl file allowing different styling according to the position the module will be placed.

However, you can of course add the module manually in the template.  In the designers guide (yet to be written) we will cover editing, adding new tpl files to the modules themselves as well as adding the code manually to the templates.

In addition, with many modules, you could change the hook on the modules php file. For example, if you wanted the google analytics module to be displayed in the footer rather than the "Top", you could edit the php file /modules/ganalytics/ganalytics.php and change the following code:

Line 23
if (!parent::install() OR !$this->registerHook('top') OR !$this->registerHook('orderConfirmation'))
to

if (!parent::install() OR !$this->registerHook('footer') OR !$this->registerHook('orderConfirmation'))

line 124
function hookTop($params)
to
function hookFooter($params)

Tip: Note that you’ll have to uninstall ithe mdoule in the admin backend if this has been installed already.

If you want to know what hook positions are available: View Table Hook in designers guide


Default Prestashop Modules – Supported block positions

This section is not complete and currenty under development

Google Adsense

has hooks for  and/or can be placed in and/or:
HomePage Content (default)
Top of Pages
Left Column
Right Column

RSS Product Feed

Modules/blockrss/
template: Modules/blockrss/blockrss.tpl

Bankwire

Payment
Payment execution
Payment return

Blockadvertising

Location: Modules/blockbadvertising
template: Modules/blockbadvertising/blockadvertising.tpl
Default Positions: Can be applied to left and right columns
The default image used in the front end website is stored in this modules folder and is called advertising,jpg, if you need to cnage image name, edit template and change this line:  $smarty->assign('image', './modules/'.$this->name.'/advertising.jpg');

top sellers block

Location: Modules/blockbestsellers
template: Modules/blockbestsellers/blockbestsellers.tpl
Default Positions: Can be applied to left and right columns

Best sellers formula: The forula is based on increments quantities sold in your store. The actual formula is stored in the SQL table product_sale, as follows;

<br />id_product&nbsp;     int(10)&nbsp;      UNSIGNED<br />quantity     int(10)     UNSIGNED<br />sale_nbr     int(10)         UNSIGNED<br />date_upd     date<br />

Customer loyalty and rewards v1.6

Quick Overview: Allows you to offer your customers a loyalty scheme, specify a monetary value for points earned based on orders placed which customers can redeem

Location: Modules/loyalty
templates:
Modules/loyalty/my-account.tpl (when used in my account page)
Modules/loyalty/product.tpl (when displayed on main product page)
Modules/loyalty/shopping-cart.tpl (when displayed in shopping cart)
Default Positions: Can be applied to products, my-account and shopping cart

Modify Add to cart Button

Tip: In some designes you may not want to see the "add to cart button" until you get to the product detail.

You can edit the product-list.tpl in the theme folder. Find the folloiwng code and either remove or comment out the following code by adding  {* before and *} after the section you want ignored.

{if ($product.allow_oosp OR $product.quantity > 0) && $product.customizable != 2}
               <a class="button ajax_add_to_cart_button exclusive" rel="ajax_id_product_{$product.id_product|intval}" href="{$base_dir}cart.php?add&id;_product={$product.id_product|intval}&token;={$static_token}">{l s='Add to cart'}</a>
            {else}
                  <span class="exclusive">{l s='Add to cart'}</span>
            {/if}

 

Please be aware that many sections are incomplete as this site is currently in middle of major update

PRESTASHOP GUIDES

prestashop admin guide prestashop designers guide

ADMIN CATEGORIES

Prestashop Admin Guide