Jump to content

amaury

Members
  • Posts

    174
  • Joined

  • Last visited

Everything posted by amaury

  1. if(isset($_FILES1['attached']['name'] )) { $attached1['mime'] = $_FILES1['attached']['type']; $attached1['name'] = $_FILES1['attached']['name']; $attached1['content'] = file1_get_contents($_FILES1['attached']['tmp_name']); } if(isset($_FILES2['attached']['name'] )) { $attached2['mime'] = $_FILES2['attached']['type']; $attached2['name'] = $_FILES2['attached']['name']; $attached2['content'] = file_get_contents($_FILES2['attached']['tmp_name']); } Ce n'est pas $_FILES1 et $_FILES2 mais $_FILES['attached1'] et $_FILES['attached2'] !
  2. L'envoi de plusieurs fichiers. Pour le spam, c'est assez aléatoire alors je sais pas, mais c'est probablement le même message répété plusieurs fois sur la même adresse qui a du temporairement déclencher ça.
  3. Page blanche signifie très souvent : Erreur. Les erreurs ne sont pas affichés par défaut et ça génère une page blanche, change ce code dans le fichier /config/config.inc.php : @ini_set('display_errors', 'off'); define('_PS_DEBUG_SQL_', false); par : @ini_set('display_errors', 'on'); define('_PS_DEBUG_SQL_', true); Pour voir l'erreur en question...
  4. La classe qui controle les cookie est Cookie dans le fichier /classes/Cookie.php Si ton installation est du genre : site1/ site2/ alors les cookies créé par défaut le sont dans le dossier "", qui correspond au dossier courant, donc site1/ pour le site n°1 et site2/ pour le site n°2. La solution est donc de tenter de créer un cookie sur le tronc commun (le dossier parent à ces deux sites, si tel est la configuration de tes fichiers), pour cela essaye de changer la ligne 47 de Cookie.php de : function __construct($name, $path = '', $expire = NULL) vers function __construct($name, $path = '/', $expire = NULL) Le cookie sera commun au dossier "/" qui devrait être le parent de site1/ et site2/ et qui permet la connexion au deux site en même temps. Attention, ca n'est que théorique. Attention de plus : Chaque boutique prestashop possède deux clefs pour les cookies différent, il faut que tu fasse en sorte que ce soit les même. Tu peux vérifier ça dans /config/settings.inc.pgp, le code suivant doit être commun a tes deux boutiques : define('_COOKIE_KEY_', 'XXXXXXXXXXXXXXXXXXXXXX'); define('_COOKIE_IV_', 'YYYYYYYYYYY'); XXXXXXXXXXXXXXXXXXXXXX et YYYYYYYYYYY représentant la clef de chiffrage de tes boutiques, c'est eux qui doivent être communs. J'espère que ça t'aidera.
  5. fichier /modules/blockadvertising/blockadvertising.tpl Le TPL se comporte comme du HTML
  6. A mon avis, c'est le terme "moule" qui est en commun qui fait ça. Je ne sais pas exactement comment mais il faut faire en sorte dans le code de rechercher d'abord les expressions entières, ensuite les mots séparés
  7. C'est que Swift (le module externe à Prestashop qui permet d'envoyer des mails) ne permet d'envoyer qu'un fichier via la méthode $message->attach. Là je ne peux rien faire car j'y connais rien en Swift... Bonne continuation...
  8. Bah tu utilise ma solution sauf que tu désactive les produits un à un et pas une catégorie.
  9. C'est dans le fichier /classes/Mail.php Je conseille d'ajouter les deux argument à la fin plutôt qu'après fileAttachment pour éviter les problème de retro-compatibilité. Je t'ai dit que les méthodes en PHP possède des argumets de taille fixe, il faut que tu ajoute deux arguments, dans le style : static public function Send($id_lang, $template, $subject, $templateVars, $to, $toName = NULL, $from = NULL, $fromName = NULL, $fileAttachment = NULL, $modeSMTP = NULL, $templatePath = _PS_MAIL_DIR_, $attached1, $attached2) Et l'appel à Mail::Send donne : Mail::Send(intval($cookie->id_lang), 'send_question', $subject, $templateVars, Configuration::get('PS_SHOP_EMAIL'), NULL, NULL, NULL, $attached, NULL, dirname(__FILE__).'/mails/'), $attached1, $attached2)
  10. Cette erreur signifie que ta base est trop grosse pour être sauvegardé. Si tu es sur un serveur mutualisé, tu ne peux rien y faire. Il vaut mieux essayer de passer manuellement par le PHPMyAdmin de ton hébergeur qui, souvent, octroie un peu plus de mémoire pour l'exportation de donnée. [EDIT] Ah tiens, soufflé par jeckyl
  11. Tous les autre messages passent ? Il est possible (me demande pas comment) que tes message soient subitement passé dans la catégorie spam et que l'hébergeur de ton SMTP (qui gère l'envoi d'email) te bloque l'envoi des mails (C'est à dire, qu'il ne les envoi même pas). Si aucun autre mails "normal" ne passe sur le site, ça pourrait être ce problème
  12. 3 questions d'un coup c'est trop, il est plutôt conseillé de faire un topic par question avec des titres explicites. Malheureusement, je n'ai pas trop de réponse pour tes questions
  13. Le mieux serait probablement de désactiver la catégorie où se trouve ce produit et de désactiver l'endroit qui limite l'accès direct à la fiche. Dans /product.php j'ai trouvé ce code en ligne 112 : if (!Validate::isLoadedObject($product) OR !$product->active) Si tu remplace par : if (!Validate::isLoadedObject($product)) Tes produits désactivés (ou dans une catégorie invisible) seront bien invisible quand on le cherchera dans une catégorie (même en passatn par la recherche, on le verra pas) mais tu pourra y faire un lien direct.
  14. Alors essaye de modifier la signature de Mail::Send pour intégrer $attached1 et $attached2.
  15. En tant que développeur (et non référenceur), je n'en sais rien, je te conseille vraiment d'aller dans la partie du forum où ils pourront te répondre : http://www.prestashop.com/forums/viewforum/122/referencement (En plus, un modérateur va probablement déplacer ce sujet vers ce forum là...)
  16. Alors 1 : Je ne suis pas sur que le code suivant soit obligatoire : $_FILES['attached']['mime'] = $_FILES['attached']['type']; $_FILES1['attached']['mime'] = $_FILES1['attached']['type']; $_FILES2['attached']['mime'] = $_FILES2['attached']['type']; Je crois que je m'en suis servi de test parce que mettre $_FILES directement dans la variable $fileAttached marchait pas. Ensuite en PHP, très peu de fonction sont à taille variable, Mail::send ne va donc pas détecter que $attached1 et $attached2 sont en fait deux autres fichiers. On dirait que la méthode Mail::Send n'accèpte qu'un fichier par défaut d'après la signature du code. J'ai un peu la flemme de te donner un code propre alors je t'en donne un qui est, pour un développeur, pas très propre. Et c'est pas testé non plus. Dans ta classe email, remplace ce code : if ($fileAttachment AND isset($fileAttachment['content']) AND isset($fileAttachment['name']) AND isset($fileAttachment['mime'])) { $message->attach(new Swift_Message_Attachment($fileAttachment['content'], $fileAttachment['name'], $fileAttachment['mime'])); } par le code suivant : if ($fileAttachment AND isset($fileAttachment['content']) AND isset($fileAttachment['name']) AND isset($fileAttachment['mime'])) { $message->attach(new Swift_Message_Attachment($fileAttachment['content'], $fileAttachment['name'], $fileAttachment['mime'])); } global $attached1; global $attached2; if ($attached1 AND isset($attached1['content']) AND isset($attached1['name']) AND isset($attached1['mime'])) { $message->attach(new Swift_Message_Attachment($attached1['content'], $attached1['name'], $attached1['mime'])); } if ($attached2 AND isset($attached2['content']) AND isset($attached2['name']) AND isset($attached2['mime'])) { $message->attach(new Swift_Message_Attachment($attached2['content'], $attached2['name'], $attached2['mime'])); } Et remet ton appel à Mail::Send comme je te l'ai mis. J'ai pas testé, donc pas sûr que ça marche.
  17. Je pense que Oui, mais les spécialistes du référencements sont plutôt sur le forum Prestashop du référencement...
  18. J'ai pas trop fouillé la dedans, mais si je devais le faire, en plus de supprimer l'étape du frais de port, je pense que je ferais en sorte que sur la page qui arrive après (sur le .php), je charge (je ne sais pas comment, j'ai pas vu en détail comment une commande se faisait) le fameux transporteur "gratuit" que tu as. En effet, il y a une chance que Prestashop n'accepte pas trop bien les commandes sans transporteurs par défaut. Je rejoint l'avis d'ould.abeidy sur le fait de faire quelques tests (Fait des chèques, tu pourra annuler après).
  19. Comme tu l'a fait ça m'a l'air bien, si tu à mis le enctype comme il faut, ça devrait marcher...
  20. La variable $attached est juste une variable similaire à $_FILES qui sert à Mail::Send. Je génère cette variable à partir de $_FILES (qui sont les infos données par un fichier à uploader). if(isset($_FILES['attached']['name'])) { $attached['mime'] = $_FILES['attached']['type']; $attached['name'] = $_FILES['attached']['name']; $attached['content'] = file_get_contents($_FILES['attached']['tmp_name']); } Sert donc à générer cette variable quand le fichier a été envoyé. Il faut donc placer ce code dans un endroit où on est sur que le fichier a été envoyé. L'étape d'après est de mettre $attached dans Mail::Send, déjà, de ce que je vois ici, tu ne l'a pas, il faut donc modifier : if (!Mail::Send(intval($cookie->id_lang), 'send_question', $subject, $templateVars, Configuration::get('PS_SHOP_EMAIL'), NULL, NULL, NULL, NULL, NULL, dirname(__FILE__).'/mails/')) par : if (!Mail::Send(intval($cookie->id_lang), 'send_question', $subject, $templateVars, Configuration::get('PS_SHOP_EMAIL'), NULL, NULL, NULL, $attached, NULL, dirname(__FILE__).'/mails/')) Si je dit pas de bétise, vérifie Mail::Send pour bien voir si la variable qui doit s'appeller à peu près $file_attachment est en 9eme position.
  21. Dans ce cas là, tu ne parle pas de module mais d'onglets ! Va dans "Outils"->"Onglets" et rajoute l'onglet transport de la classe AdminShipping. Pour les sous onglets (au cas où tu l'aurai effacé aussi) ce sont les classes : AdminCarriers pour Transporteurs AdminCountries pour Pays AdminZones pour Zones AdminRangePrice pour Tranches de prix AdminRangeWeight pour Tranches de poids
  22. Perso, je suis chez OVH et j'ai jamais eu de problème. Après, c'est vrai qu'il a plutôt mauvaise réputation quant à la gestion du trafic et des ressources mémoires. Là c'est à toi de voir.
  23. On peut changer des éléments du php.ini sur un hébergement mutualisé sur OVH ?
  24. Si si, exemple : width:50%; Je te donne les lignes où tu retrouve les endroits à changer dans le global.css : left_column en ligne 201 center_column en ligne 206 pb-right-column en ligne 1722 (Il s'agit du coté gauche de la fiche produit, me demande pas pourquoi il s'appelle right, je sais pas) : Attention, c'est par rapport a la colonne centrale le pourcentage, 100% ici ne fait pas la largeur du site mais la largeur de la colonne centrale. pb-left-column en ligne 1747 (Là encore, une inversion de sens, va savoir pourquoi) C'est là où il faut principalement changer les largeurs avec la propriété width
×
×
  • Create New...

Important Information

Cookies ensure the smooth running of our services. Using these, you accept the use of cookies. Learn More