Pan Posté 13 Août 2006 Posté 13 Août 2006 Bonjour, J'installe actuellement un site avec oscommerce et je voudrais savoir comment faire pour éviter d'afficher les images des articles dans une pop up. Ce que je voudrais c'est pouvoir l'afficher dans la page elle même . Existe-t-il une contrib ? Merci pour vos conseils Pan
ghost Posté 13 Août 2006 Posté 13 Août 2006 (modifié) Bonjour, Pour faire simple, tu recherches (ligne 100) du fichier product_info.php les lignes suivantes: ?> <table border="0" cellspacing="0" cellpadding="2" align="right"> <tr> <td align="center" class="smallText"><script language="javascript"><!--document.write('<?php echo '<a href="java script:popupWindow(\\\'' . tep_href_link(FILENAME_POPUP_IMAGE, 'pID=' . $product_info['products_id']) . '\\\')">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], addslashes($product_info['products_name']), SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?>');//--></script><noscript><?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?></noscript> </td> </tr> </table><?php Tu supprimes l'appel du script java, et les balises <noscript> et </noscript>(plus d'appel de script popup et le code de substitution en cas de javascript désactivé devient le code par défaut) Ce qui donne ?> <table border="0" cellspacing="0" cellpadding="2" align="right"> <tr> <td align="center" class="smallText"><?php echo '<a href="' . tep_href_link(DIR_WS_IMAGES . $product_info['products_image']) . '" target="_blank">' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>'; ?> </td> </tr> </table><?php Tu peux fignoler en supprimant le définition du script dans le head et le fichier popup_image.php (faire une sauvegarde) et tu auras une nouvelle page toute neuve d'ouverte ... Oups !! après relecture de ton post, il me semble que tu veux l'afficher dans la zone centrale de ta page en cours !!! C'est faisable mais c'est une histoire un peu plus complexe ... et il faudra vraiment mettre le nez dans le code ... A moins qu'il y ait une contribution, ça je ne sais, désolé. Modifié 13 Août 2006 par ghost
ghost Posté 14 Août 2006 Posté 14 Août 2006 (modifié) Re, Ca c'est quand on a pas trop envie de faire ce que l'on doit faire alors au lieu de regarder les moustiques se coller à mon écran et après refexion, ça n'avait pas l'air si compliqué que ça alors si ça te convient Modifie product_info.php au même endroit comme post précedent mais remplace le code par celui ci : <?php if (tep_not_null($product_info['products_image'])) {?> <table border="0" cellspacing="0" cellpadding="2" align="right"> <tr> <td align="center" class="smallText"><?phpif (isset($_GET['affiche']))// on vérifie que $_get existe (on devrait vérifier aussi quelle soit = à oui !!){ // si oui on récupère les données du produit dans la table $products_query = tep_db_query("select pd.products_name, p.products_image from " . TABLE_PRODUCTS . " p left join " . TABLE_PRODUCTS_DESCRIPTION . " pd on p.products_id = pd.products_id where p.products_status = '1' and p.products_id = '".(int)$HTTP_GET_VARS['products_id']."' and pd.language_id = '" . (int)$languages_id . "'"); $products = tep_db_fetch_array($products_query);echo tep_image(DIR_WS_IMAGES . $products['products_image'], $products['products_name']);// on les afficheecho '<a href="product_info.php?products_id='.$HTTP_GET_VARS['products_id'].'"> retour</a>';// un petit lien pour le retour et on recharge la page}else{// si non, on affiche les données normales avec en cas de click sur agrandir un passage de la variable $_get[affiche] dans l'url et on recharge la page, on repasse aussi le product_id du produit.echo '<a href="product_info.php?products_id='.$HTTP_GET_VARS['products_id'].'&affiche=oui"' . tep_image(DIR_WS_IMAGES . $product_info['products_image'], $product_info['products_name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT, 'hspace="5" vspace="5"') . '<br>' . TEXT_CLICK_TO_ENLARGE . '</a>';}?> </td> </tr> </table><?php }?> <p><?php echo stripslashes($product_info['products_description']); ?></p><?php C'est brut de décoffrage et à peine testé, sur une maquette en local chez moi ça tourne, il reste à vérifier tout ça !! C'est peut être pas le plus conventionnel mais ça a le mérite de ne pas refaire des km de code. Bon courage. Modifié 14 Août 2006 par ghost
Pan Posté 14 Août 2006 Auteur Posté 14 Août 2006 Excellent ! Le seul souci est le suivant : Quand tu es dans la liste des articles (rubrique), si tu clique sur un article, à ce moment la vignette disparait mais il reste le lien "cliquer pour agrandir" => si on clique sur le lien à ce moment là... tadannn .... on arrive sur la page avec l'article en grand Peut-on supprimer l'étape où l'on va faire apparaitre la petite image ? En tout cas si on peu améliorer ça c'est top !
ghost Posté 14 Août 2006 Posté 14 Août 2006 Bonjour, Je viens de tester chez moi, je n'ai pas ce problème. Regardes si tu as bien inséré le code mais à priori le lien et la photo de l'article ne sont pas dissociés dans le code et c'est d'ailleurs le seul "morceau identique " à l'original. J'y pense, ma version est une MS2 de base sans contribution peut être que ... Sinon tu me donnes un mail en MP et je t'envoie mon fichier product_info Bon courage
Pan Posté 14 Août 2006 Auteur Posté 14 Août 2006 C'est vrai que j'ai installé seo url Ok mon mail par mp A+
Sujets conseillés
Veuillez vous connecter pour commenter
Vous pourrez laisser un commentaire après vous êtes connecté.
Connectez-vous maintenant