Zen Cart custom software development, Zen Cart modules, Zen Cart Expert eCommerce Websites with Zen Cart!


Please note: This is old content; I have not worked on Prestashop since 2009.
Prestashop Boilerplate

Boilerplate in Product Description for PrestaShop

A PrestaShop mod which allows you to save time and have more control over repeated text in your product descriptions.

Are you repeating text over and over again in your product descriptions? Tedious, isn't it. And what if you want to change it? This means you'll have to revisit every product description in every language and make the change. The boilerplate mod deals with these situations by allowing you to define the boilerplate text one time in one place, and then automatically insert it where appropriate.

Donate: This is free software. Show your appreciation by supporting my efforts. Donate

Relevance: PrestaShop 1.2.4 and forward

Download: download link

Installation Instructions: click here

FAQ: click here

Current Version: 0.1

Support Thread: PrestaShop Boilerplate Support Thread


Overview:

To save typing repetitive text in the product description field, and to facilitate easier mass changes of boilerplate text, it is advantageous to use strings which are defined in a single place. This mod allows you to do that.

Here's how it works:

  1. You create strings in a file as key-value pairs. The key is the short form for the boilerplate, and the value is the boilerplate itself. For example:
    <?php
      $stringArray = array ( 
          '%%SHIPPING_USA_ONLY%%' => "Shipping to USA only.",
          '%%SATISFACTION_GUARANTEED%%' => "Your satisfaction is guaranteed!"
      );
    ?>
    
  2. Select the desired product using the Admin->Catalog-> and modify the Description field. Add the keys to product descriptions in each language.
    Note at the bottom the addition of %%SHIPPING_USA_ONLY%%. Prestashop Adding keys to English product definition


    Do this for all languages. In French, we have defined another string,
          '%%USA_SEULEMENT%%' => "Expédition aux Etats-Unis seulement.",
    
    It is added to the bottom of the description in French:

    Prestashop Adding keys to French product definition
  3. When the key is encountered in a description when viewing the catalog, it is automatically changed. Here it is in English:

    Prestashop Displaying boilerplate in English product definition
    ... and in French:

    Prestashop Displaying boilerplate in French product definition


Installation Instructions:

  1. Back up everything! Try this in a test environment prior to installing it on a live shop.
  2. Unzip the mod and copy all files to the root folder of your shop.
  3. In the directory "modules/productboilerplate/strings/" there are files for English and French. Copying en.php (or fr.php if that is preferred), create additional files for every language you support, using the same filename conventions. The ISO strings for language, which are used as the filename, are also shown on the Prestashop downloads page.
  4. For each language you support, create strings in the languages files. All strings are stored in a PHP array called $stringArray. Simply follow the example in en.php, and add your strings to this array.
  5. Go to Admin->Modules and scroll down to the Products block. You will see Product Boilerplate there. Press the "Install" button. The PrestaShop admin-modules screen
  6. For each product you want to add boilerplate to, select the product from the page Admin->Catalog-> and modify the Description field. Click on the flag under Description to add it to each language.
  7. You must now make a one line change to a core file. In the file classes/Product.php, at the end of the function __construct(), add this one line:
    Boilerplate::doBoilerPlate($this, $id_lang); 
    
  8. Donate! Show your appreciation by supporting my efforts.
  9. You're done! Browse the products you have changed in each language you support to be sure it's all set.

Installation Issues:

If it isn't working, please check two things:
  1. Have you made the change to classes/Product.php from step 7?
  2. Have you installed the module by pressing the "Install" button in Admin->Modules?

FAQ

Q: Why does this utility not use the PrestaShop translation tool?
A: Because the way strings are stored and used is different, and it would have been more confusing to do it the standard PrestaShop way.

Q: Why do I have to modify a core file?
A: Because there was no hook available that worked the way I wanted it to. I minimized the change by organizing the code in such a way that only one file had to be modified.

Q: Can I use the boilerplate mod to add images or more sophisticated content?
A: Sure! Suppose you have an image called img/made_in_canada.gif. Add to your modules/productboilerplate/strings/en.php the line
      '%%MADE_IN_CANADA%%' => "<img src='img/made_in_canada.gif' />This product is proudly made in Canada.",
Then add %%MADE_IN_CANADA%% to any product you wish, and the image and text will display as shown below.

The Prestashop catalog showing an image using Boilerplate