Jump to content

bato

Members
  • Posts

    43
  • Joined

  • Last visited

bato's Achievements

Newbie

Newbie (1/14)

0

Reputation

  1. il s'avère que la page order.php n'a pas de $page_name, je pourrais contourner ça en lui attribuant un $page_name et en faisant une exception mais ce serait un peu dégueu et pas terrible.
  2. 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 !
  3. 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
  4. oui je l'ai rédigé à partir de la version 1.2 pour l'afficher dans le back office soit vous affichez la facture pdf mais un peu fastidieux ou soit vous éditez les donnees du client il devrait apparaitre dans une case. je n'ai pas internet en ce moment je suis sur mon iphone
  5. c'est un tuto tout frais, je me suis relu plusieurs fois mais on est jamais l'abri d'une coquille, si vous en remarquez une merci de me le faire savoir afin que ça ne fausse pas le tuto. Merci bato
  6. 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
  7. 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);
  8. 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
  9. mais c'est revenu..... sivouplé les fondateur. Un petit tuto officiel serait bienvenu pour la mise à jour des thèmes
  10. re merci beaucoup pour cette mise à jour, mais mon thème n'est pas intact, il y a du css, des images et des fichiers modifiés pour la mise en page. Pourrais-tu plutôt donner une liste des modif à faire ? Merci beaucoup
  11. J'utilise le thème PrestaSweet 1.2 pour la version 1.0 il est un ptit peu modifié mais rien d'important
  12. 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
  13. oui j'utilise un thème personnalisé. J'ai trouvé d'où ça venait, il suffit de copier le fichier cms.tpl du dossier du thème original 1.1 vers le dossier du thème modifié et ça marche ouf !
  14. Bonjour, je viens d'installer la 1.1 et de tenter de modifier les pages à propos tout ça : http://www.blabla.fr/content/4-a-propos mais rien n'apparait même si dans l'admin il y a du texte. Que faut-il modifier?
×
×
  • Create New...