Prestashop: How to add the invoice number to the backoffice orders grid

Source: https://www.prestashop.com/forums/topic/300119-solved-how-to-add-the-invoice-number-to-the-orders-grid/?do=findComment&comment=1517949

Try to start with adding another array item to $this->fields_list

add code to:
/controllers/admin/AdminOrdersController.php

‘invoice_number’ => array(
‘title’ => $this->l(‘Rechnung-Nr: ‘),
‘width’ => 50
),

Posted in ecommerce | Tagged | Comments Off on Prestashop: How to add the invoice number to the backoffice orders grid

Prestashop: How to create admin controller to add link of module to backoffice menu

Troubleshoot: PrestaShop Admin Module Controller Not Found

https://stackoverflow.com/questions/37984270/prestashop-admin-module-controller-not-found

Whenever this happened to me was because I hadn’t created a menu entry for my new controller.

What I’d advise you to do is to go to Administration > Menus then created a new entry.

Fill in the form like this :

Name: Productarticle
Class: AdminProductarticle
Module: productarticle (if that’s the name you gave your module)
Active: NO (this way you don’t have to have a menu entry that’s gonna be useless to you)

On top of that you should have something like this in your __construct()

E.g. filename modules/module_name/controllers/admin/AdminProductarticleController.php

class AdminProductarticleController extends ModuleAdminController
{
public function __construct()
{
$this->module = ‘productarticle’; //refers to your module’s $this->name = ‘productarticle’;
$this->bootstrap = true;
$this->context = Context::getContext();
//The following 2 lines are useful if you have to link your controller to a certain table for data grids
$this->table = ‘contribution’;
$this->className = ‘Contribution’;

parent::__construct();

Tools::redirectAdmin(Context::getContext()->link->getAdminLink(‘AdminModules’, true) . ‘&configure=nameofmodule&tab_module=front_office_features&module_name=nameofmodule’);
}
}

Posted in troubleshoot | Tagged | Comments Off on Prestashop: How to create admin controller to add link of module to backoffice menu

Prestashop: Add style number to product page

Using warehouse theme. When product has combinations, the SKU is shown. I wanted to also show the main product style number for easy reference.
https://www.prestashop.com/forums/topic/605088-slovedhow-to-show-reference-numbers-on-product-page/?do=findComment&comment=2540332


{$product->reference|escape:'html':'UTF-8'}

Posted in ecommerce, templates | Tagged | Comments Off on Prestashop: Add style number to product page

Blacklist Check IP

Question – https://www.quora.com/How-exactly-does-a-domain-name-email-get-blacklisted-Whats-the-trigger-or-what-is-responsible-for-it

Check:
https://www.dnsbl.info/dnsbl-list.php

Email needs to have rDNS and FCrDNS, so that it is not blacklisted.

What is rDNS?
https://spfbl.net/en/rdns/

What is FCrDNS?
https://spfbl.net/en/fcrdns/

Remove from blacklist
https://www.ndchost.com/wiki/rbl/yahoo
https://spfbl.net/en/delist/

Spam check: https://www.spamhaus.org/lookup/

Domain health check: https://mxtoolbox.com/domain/

Posted in servers, troubleshoot | Tagged , | Comments Off on Blacklist Check IP

Prestashop 1.6: Breadcrumb to display the category that product is currently in (not its default category)

Source: https://www.prestashop.com/forums/topic/167513-how-to-show-the-full-breadcrumb-to-the-default-category-on-every-product-page/?do=findComment&comment=2684341

Function  assignCategory(), preferably in override/controllers/front/ProductController.php

protected function assignCategory()
{
// Assign category to the template
if ($this->category !== false && Validate::isLoadedObject($this->category) && $this->category->inShop() && $this->category->isAssociatedToShop()) {
$path = Tools::getPath($this->category->id, $this->product->name, true);
$all_product_subs = Product::getProductCategoriesFull($this->product->id, $this->context->language->id);

if(isset($all_product_subs) && count($all_product_subs)>0)
{
foreach($all_product_subs as $subcat)
$all_product_subs_path = array(); //reset array, only last one is used
$all_product_subs_path[] = Tools::getPath($subcat[‘id_category’], ”, true);
}

} elseif (Category::inShopStatic($this->product->id_category_default, $this->context->shop)) {
$this->category = new Category((int)$this->product->id_category_default, (int)$this->context->language->id);
if (Validate::isLoadedObject($this->category) && $this->category->active && $this->category->isAssociatedToShop()) {
$path = Tools::getPath((int)$this->product->id_category_default, $this->product->name);
}
}
if (!isset($path) || !$path) {
$path = Tools::getPath((int)$this->context->shop->id_category, $this->product->name);
}

if (Validate::isLoadedObject($this->category)) {

// various assignements before Hook::exec
$this->context->smarty->assign(array(
‘path’ => Tools::getPath($this->category->id, ”, true),
//THIS CONTAINS ALL PRODUCT SUBCATEGORIES PATH
‘all_product_subs’=>$all_product_subs_path,
‘category’ => $this->category,
‘subCategories’ => $this->category->getSubCategories($this->context->language->id, true),
‘id_category_current’ => (int)$this->category->id,
‘id_category_parent’ => (int)$this->category->id_parent,
‘return_category_name’ => Tools::safeOutput($this->category->name)
));

}
$this->context->smarty->assign(array(‘HOOK_PRODUCT_FOOTER’ => Hook::exec(‘displayFooterProduct’, array(‘product’ => $this->product, ‘category’ => $this->category))));
}

Posted in ecommerce | Tagged , | Comments Off on Prestashop 1.6: Breadcrumb to display the category that product is currently in (not its default category)

Prestashop: Fix pagination error on Attributes and Features in Backoffice

https://github.com/PrestaShop/PrestaShop/pull/8638/files

https://www.prestashop.com/forums/topic/554037-possible-bug-on-product-attributes-list-pagination-in-1616/

https://www.prestashop.com/forums/topic/507337-backoffice-pagination-error-in-products-attribute-section/

Hi, i fixed this by adding a short code to ‘AdminAttributesGroupsController.php’ in /controllers/admin/

    public function setRedirectAfter($url)
    {
        $addUrl = '';
        if(Tools::isSubmit('viewattribute_group') && Tools::getValue('id_attribute_group')) {
            $addUrl = '&viewattribute_group&id_attribute_group=' . Tools::getValue('id_attribute_group');
        }

        $this->redirect_after = $url . $addUrl;
    }

Function fixes the bug too for Feature values. We need to create an override for ‘AdminFeaturesController.php’:

<?php

class AdminFeaturesController extends AdminFeaturesControllerCore
{

   public function setRedirectAfter($url)
    {
        $addUrl = '';
        if(Tools::isSubmit('viewfeature') && Tools::getValue('id_feature')) {
            $addUrl = '&viewfeature&id_feature=' . Tools::getValue('id_feature');
        }

        $this->redirect_after = $url . $addUrl;
    }
}
Posted in troubleshoot | Tagged , | Comments Off on Prestashop: Fix pagination error on Attributes and Features in Backoffice

Prestashop: remove google maps from order page in backoffice

https://www.prestashop.com/forums/topic/336592-remove-google-maps-from-order-page-in-16-slowing-down-crashing-siteserver/

Put the modified file in the override/controllers/admin
After that, you need to trigger the regeneration of the /cache/class_index.php file. This is done simply by deleting the file. It is the same when manually removing an override: in order to reinstate the default behavior, you must delete the /cache/class_index.php file.

QN: Anyone know the best way to remove the google maps module lookup for the customers address in the order page in 1.6. Or a way to remove google maps all together from prestashop. We have a user in china that cannot access the order page whenever the china government tries to block google and its services (they do that every time something sensitive comes up in western news).
ANS:

controllers/admin/AdminOrdersController.php

find and then comment out as follows:

public function setMedia()
{
parent::setMedia();

$this->addJqueryUI(‘ui.datepicker’);
$this->addJS(_PS_JS_DIR_.’vendor/d3.v3.min.js’);
// $this->addJS(‘https://maps.googleapis.com/maps/api/js?v=3.exp&sensor=false’);

if ($this->tabAccess[‘edit’] == 1 && $this->display == ‘view’)
{
$this->addJS(_PS_JS_DIR_.’admin_order.js’);
$this->addJS(_PS_JS_DIR_.’tools.js’);
$this->addJqueryPlugin(‘autocomplete’);
}
}

Posted in ecommerce | Tagged , , | Comments Off on Prestashop: remove google maps from order page in backoffice

Troubleshoot: Solve Windows ink Wacom pen scrolling instead of selecting issue

Pen tablet scrolling instead of behaving as normal. Issue happened after routine Windows update.
Open Wacom Tablet Properties, selecting Mapping, uncheck Windows Ink option.

As a safe-guard, open Pen & Windows Ink Settings
Disable related items as well.

Posted in troubleshoot | Comments Off on Troubleshoot: Solve Windows ink Wacom pen scrolling instead of selecting issue

Prestashop 1.7: Smarty error blank page on front end if adding new language manually

http://forge.prestashop.com/browse/BOOM-3486

Error: When adding a new language in the backend (localization->languages), there is no option to enter the locale, resulting in an empty locale field in the table ps_lang.
This results in a smarty error on frontend when selecting the new language:
{code}
SmartyException in smarty_internal_templatebase.php line 129:
Unable to load template file ‘\index.tpl’ {code}

User’s suggested solution:
As soon as I manually add a locale in the database, the error goes away.
Table: ps_lang
Add the missing locale to the table

Normally adding/importing a new language should go to: Translation > Add/Update a new language (or through the localization page)
But there are times when languages may be required to be added manually and this causes the issue.

Posted in troubleshoot | Tagged , | Comments Off on Prestashop 1.7: Smarty error blank page on front end if adding new language manually

Prestaship 1.6 Fix for Contact form invulnerable to spam bots

Contact form is vulnerable to spam bot. Captcha does not help in this case.
Fix here – https://github.com/PrestaShop/PrestaShop/pull/8168/files

Useful information on how to build an anti spam bot contact form without captcha
http://www.nfriedly.com/techblog/2009/11/how-to-build-a-spam-free-contact-forms-without-captchas/

Update:
Doesn’t work well against some automated spammers. Change the friendly url of the contact-us to something else and it stopped the spamming completely.
https://www.prestashop.com/forums/topic/442633-add-recaptcha-to-prestashop-version-16014-for-free/?page=5
https://www.prestashop.com/forums/topic/673164-how-do-i-integrate-recaptcha-v2-into-prestashop/?tab=comments#comment-2697948

Posted in troubleshoot | Tagged , | Comments Off on Prestaship 1.6 Fix for Contact form invulnerable to spam bots