Jump to content

comment oter le numéro de téléphone du client dans l'adresse d'expédition ?


Recommended Posts

Bonjour à tous

Après avoir fait un test d'une première commande sur mon nouveau site sous prestashop 1.6.1.17, je constate que sur les factures et étiquettes adresse , le numéro de téléphone est à la vue de tout le monde.

Comment faire pour ne pas l'afficher sur les étiquettes adresse.

Où se trouvent le dossier des bons de livraison, factures et autres messages envoyés au clients ?

Merci

Gueral

Link to comment
Share on other sites

On 23/02/2018 at 8:39 PM, GUERAL said:

Pour le cadre, c'est le module Paypal qui le rajoute. Il faut donc le décrocher du hook pdf dans les positions.

Comment et où le fait-on?

je n'ai pas trouvé le hook pdf dans positions

Merci

Link to comment
Share on other sites

  • 4 weeks later...

J'apporte une précision à ma question ci-dessus : quand on va dans International / Zones géographiques / France / Modifier et que l'on supprime "phone" dans "Format de l'adresse", alors le n° de téléphone est supprimé partout ; y compris dans les pages commande en back office par exemple. Donc on a plus le n° de téléphone du client sous les yeux dans les pages commandes.

Je veux simplement que le n° de téléphone n'apparaisse pas dans l'adresse de facturation sur la facture. Parce que ça veut dire que j'envoie à mes clients des factures à l'adresse :

Prénom Nom
Adresse 1
Adresse 2
CP Ville
Pays
Téléphone

Et avoir le téléphone en fin d'adresse sur un courrier ce n'est pas pertinent du tout... (ils pensent à quoi chez Prestashop...)

Edited by exo7 (see edit history)
Link to comment
Share on other sites

Ils y ont pensé (après qu'on leur ai dit mais ils ont très mal géré le truc^^

2 champs existent en base de données mais ne sont pas paramétrables, il faut les éditer à la mano:

PS_INVCE_INVOICE_ADDR_RULES {"avoid":[]}

 

PS_INVCE_DELIVERY_ADDR_RULES {"avoid":[]}

 

en mettant dans le tableau [ ] les éléments à ne pas afficher

Link to comment
Share on other sites

	/**
	 * Returns the template's HTML content
	 *
	 * @return string HTML content
	 */
	public function getContent()
	{
        $invoiceAddressPatternRules = Tools::jsonDecode(Configuration::get('PS_INVCE_INVOICE_ADDR_RULES'), true);
        $deliveryAddressPatternRules = Tools::jsonDecode(Configuration::get('PS_INVCE_DELIVERY_ADDR_RULES'), true);

		$invoice_address = new Address((int)$this->order->id_address_invoice);
		$country = new Country((int)$invoice_address->id_country);

		if ($this->order_invoice->invoice_address)
			$formatted_invoice_address = $this->order_invoice->invoice_address;
		else
			$formatted_invoice_address = AddressFormat::generateAddress($invoice_address, $invoiceAddressPatternRules, '<br />', ' ');

		$delivery_address = null;
		$formatted_delivery_address = '';
		if (isset($this->order->id_address_delivery) && $this->order->id_address_delivery)
		{
			if ($this->order_invoice->delivery_address)
				$formatted_delivery_address = $this->order_invoice->delivery_address;
			else
			{
				$delivery_address = new Address((int)$this->order->id_address_delivery);
				$formatted_delivery_address = AddressFormat::generateAddress($delivery_address, $deliveryAddressPatternRules, '<br />', ' ');
			}
		}
...
    /**
     * Generates the full address text
     *
     * @param Address $address
     * @param array $patternRules A defined rules array to avoid some pattern
     * @param string $newLine A string containing the newLine format
     * @param string $separator A string containing the separator format
     * @param array $style
     * @return string
     */
    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);
		$patternRules = array();
        $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;
    }

 

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...