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

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> [add-on] panier en fenêtre flottante
kalaiano
posté 28 Nov 2010, 18:25
Message #1


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 57
Inscrit : 22-October 10
Lieu : paris
Membre no 28162



Bonjour Foxp2,
peux tu stp m'aider à faire le popup qui sort quand tu clic sur le panier? c'est dans le site demo qui tu as mis en ligne?


merci

Ce message a été modifié par FoxP2 - 30 Nov 2010, 14:41.
Raison de l'édition : séparation du sujet pour plus de clarté et suppression de citations inutiles


--------------------
‎L'histoire dans sa façade n'est que juste des simple informations. Dans sa profondeur c'est de la recherche et de l'investigation "Ibnou Khaldoun"
التاريخ في ظاهره لا يزيد عن الاخبار وفي باطنه نظر وتحقيق
Traduite par kalaiano

Test en ligne et en local de oscommerce 2.3.1

osCommerce-Online-Merchant-v2.2-FR-RC2a-W3C-valid
Go to the top of the page
 
FoxP2
posté 29 Nov 2010, 17:08
Message #2


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1665
Inscrit : 3-June 09
Membre no 25501



voici la démarche :

ajouter en fin de fichier dans catalog/includes/header.php :
Code
<script type="text/javascript">
$( "#tdb1" ).click(function() {$( "#modal_shopping_cart" ).dialog( "open" );return false;});
</script>
<div id="modal_shopping_cart" title="<?php echo TEXT_MODAL_TITLE; ?>"><?php include(DIR_WS_MODULES . FILENAME_MODAL_SHOPPING_CART); ?></div>

ajouter dans catalog/includes/filenames.php :
Code
define('FILENAME_MODAL_SHOPPING_CART', 'modal_shopping_cart.php');

ajouter dans catalog/includes/languages/english.php :
Code
define('TEXT_MODAL_SEE_ALL', 'See all items');
define('TEXT_MODAL_CLOSE', 'Close');
define('TEXT_MODAL_TITLE', 'your shopping cart :');
define('TEXT_MODAL_CART_EMPTY', 'Your Shopping Cart is empty!');

ajouter dans catalog/includes/languages/french.php :
Code
define('TEXT_MODAL_SEE_ALL', 'voir le panier');
define('TEXT_MODAL_CLOSE', 'Fermer');
define('TEXT_MODAL_TITLE', 'Votre panier en cours :');
define('TEXT_MODAL_CART_EMPTY', 'Votre panier est vide !');

créer le fichier catalog/includes/modules/modal_shopping_cart.php avec le contenu suivant :
Code
<script type="text/javascript">
$(function(){
var targetUrl = "<?php echo tep_href_link(FILENAME_SHOPPING_CART); ?>";
var seeall = "<?php echo TEXT_MODAL_SEE_ALL; ?>";
var cancel = "<?php echo TEXT_MODAL_CLOSE; ?>";
var item_number = "<?php echo $cart->count_contents(); ?>";
var buttonOptions = {};
if(item_number > 0){
  buttonOptions[seeall] = function () {
      $( this ).dialog({ hide:null });
      $( this ).dialog("close");
      window.location.href = targetUrl;
  };
}
  buttonOptions[cancel] = function () {
      $( this ).dialog({ hide:"explode" });
      $( this ).dialog( "close" );    
  };
$( "#modal_shopping_cart" ).dialog({
  autoOpen: false,
  width:500,
  show: "blind",
  modal: true,
  buttons: buttonOptions  
  });      
});
</script>
<?php   if ($cart->count_contents() > 0) { ?>
  <div class="contentText">      
  <?php
    echo tep_draw_form('cart_quantity', tep_href_link(FILENAME_SHOPPING_CART, 'action=update_product'));
    require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_MODAL_SHOPPING_CART);
    $any_out_of_stock = 0;
    $products = $cart->get_products();
    for ($i=0, $n=sizeof($products); $i<$n; $i++) {
// Push all attributes information in an array
      if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) {
        while (list($option, $value) = each($products[$i]['attributes'])) {
          echo tep_draw_hidden_field('id[' . $products[$i]['id'] . '][' . $option . ']', $value);
          $attributes = tep_db_query("select popt.products_options_name, poval.products_options_values_name, pa.options_values_price, pa.price_prefix
                                      from " . TABLE_PRODUCTS_OPTIONS . " popt, " . TABLE_PRODUCTS_OPTIONS_VALUES . " poval, " . TABLE_PRODUCTS_ATTRIBUTES . " pa
                                      where pa.products_id = '" . (int)$products[$i]['id'] . "'
                                       and pa.options_id = '" . (int)$option . "'
                                       and pa.options_id = popt.products_options_id
                                       and pa.options_values_id = '" . (int)$value . "'
                                       and pa.options_values_id = poval.products_options_values_id
                                       and popt.language_id = '" . (int)$languages_id . "'
                                       and poval.language_id = '" . (int)$languages_id . "'");
          $attributes_values = tep_db_fetch_array($attributes);

          $products[$i][$option]['products_options_name'] = $attributes_values['products_options_name'];
          $products[$i][$option]['options_values_id'] = $value;
          $products[$i][$option]['products_options_values_name'] = $attributes_values['products_options_values_name'];
          $products[$i][$option]['options_values_price'] = $attributes_values['options_values_price'];
          $products[$i][$option]['price_prefix'] = $attributes_values['price_prefix'];
        }
      }
    } ?>
    <table border="0" width="100%" cellspacing="0" cellpadding="0">
    <?php
    for ($i=0, $n=sizeof($products); $i<$n; $i++) {
      echo '          <tr>';

      $products_name_modal = '<table border="0" cellspacing="2" cellpadding="2">' .
                       '  <tr>' .
                       '    <td align="center"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '">' . tep_image(DIR_WS_IMAGES . $products[$i]['image'], $products[$i]['name'], SMALL_IMAGE_WIDTH, SMALL_IMAGE_HEIGHT) . '</a></td>' .
                       '    <td valign="top"><a href="' . tep_href_link(FILENAME_PRODUCT_INFO, 'products_id=' . $products[$i]['id']) . '"><b>' . $products[$i]['name'] . '</b></a>';

      if (STOCK_CHECK == 'true') {
        $stock_check = tep_check_stock($products[$i]['id'], $products[$i]['quantity']);
        if (tep_not_null($stock_check)) {
          $any_out_of_stock = 1;

          $products_name_modal .= $stock_check;
        }
      }

      if (isset($products[$i]['attributes']) && is_array($products[$i]['attributes'])) {
        reset($products[$i]['attributes']);
        while (list($option, $value) = each($products[$i]['attributes'])) {
          $products_name_modal .= '<br /><small><i> - ' . $products[$i][$option]['products_options_name'] . ' ' . $products[$i][$option]['products_options_values_name'] . '</i></small>';
        }
      }
      $products_name_modal .= '<br /><br />' . tep_draw_input_field('cart_quantity[]', $products[$i]['quantity'], 'size="4"') . tep_draw_hidden_field('products_id[]', $products[$i]['id']) .'&nbsp;'. tep_draw_button(IMAGE_BUTTON_UPDATE, 'refresh') . '&nbsp;'. tep_draw_button(IMAGE_BUTTON_DELETE, 'trash',tep_href_link(FILENAME_SHOPPING_CART, 'products_id=' . $products[$i]['id'] . '&action=remove_product'));
      
      $products_name_modal .= '    </td>' .
                        '  </tr>' .
                        '</table>';

      echo '        <td valign="top">' . $products_name_modal . '</td>' .
           '        <td align="right" valign="top"><b>' . $currencies->display_price($products[$i]['final_price'], tep_get_tax_rate($products[$i]['tax_class_id']), $products[$i]['quantity']) . '</b></td>' .
           '      </tr>';
    }
?>

    </table>
<br />
    <p align="right"><b><?php echo MODAL_SUB_TITLE_SUB_TOTAL; ?> <?php echo $currencies->format($cart->show_total()); ?></b></p>

<?php
    if ($any_out_of_stock == 1) {
      if (STOCK_ALLOW_CHECKOUT == 'true') {
?>

    <p class="stockWarning" align="center"><?php echo MODAL_OUT_OF_STOCK_CAN_CHECKOUT; ?></p>

<?php
      } else {
?>

    <p class="stockWarning" align="center"><?php echo MODAL_OUT_OF_STOCK_CANT_CHECKOUT; ?></p>

<?php
      }
    }
?>
</form>
    </div>
<?php
  } else {
?>

<div class="contentContainer">
  <div class="contentText">
    <?php echo TEXT_MODAL_CART_EMPTY; ?>
  </div>
</div>

<?php
  }
?>

créer le fichier catalog/includes/languages/english/modal_shopping_cart.php avec le contenu suivant :
Code
<?php
/*
  $Id$

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2007 osCommerce

  Released under the GNU General Public License
*/

define('MODAL_SUB_TITLE_SUB_TOTAL', 'Sub-Total:');

define('MODAL_OUT_OF_STOCK_CANT_CHECKOUT', 'Products marked with ' . STOCK_MARK_PRODUCT_OUT_OF_STOCK . ' dont exist in desired quantity in our stock.<br>Please alter the quantity of products marked with (' . STOCK_MARK_PRODUCT_OUT_OF_STOCK . '), Thank you');
define('MODAL_OUT_OF_STOCK_CAN_CHECKOUT', 'Products marked with ' . STOCK_MARK_PRODUCT_OUT_OF_STOCK . ' dont exist in desired quantity in our stock.<br>You can buy them anyway and check the quantity we have in stock for immediate deliver in the checkout process.');
?>

créer le fichier catalog/includes/languages/french/modal_shopping_cart.php avec le contenu suivant :
Code
<?php
/*
  $Id$

  osCommerce, Open Source E-Commerce Solutions
  http://www.oscommerce.com

  Copyright (c) 2007 osCommerce

  Released under the GNU General Public License
*/

define('MODAL_SUB_TITLE_SUB_TOTAL', 'Sous-Total :');

define('MODAL_OUT_OF_STOCK_CANT_CHECKOUT', 'Les produits marqués ' . STOCK_MARK_PRODUCT_OUT_OF_STOCK . ' ne sont pas en stock dans la quantité désirée.<br />Merci de corriger la quantité des articles marqués (' . STOCK_MARK_PRODUCT_OUT_OF_STOCK . ')');
define('MODAL_OUT_OF_STOCK_CAN_CHECKOUT', 'Les produits marqués avec ' . STOCK_MARK_PRODUCT_OUT_OF_STOCK . ' ne sont pas en stock dans la quantité désirée.<br />Vous pouvez néanmoins les acheter ils vous seront délivrés dès disponibilité.');

?>


terminé.
Go to the top of the page
 
kalaiano
posté 29 Nov 2010, 19:15
Message #3


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 57
Inscrit : 22-October 10
Lieu : paris
Membre no 28162



Merci beaucoup FoxP2.

j'ai du rajouter ceci dans le header.php
Code
<?php require (DIR_WS_LANGUAGES . $language . '/'.FILENAME_MODAL_SHOPPING_CART)?>


parce que ca s'affiche en lettre CAPITALE.

sinon quand je suis dans l'index.php il'y a le panier qui s'affiche systématiquement. sauf erreur de ma part.

merci encore joli travail. je pensais que c’était juste un truc tout simple à faire


--------------------
‎L'histoire dans sa façade n'est que juste des simple informations. Dans sa profondeur c'est de la recherche et de l'investigation "Ibnou Khaldoun"
التاريخ في ظاهره لا يزيد عن الاخبار وفي باطنه نظر وتحقيق
Traduite par kalaiano

Test en ligne et en local de oscommerce 2.3.1

osCommerce-Online-Merchant-v2.2-FR-RC2a-W3C-valid
Go to the top of the page
 
kalaiano
posté 29 Nov 2010, 19:44
Message #4


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 57
Inscrit : 22-October 10
Lieu : paris
Membre no 28162



non je me suis trompé au fait le message qui s'affiche est celui là
Code
MODAL_OUT_OF_STOCK_CAN_CHECKOUT_MODAL
: qui n'est pas definie c'est tout.
je crois bien que celui qui est define est celui là
Code
MODAL_OUT_OF_STOCK_CAN_CHECKOUT

à mois que je me trompe

autrement effectivement quand je suis au niveau de l'index il y a toujours le continue du panier qui s'affiche. là ou j'ai rajouté le code dans le header. par exemple le panier est vide


--------------------
‎L'histoire dans sa façade n'est que juste des simple informations. Dans sa profondeur c'est de la recherche et de l'investigation "Ibnou Khaldoun"
التاريخ في ظاهره لا يزيد عن الاخبار وفي باطنه نظر وتحقيق
Traduite par kalaiano

Test en ligne et en local de oscommerce 2.3.1

osCommerce-Online-Merchant-v2.2-FR-RC2a-W3C-valid
Go to the top of the page
 
FoxP2
posté 29 Nov 2010, 20:01
Message #5


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1665
Inscrit : 3-June 09
Membre no 25501



il est inutile d'appeler le fichier langue, il est déjà inclus dans le module.
si le panier s'affiche en index, tu as sans doute une erreur dans ton DOM.
une adresse sur ton site distant me donnera plus d'infos.

pour tes erreurs de constante, j'ai rectifié le code au dessus.(je faisais des corrections en même temps sur les constantes de shopping_cart)
Go to the top of the page
 
kalaiano
posté 29 Nov 2010, 20:15
Message #6


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 57
Inscrit : 22-October 10
Lieu : paris
Membre no 28162



ok

voici le lien my-medina

je vais voir de mon coté ce que j'ai modifié.


--------------------
‎L'histoire dans sa façade n'est que juste des simple informations. Dans sa profondeur c'est de la recherche et de l'investigation "Ibnou Khaldoun"
التاريخ في ظاهره لا يزيد عن الاخبار وفي باطنه نظر وتحقيق
Traduite par kalaiano

Test en ligne et en local de oscommerce 2.3.1

osCommerce-Online-Merchant-v2.2-FR-RC2a-W3C-valid
Go to the top of the page
 
FoxP2
posté 29 Nov 2010, 20:28
Message #7


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1665
Inscrit : 3-June 09
Membre no 25501



ok, c'est un peu codé en dépit du bon sens.
cet appel de script :
<script type="text/javascript" src="includes/jquery-1.2.6.min.js"></script>
doit être enlevé.
car il y a une erreur javascript dans la console :
Code
Erreur : $("#modal_shopping_cart").dialog is not a function
Fichier Source : http://www.5omsa.tk/index.php
Ligne : 81


normal, oscommerce intègre déjà jquery-1.4.2.min. effet de bord garanti !







Go to the top of the page
 
kalaiano
posté 29 Nov 2010, 20:38
Message #8


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 57
Inscrit : 22-October 10
Lieu : paris
Membre no 28162



merciiiiiiiiiiiiiiiiiiiiiii. tu es un bon vraiment!


je suis sûr je passe une semaine à chercher et je ne la trouve pas! rolleyes.gif


--------------------
‎L'histoire dans sa façade n'est que juste des simple informations. Dans sa profondeur c'est de la recherche et de l'investigation "Ibnou Khaldoun"
التاريخ في ظاهره لا يزيد عن الاخبار وفي باطنه نظر وتحقيق
Traduite par kalaiano

Test en ligne et en local de oscommerce 2.3.1

osCommerce-Online-Merchant-v2.2-FR-RC2a-W3C-valid
Go to the top of the page
 
Gnidhal
posté 29 Nov 2010, 22:16
Message #9


5eme dan OSC
Icône de groupe

Groupe : Administrateur
Messages : 9221
Inscrit : 4-March 03
Lieu : Pau
Membre no 927



Chapeau la grenouille bel exemple à suivre. smile.gif


--------------------
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
 
FoxP2
posté 30 Nov 2010, 14:37
Message #10


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1665
Inscrit : 3-June 09
Membre no 25501



je déplace le sujet dans la section contribution puisque le pack est disponible sur oscommerce.com
Go to the top of the page
 
jri
posté 22 Dec 2011, 13:54
Message #11


Ceinture blanche OSC
Icône de groupe

Groupe : Membres
Messages : 5
Inscrit : 28-May 09
Membre no 25444



bravo et merci pour la contribution,
savez-vous comment faire pour afficher le panier en fenêtre flottante au lieu du panier classique après ajout d'un produit?
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 - 11:20
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)