osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> Vente croisée
Garrigue
posté 24 Feb 2012, 13:34
Message #1


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 52
Inscrit : 19-January 12
Lieu : Montpellier
Membre no 30529



Bonjour la communauté,

Question :
Quelqu'un aurait-il installé dans la version Oscommerce 2.3 une contribution de Vente croisée
(mise en relation d'un produit avec d'autres) qui fonctionne.

Merci


Go to the top of the page
 
chti_poupon
posté 24 Feb 2012, 18:58
Message #2


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2202
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Cette contrib ici est la mise à jour de Xsell bien souvent cité ici..
Une Belle Journée !
Chti Poupon
Go to the top of the page
 
Garrigue
posté 27 Feb 2012, 10:50
Message #3


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 52
Inscrit : 19-January 12
Lieu : Montpellier
Membre no 30529



Je vais essayer ça, je reviens vous dire comment cela se passe...

Merci !
Go to the top of the page
 
Garrigue
posté 27 Feb 2012, 11:34
Message #4


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 52
Inscrit : 19-January 12
Lieu : Montpellier
Membre no 30529



Si cela arrive à d'autres dans la requête Sql, remplacer l'expression "TYPE=MyISAM" par "ENGINE=MyISAM"...

SQL
INSERT INTO configuration (configuration_title, configuration_key, configuration_value, configuration_description, configuration_group_id, sort_order, date_added) VALUES ('Cross Sell', 'MAX_DISPLAY_XSELL', '6', 'Maximum number of products to display in the \'Cross Sell\' box', '3', '16', now());

DROP TABLE IF EXISTS products_xsell;
CREATE TABLE products_xsell (
ID int(10) NOT NULL auto_increment,
products_id int(10) unsigned NOT NULL default '1',
xsell_id int(10) unsigned NOT NULL default '1',
sort_order int(10) unsigned NOT NULL default '1',
PRIMARY KEY (ID)
) TYPE=MyISAM;

alter table products_xsell add index idx_products_id (products_id);
alter table products_xsell add index idx_xsell_id (xsell_id);


Sinon vous aurez ce message :
SQL

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'TYPE=MyISAM' at line 7 [font="Verdana"]
[/font]

Go to the top of the page
 
Garrigue
posté 27 Feb 2012, 13:30
Message #5


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 52
Inscrit : 19-January 12
Lieu : Montpellier
Membre no 30529



Alors, ça à l'air de fonctionner côté administration mais côté boutique en ligne j'ai ce message d'erreur :

Citation
Warning: include(includes/languages/french/modules/boxes/bm_featured.php) [function.include]: failed to open stream: No such file or directory in Z:\xampp\htdocs\catalog\includes\classes\osc_template.php on line 86

Warning: include() [function.include]: Failed opening 'includes/languages/french/modules/boxes/bm_featured.php' for inclusion (include_path='.;\xampp\php\PEAR') in Z:\xampp\htdocs\catalog\includes\classes\osc_template.php on line 86


Dans la contribution on ne change pas le fichier osc_template.php ni le bm_featured.php.

Si quelqu'un y voit clair... ninja.gif
Go to the top of the page
 
Garrigue
posté 28 Feb 2012, 14:37
Message #6


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 52
Inscrit : 19-January 12
Lieu : Montpellier
Membre no 30529



Je fais mes propres questions/réponses.

Donc je confirme, cette contribution fonctionne bien, l'erreur que j'avais venais du fait qu'il me manquait un fichier (bm_featured.php) version française dans le répertoire catalog\includes\languages\french\modules\boxes d'une autre contribution.

Merci au créateur…

Go to the top of the page
 
Garrigue
posté 1 Mar 2012, 15:58
Message #7


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 52
Inscrit : 19-January 12
Lieu : Montpellier
Membre no 30529



Je reviens sur le sujet car j'ai un problème sur cette contribution sur le bouton "Acheter maintenant"
Quand je clic sur ce fameux bouton je tombe sur une page qui me dit « Produit non trouvé ».
(sur certains produits bizarrement ça fonctionne, enfin sur un seul...).

Je cherche depuis 3jours et là je cale.

Voici les éléments :

Chemin au survole de la souris sur le bouton "Acheter maintenant"
/localhost/catalog/product_info.php?action=buy_now&products_id=34

Chemin de la page qui m'indique que le produit n'est pas trouvé.
/localhost/catalog/product_info.php

Cela dit quand je copie dans la barre d'adresse du navigateur le lien du survole de la souris
je tombe aussi sur "Produit non trouvé".

Vraiment je ne comprends pas
Si quelqu'un y voit clair... ça serait bien !

Go to the top of the page
 
chti_poupon
posté 1 Mar 2012, 17:09
Message #8


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2202
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Avant tout, Va vérifier dans ta base s'il existe bien un produit dont products_id vaut 34
Go to the top of the page
 
Garrigue
posté 2 Mar 2012, 10:24
Message #9


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 52
Inscrit : 19-January 12
Lieu : Montpellier
Membre no 30529



Le produit existe bien car si tu cliques sur l'image produit il s'affiche bien.

Ce sera plus clair si tu as le lien. (Clic sur le produit BambouCom/BC, image puis bouton)

http://www.tonsite.com/catalog/product_inf...cfb6f3641658986

Le site est en test...
Raison de l'édition : Lisibilité lien, publicité lien actif
Go to the top of the page
 
chti_poupon
posté 2 Mar 2012, 12:44
Message #10


Ceinture noire OSC
Icône de groupe

Groupe : TechDev
Messages : 2202
Inscrit : 9-September 08
Lieu : Douai
Membre no 22915



Bonjour
Tu as dû trouver la solution, ou je n'ai pas compris le problème, car le fonctionnement me paraît normal:
Ajouter au panier depuis la liste catégories: RAS, avec passage par la fiche produit s'il y a un attribut
Ajouter au panier depuis la page produit: RAS
Merci de formuler plus en détail si je n'ai rien compris
Chti poupon
Go to the top of the page
 
Garrigue
posté 2 Mar 2012, 13:58
Message #11


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 52
Inscrit : 19-January 12
Lieu : Montpellier
Membre no 30529



Non c'est dans la partie : Nous vous recommandons aussi

Si tu clic sur l'image du produit BambouCom/BC, on tombe bien sur la fiche du produit en question.

Si tu clic sur le bouton "Acheter maintenant" du même produit on tombe sur la page : Produit non trouvé

Go to the top of the page
 
Bonbec
posté 2 Mar 2012, 17:14
Message #12


Ceinture verte OSC
Icône de groupe

Groupe : Membres
Messages : 725
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Bonjour,

Si tu copies le lien du bouton "acheter maintenant" dans la barre d'adresse, tu as ceci :
hhttp://www.xxxxxx.com/catalog/product_info.php?action=buy_now&products_id=34&osCsid=c9946182410ea5d1b1f6f7fb896533eb
(j'ai modifié avant /catalog pour éviter que le lien ne soit actif).
Et effectivement tu tombes sur "produit non trouvé".

Supprime le &osCsid=c9946182410ea5d1b1f6f7fb896533eb et ton lien fonctionne.
Tu as un problème avec ton osCsid.
Je crois avoir identifié le problème : il y a un "s" en trop, il me semble que cela devrait être &osCid=c9946182410ea5d1b1f6f7fb896533eb parce que là çà trouve le produit.

Ce message a été modifié par Bonbec - 2 Mar 2012, 17:15.


--------------------
Config : Osc 2.2 très fortement modifié ... entièrement refait en mai 2012 (passage en UTF-8 et Php 5.3). Le passage à la 2.3 demanderait trop de travail mais je la teste en local ...
Contribs installées : down_for_maintenance_v 2.3 | Estimated Shipping v1.5 | imprint_1_3_5 | low_stock_report_v2.04 | visible_countries_1.2b | Products Tabs | shoppingCart_cleanup_v1.01.0 | + bidouilles persos pas très OsCommerce (erreurs de jeunesse)
En local j'utilise UwAmp, que du bonheur ...
Go to the top of the page
 
Garrigue
posté 5 Mar 2012, 10:56
Message #13


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 52
Inscrit : 19-January 12
Lieu : Montpellier
Membre no 30529



Ce n'est pas un problème de s sur le osCsid, d'ailleurs sur d'autres produits le lien fonctionne avec le s
De plus j'ai le même problème en local où on n'utilise pas le osCsid

J'ai bien ce lien au survole de la souris sur le bouton :
HTML
[url="http://www.xxxxx.com/catalog/product_info.php?action=by_now&products_id=34&osCsid=812ff1570fc1aa0a55619302d644b11f"]http://www.xxxxx.com/catalog/product_info.php?action=by_now&products_id=34&osCsid=812ff1570fc1aa0a55619302d644b11f[/url]


Sur la page du Produit non trouvé j'ai ce lien dans la barre d'adresse :
HTML
[url="http://www.xxxxx.com/catalog/product_info.php?osCsid=812ff1570fc1aa0a55619302d644b11f"]http://www.xxxxx.com/catalog/product_info.php?osCsid=812ff1570fc1aa0a55619302d644b11f[/url]


Il suffit d'ajouter products_id=34& entre le ? et osCsid et cela fonctionne. On observe qu'on perd entre deux le action=by_now&
dans le lien.

A mon sens ce qu'il faut arriver à trouver et comprendre c'est pourquoi je perds dans le lien products_id=34& qui fait le lien sur la bonne page...
Go to the top of the page
 
Gnidhal
posté 5 Mar 2012, 15:12
Message #14


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 9130
Inscrit : 4-March 03
Lieu : Auray
Membre no 927



C'est alors la construction du lien qui est mal faite.
Dans osC il y a une fonction tep_get_all_get_params qui reconstruit la chaîne get pour le lien de sortie à partir des paramètres passés en get en entrant.
La fonction permet de dégager du lien de sortie tout paramètre non désiré par un array.
tep_get_all_get_params() reprend donc tous les paramètres get passés à la page pour les ajouter au lien
tep_get_all_get_params(array('action','products_id') ) fait la même chose en supprimant les paramètres action et products_id

A toi de voir comment a été fabriqué le lien sur le bouton d'achat...


--------------------
Tout d'abord : - Ni Hotline ni Service Après Vente, ces forums sont un lieu d'échange. BIEN POSER SA QUESTION (généralités)
Les "Informations Importantes" que vous devez ABSOLUMENT avoir lues :
Règlement, Bien poser sa question dans ces forums et Bien utiliser les Forums.
Les raccourcis pour gagner du temps : la FAQ, les PDF de la Doc (MS2-fr): PDF-V1 et PDF-V2, le moteur de Recherche sur les forums , la Liste des Contributions de Corbin.

----------------------------- Quelques sites de référence ---------------------------
PHP: Le site du Zéro et PHP Débutant avec la DOC en français -- HTML: Self HTML - WebProgrammation -- CSS: OpenWeb - AlsaCréations - CSS/Edge -- Autres ressources: - XajaX - highslide js
Les bons outils : EasyPHP - WAMP-5 - - Notepad++ - Firefox et son extension WebDeveloper
Le gène idéal c'est le gène original. Le génie des halles est un Génie des Alpages qui tente d'être à la page. (Merci f'murrr pour les cours de philosophie de chien)
Go to the top of the page
 
Garrigue
posté 6 Mar 2012, 09:39
Message #15


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 52
Inscrit : 19-January 12
Lieu : Montpellier
Membre no 30529



Ok mais le code me semble bon :

Code
$text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $xsell['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $xsell['products_image'], $xsell['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>
<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $xsell['products_id']) . '">' . $xsell['products_name'] .'</a>
' . $xsell_price. '
<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=buy_now&product_to_buy_id=' . $xsell['products_id'], 'NONSSL') . '">' . tep_draw_button( IMAGE_BUTTON_BUY_NOW, 'cart', tep_href_link( basename( $PHP_SELF ), tep_get_all_get_params(array('action', 'products_id')) . 'action=buy_now&products_id=' . $xsell['products_id']));


Je suis persuadé que le problème vient d'autre part car sur le 1er produit créé sur mon site le lien fonctionne :

HTML
[/b][url="http://www.axocom.com/catalog/product_info.php?products_id=34&osCsid=19815f870383b3166ed5ce55e1a49116%20[/html"]http://www.axocom.com/catalog/product_info.php?products_id=34&osCsid=19815f870383b3166ed5ce55e1a49116 [/url] [b]


Cliquez sur le bonton Achetez maintenant du VisuelCom Tissus.
Ce produit est dans la base de donnée le premier de la liste de la table products. Si par exemple je supprime ce produit et bien le lien fonctionnera sur le produit suivant de la liste.

pour info : pas de code HTML dans les block [ code ] (exemple <strong> </strong> )

Ce message a été modifié par FoxP2 - 6 Mar 2012, 12:34.
Go to the top of the page
 
FoxP2
posté 6 Mar 2012, 12:30
Message #16


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1512
Inscrit : 3-June 09
Membre no 25501



Citation (Garrigue @ 6 Mar 2012, 09:39) *
Ok mais le code me semble bon :

Code
$text = '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $xsell['products_id']) . '">' . tep_image(DIR_WS_IMAGES . $xsell['products_image'], $xsell['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a>
<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $xsell['products_id']) . '">' . $xsell['products_name'] .'</a>
' . $xsell_price. '
<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, tep_get_all_get_params(array('action')) . 'action=buy_now&product_to_buy_id=' . $xsell['products_id'], 'NONSSL') . '">' . tep_draw_button( IMAGE_BUTTON_BUY_NOW, 'cart', tep_href_link( basename( $PHP_SELF ), tep_get_all_get_params(array('action', 'products_id')) . 'action=buy_now&products_id=' . $xsell['products_id']));


ton code est complet ? car ta balise <a href > n'est pas fermée :

Code
<a href="' . tep_href_link(FILENAME_PRODUCT_INFO,
tep_get_all_get_params(array('action')) .
'action=buy_now&product_to_buy_id=' . $xsell['products_id'],
'NONSSL') . '">' . tep_draw_button( IMAGE_BUTTON_BUY_NOW, 'cart',
tep_href_link( basename( $PHP_SELF ),
tep_get_all_get_params(array('action', 'products_id')) .
'action=buy_now&products_id=' . $xsell['products_id']));



--------------------


Go to the top of the page
 
Garrigue
posté 6 Mar 2012, 14:34
Message #17


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 52
Inscrit : 19-January 12
Lieu : Montpellier
Membre no 30529



Oui le code est complet pour la partie lien, effectivement mieux vaut fermer la balise <a href>.

Fait avec .'</a>'; en fin de code. Mais cela ne change rien... wacko.gif Le mystère s'assombrie !
Go to the top of the page
 
Garrigue
posté 8 Mar 2012, 10:21
Message #18


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 52
Inscrit : 19-January 12
Lieu : Montpellier
Membre no 30529



[Résolu]

Bon en fait, j'ai été sur le forum du créateur (Mort-lemur), et après plusieurs échanges,
il a finit par trouver et donc à revu son code au niveau du fichier application_top.php.

Il faut remplacer :
Code
//BOF F: XSell
                  case 'buy_now' : if (isset($HTTP_GET_VARS['product_to_buy_id'])) {
                  if (tep_has_product_attributes($HTTP_GET_VARS['product_to_buy_id'])) {
                  tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['product_to_buy_id']));
                  } else {
                  $cart->add_cart($HTTP_GET_VARS['product_to_buy_id'], $cart->get_quantity($HTTP_GET_VARS['product_to_buy_id'])+1);
                  }
                  } elseif (isset($HTTP_GET_VARS['products_id'])) {
// EOF: XSell
                  if (tep_has_product_attributes($HTTP_GET_VARS['products_id'])) {
                  tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['products_id']));
                  } else {
                  $cart->add_cart($HTTP_GET_VARS['products_id'], $cart->get_quantity($HTTP_GET_VARS['products_id'])+1);
                  }
                  }tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));


Par :

Code
// BOF: XSell
                 case 'buy_now' : if (isset($HTTP_GET_VARS['products_id'])) {                                                      
                 tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['products_id']));                                                      
                 }
                 tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));
                 break;
// EOF: XSell
                 if (isset($HTTP_GET_VARS['products_id'])) {                                                      
                 tep_redirect(tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $HTTP_GET_VARS['products_id']));                                                      
                 }
                 tep_redirect(tep_href_link($goto, tep_get_all_get_params($parameters)));
                 break;


Les échanges sont ici :
HTML
[url="http://forums.oscommerce.com/topic/34799-contribution-cross-sell-x-sell-admin/page__st__520"]http://forums.oscommerce.com/topic/34799-contribution-cross-sell-x-sell-admin/page__st__520[/url]


Merci à tous !

Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 20th June 2013 - 09:10
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)