
bato
Members-
Posts
43 -
Joined
-
Last visited
bato's Achievements
Newbie (1/14)
0
Reputation
-
Oui il faut avouer que ce serait plus simple ^^ Voici mon code ajouté dans le fichier header.php if ($cookie->isLogged()) { $smarty->display(_PS_THEME_DIR_.'header.tpl'); } else { $smarty->display(_PS_THEME_DIR_.'headerwithoutcolumn.tpl'); } if (!$cookie->isLogged() AND $page_name!="authentication" AND $page_name!="contact-form") { Tools::redirect('my-account.php'); } if (!$cookie->isLogged() AND $page_name==("authentication" OR "contact-form")) { $smarty->display(_PS_THEME_DIR_.'shop-private.tpl'); } Donc quand on est pas connecté ça affiche le fichier headerwithoutcolumn.tpl qui permet de cacher les colonnes gauches et droites de la boutique avec les produits. A moins qu'on soit sur une page d'authentification (et de création de compte) ou le formulaire de contact, on est automatiquement redirigé vers la page d'authentification. De plus un message d'avertissement est affiché (shop-private.tpl) Merci !
-
Bonjour, j'ai modifié ma boutique pour qu'elle ne soit accessible qu'aux utilisateurs connectés, et ça fonctionne plutôt bien sauf quand j'essaie d'accéder au panier (order.php?step=0) où là ça me met une Fatal Error Fatal error: Call to a member function isLogged() on a non-object in chemin/header.php on line 35 Mon code utilise ceci pour savoir si l'utilisateur est connecté : if ($cookie->isLogged()) Pouvez-vous m'expliquer comment corriger cette erreur ? PS: à part ça si on clique directement sur commander sans passer par le panier ça fonctionne Merci
-
3. /admin/tabs/AdminAddresses.php Cherchez : echo ''.$this->l('Company:').' <input type="text" size="33" name="company" value="'.htmlentities($this->getFieldValue($obj, 'company'), ENT_COMPAT, 'UTF-8').'" /> '.$this->l('Invalid characters:').' <>;=#{} '; Remplacez par : echo ''.$this->l('Company:').' <input type="text" size="33" name="company" value="'.htmlentities($this->getFieldValue($obj, 'company'), ENT_COMPAT, 'UTF-8').'" /> '.$this->l('Invalid characters:').' <>;=#{} '.$this->l('VAT number:').' <input type="text" size="21" name="vatnumber" value="'.htmlentities($this->getFieldValue($obj, 'vatnumber'), ENT_COMPAT, 'UTF-8').'" /> '.$this->l('Invalid characters:').' <>;=#{} '; (21 ou 33 car l'on ajoute 1 à la valeur maximale) 4. /classes/PDF.php Cherchez : $pdf->Cell($width, 10, Tools::iconv('utf-8', self::encoding(), $delivery_address->company), 0, 'L'); $pdf->Cell($width, 10, Tools::iconv('utf-8', self::encoding(), $invoice_address->company), 0, 'L'); $pdf->Ln(5); Remplacez par : $pdf->Cell($width, 10, Tools::iconv('utf-8', self::encoding(), $delivery_address->company), 0, 'L'); $pdf->Cell($width, 10, Tools::iconv('utf-8', self::encoding(), $invoice_address->company), 0, 'L'); $pdf->Ln(5); $pdf->Cell($width, 10, Tools::iconv('utf-8', self::encoding(), $delivery_address->vatnumber), 0, 'L'); $pdf->Cell($width, 10, Tools::iconv('utf-8', self::encoding(), $invoice_address->vatnumber), 0, 'L'); $pdf->Ln(5); Ouf on a fini ! (presque) 5. Ajout du champ vatnumber dans la base MySQL Ouvrez phpmyadmin. cliquez sur la table ps_address à gauche dans le bas de la page Ajoutez un champ après "company" (liste déroulante) et voilà ! 6. Traduction vous pouvez dès à présent savourer votre travail en testant la page d'inscription. vous remarquerez qu'il est inscrit VAT number. (en anglais) dernière étape, la traduction ! Dans le back office, allez dans Outils, Traductions, choisissez chacun leur tour les différents choix de la liste déroulante, puis cherchez dans chaque page "vat" jusqu'à trouver tous les champs en anglais et tous les traduire. Voilà ! bato
-
Bonjour, j'ai cherché comment ajouter ce champ à Prestashop. En effet, il devient important dès qu'on veut vendre aux sociétés. Le fait de le rendre obligatoire implique que la boutique devient réservée aux acheteurs professionnels. Ce tutorial est bien sur adaptable à l'ajout d'autres champs comme SIRET ou autre. Je me suis inspiré de ce sujet afin de réaliser ce tutorial, ce dernier ne proposant par exemple pas de rendre le champ obligatoire. Avant toute modification du code de votre boutique il est important d'en faire une sauvegarde Nous allons éditer 4 fichiers : /themes/prestashop/authentification.tpl – ajoute le champ dans le formulaire d'inscription /classes/Address.php – dit au formulaire comment traiter l'information entrée par le client /admin/tabs/AdminAddresses.php – permet au back office de récupérer les informations /classes/PDF.php – gère la création des factures PDF. On suppose ici que l'on souhaite ajouter le champ de TVA IC en dessous du champ Société. Vous pouvez évidemment faire un autre choix. 1. /themes/prestashop/authentification.tpl Cherchez : {l s='Company'} <input type="text" class="text" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company}{/if}" /> FACULTATIF ### si vous souhaitez en profiter pour rendre le champ Société obligatoire à la saisie, Remplacez par : {l s='Company'} <input type="text" class="text" id="company" name="company" value="{if isset($smarty.post.company)}{$smarty.post.company}{/if}" /> * (il n'y a que 2 modifications : required text et l'astérisque) FACULTATIF ### Pour ajouter le champ TVA IC à votre formulaire, ajoutez sous le code précédent ce qui suit : {l s='VAT number'} <input type="text" class="text" id="vatnumber" name="vatnumber" value="{if isset($smarty.post.vatnumber)}{$smarty.post.vatnumber}{/if}" /> * Si vous ne souhaitez pas que ce champ soit obligatoire, retirez "required " et "*". 2. /classes/Address.php Cherchez : /** @var string Company*/ public $company; Remplacez par : /** @var string Company*/ public $company; /** @var string VAT number*/ public $vatnumber; Pour rendre le champ TVA IC obligatoire (si vous ne le souhaitez pas ne faites pas cette étape): Cherchez : protected $fieldsRequired = array('id_country', 'alias', 'lastname', 'firstname', 'address1', 'postcode', 'city'); Ajoutez entre alias et lastname 'vatnumber', et si vous le souhaitez 'company', (pour rendre le champ société obligatoire). Résultat : protected $fieldsRequired = array('id_country', 'alias', 'vatnumber', 'lastname', 'firstname', 'address1', 'postcode', 'city'); Ce qui suit définit la taille maximale des champs du formulaire. sachant qu'un numéro de TVA intracommunautaire n'a pas le même nombre de caractères dans tous les pays il ne faut mieux pas se limiter à l'exemple français et être plus large. (j'utilise dans l'exemple 20 caractères maximum) Cherchez : protected $fieldsSize = array('alias' => 32, 'company' => 32, 'lastname' => 32, 'firstname' => 32, Ajoutez donc "'vatnumber' => 20," après company protected $fieldsSize = array('alias' => 32, 'company' => 32, 'vatnumber' => 20, 'lastname' => 32, 'firstname' => 32, Cherchez : 'company' => 'isGenericName', Remplacez par : 'company' => 'isGenericName', 'vatnumber' => 'isGenericName', Cherchez : $fields['company'] = pSQL($this->company); Remplacez par: $fields['company'] = pSQL($this->company); $fields['vatnumber'] = pSQL($this->vatnumber);
-
Variables pour export catalogue Kelkoo Leguide.com
bato posted a topic in Modules et thèmes gratuits
Bonjour, j'ai modifié un fichier pour pouvoir faire des exports leguide et kelkoo mais il y a un petit problème. Je suis obligé de faire un str_replace car sinon "Home | " s'affiche à chaque produit. Comment n'afficher que la sous catégorie la plus sous catégorie ? //Category $category = new Category(intval($product['id_category_default'])); echo str_replace("Home | ", "", GetCategory($category))." "; merci -
Bonjour, j'ai tenté plusieurs fois de mettre à jour ma version de prestashop vers la 1.1 mais comme vous avez pu remarquer il y a plein de problèmes. Le bloc catégories ne s'affiche plus, ya des problèmes d'accents, les pages du CMS ne s'affichent pas. J'aimerais savoir comment mettre à jour un thème 1.0 en 1.1 Merci beaucoup