Jump to content

Retirer numéro de téléphone (PDF: Delivery slip)


Recommended Posts

Bonjour !

Je souhaite savoir comment retirer le numéro de téléphone des bons de livraison généré au format PDF ?
En effet, quand un client commande, ce bon de livraison est généré et nous le mettons également sous enveloppe à fenêtre. Le problème c'est que le numéro vient s'ajouter en dessous de l'adresse et c'est pas nécessaire..

Dans PDF > dlivery-slip.adresses-tab.tpl j'ai uniquement {$delivery_address}. J'ai regardé dans les différents controller mais impossible de trouver dans lequel les informations son bouclées..

Merci de votre aide ! 

Link to comment
Share on other sites

2 solutions:

- soit vous les supprimez du format d'adresse dans localisation -> Pays -> France

 

image.thumb.png.f37b842a2ff212a52e902701013ac174.png

 

Soit vous rentrez la valeur en bdd (fonction écrite par Prestashop mais ils ont juste oublié de la rendre paramétrable) dans le champ

PS_INVCE_DELIVERY_ADDR_RULES mais ca dépend des versions^^

Ce tableau étant utilisé dans la classe Addressformat, fonction generateAddress() :

    public static function generateAddress(Address $address, $patternRules = array(), $newLine = "\r\n", $separator = ' ', $style = array())
    {
        $addressFields = AddressFormat::getOrderedAddressFields($address->id_country);
        $addressFormatedValues = AddressFormat::getFormattedAddressFieldsValues($address, $addressFields);

        $addressText = '';
        foreach ($addressFields as $line) {
            if (($patternsList = preg_split(self::_CLEANING_REGEX_, $line, -1, PREG_SPLIT_NO_EMPTY))) {
                $tmpText = '';
                foreach ($patternsList as $pattern) {
                    if ((!array_key_exists('avoid', $patternRules)) ||
                                (is_array($patternRules) && array_key_exists('avoid', $patternRules) && !in_array($pattern, $patternRules['avoid']))) {
                        $tmpText .= (isset($addressFormatedValues[$pattern]) && !empty($addressFormatedValues[$pattern])) ?
                                (((isset($style[$pattern])) ?
                                    (sprintf($style[$pattern], $addressFormatedValues[$pattern])) :
                                    $addressFormatedValues[$pattern]).$separator) : '';
                    }
                }
                $tmpText = trim($tmpText);
                $addressText .= (!empty($tmpText)) ? $tmpText.$newLine: '';
            }
        }

        $addressText = preg_replace('/'.preg_quote($newLine, '/').'$/i', '', $addressText);
        $addressText = rtrim($addressText, $separator);

        return $addressText;
    }

Autrement vous devez remplacer array() par vos valeurs à échapper dans la ligne

$formatted_delivery_address = AddressFormat::generateAddress($delivery_address, array(), '<br />', ' ');

de HTMLTemplateDeliverySlip.php

donc array() devient dans votre cas:  array('avoid' => array('phone', 'phone_mobile'))

$formatted_delivery_address = AddressFormat::generateAddress($delivery_address, array('avoid' => array('phone', 'phone_mobile')), '<br />', ' ');

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...