Prestashop: Full-width for CMS pages

Warehouse theme.

If the display left column option is disabled in the advanced setting of the theme, the center column does not know it is supposed to be in full width. A blank space is shown on the left.

Enable “display left column”, then click “x” for all modules you don’t want to appear in the left column. E.g. CMS. After that, clear cache and reload. Full-width center column now works.

Posted in troubleshoot | Tagged | Comments Off on Prestashop: Full-width for CMS pages

Prestashop: Layered Navigation Block – Auto Scroll to Products

Source: https://www.prestashop.com/forums/topic/347990-layered-navigation-block-auto-scroll-to-products/

js file under “/themes/themename/js/modules/blocklayered” called “blocklayered.js”

Solution 1:

Replace :

$.scrollTo('.product_list', 400);

by

$.scrollTo('product_list', 0); //stop the scroll

or

$.scrollTo('body', 0); // brings to the top of the page instantly.

Solution 2:

//if(slideUp)
	//$.scrollTo('.product_list', 400);
//updateProductUrl();

 

Posted in ecommerce, modules | Tagged | Comments Off on Prestashop: Layered Navigation Block – Auto Scroll to Products

WordPress: Disable plugins from database for troubleshooting

Source: https://www.templatemonster.com/help/wordpress-disable-plugins-via-database-manual-removal.html
UPDATE wp_options SET option_value = ” WHERE option_name = ‘active_plugins’;

Posted in troubleshoot | Comments Off on WordPress: Disable plugins from database for troubleshooting

Prestashop: remove PayPal logo from right column

Solution: https://www.prestashop.com/forums/topic/249896-solved-how-do-i-remove-the-paypal-logo-from-my-home-page/?tab=comments#comment-1241457

open the file:
(paypal module directory)
views/templates/hook/column.tpl and remove the content of this file

And/or: https://www.prestashop.com/forums/topic/255741-solved-how-to-remove-paypal-logo/?tab=comments#comment-2010062

unhook the PayPal module from the right column on my template. This is in the Modules – Positions.

Posted in ecommerce, templates | Comments Off on Prestashop: remove PayPal logo from right column

Prestashop: delete customer’s cookies

Solution: https://www.prestashop.com/forums/topic/364875-how-to-delete-cookies-customers/?tab=comments#comment-2348354

Overriding the method __construct (classes/Cookie.php) changing the commented lines

override/classes/Cookie.php

class Cookie extends CookieCore
{
    public function __construct($name, $path = '', $expire = null, $shared_urls = null, $standalone = false, $secure = false)
    {
        $this->_content = array();
        $this->_standalone = $standalone;
        $this->_expire = is_null($expire) ? time() + 1728000 : (int)$expire;
        $this->_path = trim(($this->_standalone ? '' : Context::getContext()->shop->physical_uri).$path, '/\\').'/';
        if ($this->_path{0} != '/') {
            $this->_path = '/'.$this->_path;
        }
        $this->_path = rawurlencode($this->_path);
        $this->_path = str_replace('%2F', '/', $this->_path);
        $this->_path = str_replace('%7E', '~', $this->_path);
        $this->_domain = $this->getDomain($shared_urls);

        //remove www from url > example: .domain.com
        $this->_domain =str_replace('www','', $this->_domain);

        //Change cookie name "PrestaShop" > "MyCookieName" This will make all your customers cookies obsolete.
        $this->_name = 'MyCookieName-'.md5(($this->_standalone ? '' : _PS_VERSION_).$name.$this->_domain);

        $this->_allow_writing = true;
        $this->_salt = $this->_standalone ? str_pad('', 8, md5('ps'.__FILE__)) : _COOKIE_IV_;
        if ($this->_standalone) {
            $this->_cipherTool = new Blowfish(str_pad('', 56, md5('ps'.__FILE__)), str_pad('', 56, md5('iv'.__FILE__)));
        } elseif (!Configuration::get('PS_CIPHER_ALGORITHM') || !defined('_RIJNDAEL_KEY_')) {
            $this->_cipherTool = new Blowfish(_COOKIE_KEY_, _COOKIE_IV_);
        } else {
            $this->_cipherTool = new Rijndael(_RIJNDAEL_KEY_, _RIJNDAEL_IV_);
        }
        $this->_secure = (bool)$secure;

        $this->update();
    }
}
Posted in ecommerce, troubleshoot | Tagged , | Comments Off on Prestashop: delete customer’s cookies

Prestashop: category pages noindex

Due to layered navigation block disabling robots by default…

Solution: https://www.prestashop.com/forums/topic/866411-category-pages-noindex/

Hi, the problem comes from the “Layered navigation block” module. After the update to v2.2.1 something has changed.

To Fix the problem for Prestashop 1.6 go to Modules and Services >> Layered navigation block >> Configure
Scroll down to the CONFIGURATION section and set to YES the “Allow indexing robots….”
This action will change the metatags for all category pages to “indexed, follow”

Posted in modules, troubleshoot | Tagged , | Comments Off on Prestashop: category pages noindex

Prestashop: Add tags to the product list

Source: http://nemops.com/prestashop-product-list-tags/#.XPt5M7hS-Ul

1) Product.php class (use override)

Insert code at the last part of public static function getProductProperties($id_lang, $row, Context $context = null)
/* add product tags to product list */
$row['tags'] = array();
$tags = Tag::getProductTags($row['id_product']); //show product tags in listing
if($tags && isset($tags[$context->language->id])) //show product tags in listing
$row['tags'] = $tags[$context->language->id]; //show product tags in listing

2) product-list.tpl (in theme folder)
<div class="product-tags">{if $product.tags}{foreach from=$product.tags item=tag}<a class="btn bth-default" href="{$product.link|escape:'html':'UTF-8'}" title="{$tag|escape:'html':'UTF-8'}" >{$tag}</a>{/foreach}{/if}</div>

3) global.js (in theme folder) add this above the product-reference html in 3 views (grid, table, list) it looks for product-tags name in div so make sure that matches in product-list.tpl
html += '<div class="product-tags">'+$(element).find('.product-tags').html()+'</div>';

Note: no all products have tags, so may mess up the listing layout. Add a min-height to the product-container to e.g. 500px

Posted in templates | Tagged , | Comments Off on Prestashop: Add tags to the product list

Prestashop: Remove View Grid/List buttons from Product Listing

Source: https://www.prestashop.com/forums/topic/337353-remove-view-gridlist-bottons/

Open themes/yourtheme/product-sort.tpl and find this code:

<ul class="display hidden-xs">
    <li class="display-title">{l s='View:'}</li>
    <li id="grid"><a rel="nofollow" href="#" title="{l s='Grid'}"><i class="icon-th-large"></i>{l s='Grid'}</a></li>
    <li id="list"><a rel="nofollow" href="#" title="{l s='List'}"><i class="icon-th-list"></i>{l s='List'}</a></li>
</ul>

Delete it and buttons will gone.

Posted in templates | Tagged , | Comments Off on Prestashop: Remove View Grid/List buttons from Product Listing

Prestashop: fake customer registrations spam

Source: https://www.prestashop.com/forums/topic/981159-securite-spam-customer-account-solution-13-15/

within your class classes/Validate.php – either in the native code, or into an override, add this function

    public static function isCustomerName($name)
    {
        if (preg_match(Tools::cleanNonUnicodeSupport('/www|http/ui'),$name))
           return false;

        return preg_match(Tools::cleanNonUnicodeSupport('/^[^0-9!\[\]<>,;?=+()@#"°{}_$%:\/\\\*\^]*$/u'), $name);
    }

Then modify inside classes/Customer.php

            'lastname' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),
            'firstname' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isName', 'required' => true, 'size' => 32),

by

            'lastname' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isCustomerName', 'required' => true, 'size' => 32),
            'firstname' =>                    array('type' => self::TYPE_STRING, 'validate' => 'isCustomerName', 'required' => true, 'size' => 32),
Posted in troubleshoot | Tagged , | Comments Off on Prestashop: fake customer registrations spam

Acrobat X Pro: PDF Flattener Preview bug workaround

Tried to outline fonts inside Illustrator and the PDF exported shows random distortions like wider Ls here and there. If we export the file as a PDF with the fonts as is, there are no issues.

However, have encountered printers who have problems viewing common fonts. So it is a must to ensure fonts are outlined.

Solution: use PDF Flattener within Acrobat X Pro.

BUT there is a bug.

If the fonts used are not “perfect”, the Flattener Preview is unable to outline the fonts.

See solution: https://www.youtube.com/watch?v=U5umF_kTcaA

As a workaround, inside Acrobat
1) Go to Tools (top right corner) > Pages > Add a watermark like a ‘full stop’ to the PDF. Size it down small. Choose 0% Opacity. Click OK.

2) Add the Print Production menu to Tools if it is not enabled by default. Click on the tiny menu list icon under Tools (right)

3) Go to Print Production > Flattener Preview and Tick Convert all text to outlines and convert all strokes to outlines. Then apply to all pages in the document and SAVE the PDF.

4) Final check, view file properties to see if all the fonts are removed.

Joy 🙂

Posted in Adobe, troubleshoot | Tagged , | Comments Off on Acrobat X Pro: PDF Flattener Preview bug workaround