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

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> [résolu] comment afficher un produit via le modèle, comment récupérer le products_id ?
nephelion
posté 1 Nov 2011, 21:10
Message #1


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 96
Inscrit : 1-March 05
Lieu : dans les nuages
Membre no 4971



bonsoir,
j'ai le produit A qui n'existe plus au catalogue ou en fin de vie et est donc remplacé par le produit B qui a donc une autre référence (products_model2).
le produit A qui n'est plus en vente reste toujours en catalogue : mais sur la fiche produit A j'affiche en plus la nouvelle référence qui doit renvoyer au produit B.

j'ai procédé ainsi :
  • dans la table products, création d'un champ products_model2
  • dans la fiche produit A, créer une zone où est renseigné le nouveau products_model2
  • création de la fiche produit B avec comme products_model = products_model2


toute la phase création, insertion d'un nouveau champ se passe bien, le nouveau champ est bien pris dans la base de données...

dans product_info.php
je cherche à récupérer le products_id pour renvoyer vers la nouvelle fiche produit :

Citation
<?php
if (tep_not_null($products_model2['products_model2'])) {
?>
<tr>
<td><h2><span class="smallText"><?php echo 'Nouveau modeèle : &nbsp;' . $products_model2; ?></span></h2></td>
<td align="right" valign="top">
<?php

tep_get_products_model2($product_model2['products_id']);
echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $product_model2['products_id']) . '">' . $products_model2 . '</a>' ?>
</td>
</tr>
<?php
}
?>


dans include/functions/general.php

Citation
function tep_get_products_model2($products_id) {
$products_id = tep_get_prid($products_id);
$products_model2_query = tep_db_query("select products_id from " . TABLE_PRODUCTS . " where products_model2 = '" . $products_model2['products_model2']) . "'");
$product_model2 = tep_db_fetch_array($products_model2_query);

return $product_model2['products_id'];




pourriez-vous m'aider à récupérer le products_id de la nouvelle fiche ?
cela fait quelques jours que je tourne en rond et je me demande si le raisonnement est bon et à force de triturer les codes, je ne tiens plus le bon bout.


le résultat renvoie invariablement à :
Citation



quand je teste
Citation
$products_model2_query = tep_db_query("select products_id from " . TABLE_PRODUCTS . " where products_model2 = '" . $products_model2['products_model2']) . "'");

via PhpMyAdmin le résultat retourne bien au products_id voulu
mais impossible de l'avoir dans product_info.php

Ce message a été modifié par nephelion - 2 Nov 2011, 09:14.


--------------------
osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
Go to the top of the page
 
Bonbec
posté 1 Nov 2011, 23:22
Message #2


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1543
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Bonsoir,

Il me semble que la ligne tep_get_products_model2($product_model2['products_id']); est à placer AVANT le test sinon la valeur du test est toujours null


Code
<?php
tep_get_products_model2($product_model2['products_id']); // Placé avant le test sinon le test est toujours null

if (tep_not_null($products_model2['products_model2'])) {
?>
<tr>
<td><h2><span class="smallText"><?php echo 'Nouveau modeèle : &nbsp;' . $products_model2; ?></span></h2></td>
<td align="right" valign="top">
<?php

// tep_get_products_model2($product_model2['products_id']); <===== déplacé
echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $product_model2['products_id']) . '">' . $products_model2 . '</a>' ?>
</td>
</tr>
<?php
}
?>


--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
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 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc Phoenix
Go to the top of the page
 
nephelion
posté 2 Nov 2011, 00:16
Message #3


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 96
Inscrit : 1-March 05
Lieu : dans les nuages
Membre no 4971



bonsoir et merci @Bonbec pour la réponse,

j'ai déplacé la ligne comme indiqué, mais malheureusement, ça n'a fonctionné ;(

j'ai toujours le retour de products_id = vide.



--------------------
osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
Go to the top of the page
 
Bonbec
posté 2 Nov 2011, 00:25
Message #4


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1543
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Re,

Juste après la ligne tep_get_products_model2($product_model2['products_id']); place provisoirement un print_r($product_model2);
Cela devrait donner le détail de ce qui est retourné.
Je pense que cela doit retourner, entre autre, $product_model2['products_id2'] et non $product_model2['products_id'] comme marqué dans cette ligne :
echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $product_model2['products_id']) . '">' . $products_model2 . '</a>' ?>
qui devrait être :
echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $product_model2['products_id2']) . '">' . $products_model2 . '</a>' ?>
En espérant cogiter correctement alors que j'ai les yeux qui se croisent vu l'heure wacko.gif


--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
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 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc Phoenix
Go to the top of the page
 
nephelion
posté 2 Nov 2011, 00:56
Message #5


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 96
Inscrit : 1-March 05
Lieu : dans les nuages
Membre no 4971



re bonsoir @Bonbec,

rien, toujours vide ;(

mais pourquoi products_id2 ? où doit-il être déclaré ?

du moment où la requête est

Citation
$products_model2_query = tep_db_query("select products_id from " . TABLE_PRODUCTS . " where products_model2 = '" . $products_model2['products_model2']) . "'");


--------------------
osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
Go to the top of the page
 
Bonbec
posté 2 Nov 2011, 01:12
Message #6


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1543
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Re,

Oui bon ben bonbec y cogite mal la nuit angry.gif
Ne pas tenir compte de mes 2 messages dessus, désolé.

Esst-ce que dans le product_info.php, là où il y a des requêtes comprenant p.products_model, ont été ajoutés des p.products_model2, ?


--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
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 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc Phoenix
Go to the top of the page
 
nephelion
posté 2 Nov 2011, 01:16
Message #7


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 96
Inscrit : 1-March 05
Lieu : dans les nuages
Membre no 4971



oui,

Citation
$product_info_query = tep_db_query("select p.products_id, pd.products_name, pd.products_description, p.products_model, p.products_model2,....



sur la fiche produit de product_info.php les 2 modèles s'affichent bien.

c'est le passage de products_id qui coince sad.gif

Ce message a été modifié par nephelion - 2 Nov 2011, 01:20.


--------------------
osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
Go to the top of the page
 
Bonbec
posté 2 Nov 2011, 01:41
Message #8


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1543
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Re,

Donc la valeur de products_model2 se récupère dans $product_info['products_model2']

Ce qui veut dire que dans general.php on doit effectuer une recherche à partir de la valeur de $product_info['products_model2']
Ce qui doit donner :
Code
function tep_get_products_model2($products_model2) {
$products_id2 = tep_get_prid($products_model2);
$products_model2_query = tep_db_query("select products_id from " . TABLE_PRODUCTS . " where products_model2 = '" . $products_id2) . "'");
$product_model2 = tep_db_fetch_array($products_model2_query);
return $product_model2['products_id'];
}


Dans product_info.php
Code
<?php
if (tep_not_null($product_info['products_model2'])) {
?>
<tr>
<td><h2><span class="smallText"><?php echo 'Nouveau modèle : &nbsp;' . $product_info['products_model2']; ?></span></h2></td>
<td align="right" valign="top">
<?php
$id_product_model2 = tep_get_products_model2($product_info['product_model2']);
echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $id_product_model2) . '">' . $product_info['products_model2'] . '</a>' ?>
</td>
</tr>
<?php
}
?>


Ce message a été modifié par Bonbec - 2 Nov 2011, 01:53.


--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
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 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc Phoenix
Go to the top of the page
 
nephelion
posté 2 Nov 2011, 02:07
Message #9


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 96
Inscrit : 1-March 05
Lieu : dans les nuages
Membre no 4971



arf,
cela ne retourne même plus de products_model2 sad.gif


c'est le products_id2 qui me turlupine !

Citation
" where products_model2 = '" . $products_id2 . "'");




Ce message a été modifié par nephelion - 2 Nov 2011, 02:59.


--------------------
osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
Go to the top of the page
 
Bonbec
posté 2 Nov 2011, 02:18
Message #10


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1543
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Re,

J'ai oublié un s à :
$id_product_model2 = tep_get_products_model2($product_info['product_model2']);
cela devrait être :
$id_product_model2 = tep_get_products_model2($product_info['products_model2']);

Pour le products_id2 le nom de variable n'est pas bien choisis, je l'accorde blink.gif

Ce message a été modifié par Bonbec - 2 Nov 2011, 02:23.


--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
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 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc Phoenix
Go to the top of the page
 
nephelion
posté 2 Nov 2011, 02:24
Message #11


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 96
Inscrit : 1-March 05
Lieu : dans les nuages
Membre no 4971



non,
toujours pas mieux ;(


ok va, pour products_id2 smile.gif


je mets ça de côté pour ce soir.
je commence à voir trouble wink.gif
merci beaucoup
bonne nuit à toi @Bonbec.

Ce message a été modifié par nephelion - 2 Nov 2011, 02:25.


--------------------
osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
Go to the top of the page
 
nephelion
posté 2 Nov 2011, 02:47
Message #12


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 96
Inscrit : 1-March 05
Lieu : dans les nuages
Membre no 4971



@Bonbec,

je reviens car entre ce petit s et autre..
le products_model2 s'affiche
et ce qu'il y a de mieux c'est que products_id aussi mais c'est le products_id du produit A et non celui du produit B sad.gif

ce qui veut dire que le products_model2 (produit B) s'affiche avec le products_id de produits A

Ce message a été modifié par nephelion - 2 Nov 2011, 02:49.


--------------------
osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
Go to the top of the page
 
Bonbec
posté 2 Nov 2011, 07:28
Message #13


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1543
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Bonjour nephelion,

Désolé mais le sommeil a été le plus fort wacko.gif

Dans general.php
Code
function tep_get_products_model2($products_model, $products_model2) {
$products_model2_query = tep_db_query("select products_id from " . TABLE_PRODUCTS . " where products_model = '" . $products_model2 .  "'");
$product_model2 = tep_db_fetch_array($products_model2_query);
return $product_model2['products_id'];
}

Par contre je ne comprends pas pourquoi çà ne fonctionne pas en gardant $products_model=tep_get_prid($products_model); et $products_model2=tep_get_prid($products_model2);

Dans product_info.php :
Code
<?php
if (tep_not_null($product_info['products_model2'])) {
?>
<tr>
<td><h2><span class="smallText"><?php echo 'Nouveau modèle : &nbsp;' . $product_info['products_model2']; ?></span></h2></td>
<td align="right" valign="top">
<?php
$id_product_model2 = tep_get_products_model2($product_info['products_model'], $product_info['products_model2']);
echo '<a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $id_product_model2) . '">' . $product_info['products_model2'] . '</a>' ?>
</td>
</tr>
<?php
}


Ce message a été modifié par Bonbec - 2 Nov 2011, 08:51.


--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
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 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc Phoenix
Go to the top of the page
 
nephelion
posté 2 Nov 2011, 09:11
Message #14


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 96
Inscrit : 1-March 05
Lieu : dans les nuages
Membre no 4971



bonjour @Bonbec,

ça marche :! \o/


la nuit n'a pas été trop courte ? smile.gif

j'ai eu juste le temps de voir la version "précédente" qui ne marchait pas car le coup du "products_model is null" me paraissait bizarre et je ne comprenais pas le sens et non plus pourquoi
Citation
$products_model=tep_get_prid($products_model); et $products_model2=tep_get_prid($products_model2);
ne marchait pas .

en tout cas, cela m'a retiré une épine du pied grâce à ton aide car cela fait presqu'une semaine que je bidouillais ;( sur ce point.

et là je vois un peu mieux la démarche.

je te dois un verre et même une bouteille et ce ne sera pas de l'eau de Vichy wink.gif

merci encore



--------------------
osCommerce V2.2 RC1 W3C Valid FR V3 | HeadTags_SEO_V_3.2.4 | Ultimate_SEO_URLs_v22d10
Go to the top of the page
 
Bonbec
posté 2 Nov 2011, 09:49
Message #15


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1543
Inscrit : 30-May 06
Lieu : Vichy (03)
Membre no 10583



Bonjour nephelion,

Si ! à peine 4H de sommeil wacko.gif

J'ai testé au réveil sur mon site en local et j'ai jonglé avec mon code de product_info.php qui n'a presque plus rien à voir avec le code d'origine.
Pour le "is null", il manquait une condition pour que çà marche mais le dernier code donné est plus simple et fonctionne à part les $products_model=tep_get_prid($products_model); et $products_model2=tep_get_prid($products_model2);
(tep_get_prid nettoie ce qui lui est envoyé)

PS1 : ton idée de lien me plait, je vais sans doute l'utiliser aussi pour moi happy.gif
PS2 : je t'envoie un MP


--------------------
Config 1 en live : Osc 2.2 très fortement modifié ... UTF-8 et Php 5.4.
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 | + trop de bidouilles persos pas très OsCommerce (erreurs de jeunesse)
Config 2 en local avec UwAmp : Osc Phoenix
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 : 28th March 2024 - 09:30
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)