une question sur du php , pourquoi ca ne fonctionne pas ?

Consultez la formation au REFERENCEMENT naturel Google de WebRankInfo / Ranking Metrics

jensaisrien
WRInaute impliqué
WRInaute impliqué
 
Messages: 885
Inscription: 23 Mai 2004

une question sur du php , pourquoi ca ne fonctionne pas ?

Message le Jeu Juin 08, 2006 22:22

Salut,

Je suis confrontée à un probleme sur ma boutique Oscommerce et j'ai besoin de faire un truc qui n'existe pas en contribution et personne ne peut apparemment m'aider sur le forum dOs Commerce.

Serait-il possible à l'un d'entre vous, de lire ce que j'ai fait et me corriger. Mais surtout me dire pourquoi ca ne fonctionne pas.

Mon besoin:
J'offre 2 options de prix pour la livraison.

Prix 1 = Avec assurance
Prix 2 = SANS assurance.
Par default, le bouton coché est celui AVEC assurance.

Ce que je souhaite faire, c'est si le client change l'option pour quand meme prendre la livraison sans assurance, qu'un popup s'ouvre avec un message dedans pour qu'il soit bien contient des risques qu'il prend.

Ce que j'ai fait,

J'ai créé un fichier popup.php
Puis dans ma page de checkout-shipping.php sous le code
Code: Tout sélectionner
// Ca c'est le code pour que le prix avec assurance soit séléctionné par default
if ( !tep_session_is_registered('shipping') || ( tep_session_is_registered('shipping') && ($shipping == false) && (tep_count_shipping_modules() > 1) ) )
{
$shipping = $shipping_modules->shipping_default('chronopost');
}

// Si je mets zones a la place de chronopost alors c'est mon tarif sans assurance qui est sélectionné par défault.


// Ce que j'ai ajouté ensuite pour mon popup
if ($shipping == 'zones')
{
require(DIR_WS_INCLUDES . 'popup.php');
}


// et la fin
require(DIR_WS_LANGUAGES . $language . '/' . FILENAME_CHECKOUT_SHIPPING);

  $breadcrumb->add(NAVBAR_TITLE_1, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));
  $breadcrumb->add(NAVBAR_TITLE_2, tep_href_link(FILENAME_CHECKOUT_SHIPPING, '', 'SSL'));

  $content = CONTENT_CHECKOUT_SHIPPING;
  $javascript = $content . '.js';

  require(DIR_WS_TEMPLATES . TEMPLATE_NAME . '/' . TEMPLATENAME_MAIN_PAGE);

  require(DIR_WS_INCLUDES . 'application_bottom.php');


Alors ca doit sse voir que je suis completement nulle mais j'aimerai savoir et comprendre pourquoi mon popup ne fonctionne pas

Si quelqu'un peut me guider un peu ce serait super a vous!


Merci d'avance :wink:


rolriam
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 363
Inscription: 15 Juin 2005

Message le Jeu Juin 08, 2006 23:28

Salut,

qu'est-ce qui ne fonctionne pas exactement ?

jensaisrien
WRInaute impliqué
WRInaute impliqué
 
Messages: 885
Inscription: 23 Mai 2004

Message le Jeu Juin 08, 2006 23:30

salut,

Merci pour ton interet!

Et bien le pop up ne s'affiche pas.

Je viens de supprimer le code que j'ai mis dans le pop up pour avoir la taille. Mais je crois que ca vient surtout de checkout-shipping !

Merci d'avance


rolriam
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 363
Inscription: 15 Juin 2005

Message le Jeu Juin 08, 2006 23:35

Il faudrait avoir le code javascript et/ou html qui fait en sorte que le pop-up s'affiche...

jensaisrien
WRInaute impliqué
WRInaute impliqué
 
Messages: 885
Inscription: 23 Mai 2004

Message le Ven Juin 09, 2006 1:19

J'ai fait un test hors Os commerce avec une page : mapage.php et popup.php et cela marche bien.
Sauf que ce n'est pas cela que j'ai besoin car ce n'est pas dans la page elle meme et si le visiteur a un antipop up ca ne sert à rien, le message d'alerte ne sera pas vu.

Je cherche une espece de rectangle qui fassce une alerte, un peu comme les carrés gris windows d'alerte ou il y a le message d'erreur grace à un Onclic ou quelque chose du genre.

Ou alors un peu comme la:
http://www1.france-jeunes.net/
Il y a une fenetre interieure mais il me la faut uniquement lorsque la personne change le mode de transport.

Je pense que c'est bien plus complexe que ce que j'imaginais :oops:


The ghost
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 28
Inscription: 9 Juin 2006

Message le Ven Juin 09, 2006 2:47

Bonjour,

Pourquoi pas :
Code: Tout sélectionner
// Ce que j'ai ajouté ensuite pour mon popup
if ($shipping == 'zones')
{
echo '<div id="danger">';
echo '<p>'.Ton texte.'</p>';
echo '</div>;
}


Avec un div dans le css, position: absolute, background : ....

Je sais qu'un div dans un tableau c'est pas top mais en absolute .... Ca passe des fois.

Cordialement

jensaisrien
WRInaute impliqué
WRInaute impliqué
 
Messages: 885
Inscription: 23 Mai 2004

Message le Ven Juin 09, 2006 3:13

The ghost a écrit:Bonjour,


Code: Tout sélectionner
// Ce que j'ai ajouté ensuite pour mon popup
if ($shipping == 'zones')
{
echo '<div id="danger">';
echo '<p>'.Ton texte.'</p>';
echo '</div>';
}


Avec un div dans le css, position: absolute, background : ....

Je sais qu'un div dans un tableau c'est pas top mais en absolute .... Ca passe des fois.

Cordialement

Salut,

Merci pour ton aide mais je ne comprends pas bien. J'ai testé et cela me donne une parse error sur la ligne de "danger" mais j'aimerai bien plus ta solution a ce que je suis en train d'essayer car avec le css, je pourrais en plus mettre aux couleurs et ce serait super :D

J'ai essayé cela avant de voir ta réponse:
Code: Tout sélectionner
if ($shipping == 'zones')
{
echo '<SCRIPT language="Javascript">
<!--
alert("Attention, Sans assurance vous comprenez que General Market n\'est pas responsable des pertes !!!");

// -->

</SCRIPT>';


Mais ca ne change rien, pas de message d'alerte qui s'ouvre. je pense qu'en fait le probleme vient surement a ce niveau:

Code: Tout sélectionner
if ($shipping == 'zones')

Je pense que ce n'est pas écrit correctement mais je ne sais plus quoi essayer. :(


The ghost
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 28
Inscription: 9 Juin 2006

Message le Ven Juin 09, 2006 8:10

Bonjour,

Essaye comme ça , ce sera sûrement mieux :oops:

Code: Tout sélectionner
// Ce que j'ai ajouté ensuite pour mon popup
if ($shipping == 'zones')
{
echo '<div id="danger">';
echo '<p>'.'Attention, Sans assurance vous comprenez que General Market n\'est pas responsable des pertes !!!.'.</p>';
echo '</div>';
}


dans le Css :
Code: Tout sélectionner
#danger
{
position: absolute;
top: 200px;
right: 300px;
margin: 0;
padding: 0px;
background-color: #fbebdb;
width: 100px;
height: 25px;
border: 2px solid #7a9d59;
text-align: center;
}


Par exemple. Le code n'est pas testé.

Cordialement.


HawkEye
WRInaute accro
WRInaute accro
 
Messages: 17013
Inscription: 23 Fév 2004

Message le Ven Juin 09, 2006 9:33

Pour que ce qui est là dessus fonctionne, il faut que la page soit rechargée non ???

>> Pourquoi pas un simple javascript en "onclick" ?


The ghost
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 28
Inscription: 9 Juin 2006

Message le Ven Juin 09, 2006 11:56

Et oui il faut recharger la page ou plutôt placer ce code dans la suivante (mieux !) , le javascript devrait également fonctionner mais il faudrait changer je pense le formulaire de choix pour pouvoir l'intégrer donc renter un peu plus dans le code ce qui est faisable mais pas en 5mn ! Et puis il la fameuse possibilité qu'a le visiteur de désactiver cette fonction (rajouter liens d'évitement ...)

jensaisrien
WRInaute impliqué
WRInaute impliqué
 
Messages: 885
Inscription: 23 Mai 2004

Message le Ven Juin 09, 2006 16:48

Merci beaucoup pour vos réponses.

Je suis obligée d'attendre un peu pour tester cela directement qu'il n'y est personne en ligne (23h00 environ).

En attendant, je vais le tester comme cela pour le comprendre.

Je vous tiens informés dés que j'ai pu le faire.

Pour le java, oui j'y avais pensé aussi s'il est désactivé, la personne ne verra pas non plus, comme les pop up avec les antipopup mais je crois qu'il y a plus de personne qui ont un anti popup que ceux qui désactivent le java.

enfin, je suis un peu sur une terre inconnue mais ca me plait beaucoup! :D

Merci pour votre aide

A tout a l'heure

jensaisrien
WRInaute impliqué
WRInaute impliqué
 
Messages: 885
Inscription: 23 Mai 2004

Message le Ven Juin 09, 2006 23:29

j'ai presque fini !

Pour le moment , sur des feuilles blanches et feuille de style neuve. Ca fonctionne bien. J'ai donc modifié les couleurs, l'emplacement et le texte.

sinon, je me suis apercue, que je collais le code dans la mauvaise page . Je suis en train de faire des tests mais ca ne s'affiche pas encore au bon moment .

Voila je continue et je vous dis comment j'y arrive en esperant pouvoir finir toute seule.

Merci encore!!!!


rolriam
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 363
Inscription: 15 Juin 2005

Message le Sam Juin 10, 2006 2:52

Super ;)

jensaisrien
WRInaute impliqué
WRInaute impliqué
 
Messages: 885
Inscription: 23 Mai 2004

Message le Sam Juin 10, 2006 4:06

Finalement y a un truc que je ne comprends pas.

Ca ne s'affiche pas au moment du clic et ca ne prend plus l'effet DIV:

Voici ce que j'ai écrit:

Code: Tout sélectionner
<?php// set the radio button to be checked if it is the method chosen
            $checked = (($quotes[$i]['id'] . '_' . $quotes[$i]['methods'][$j]['id'] == $shipping['id']) ? true : false);

            if ( ($checked == true) || ($n == 1 && $n2 == 1) ) {
              echo '                  <tr id="defaultSelected" class="moduleRowSelected" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')">' . "\n";
            } else {
             
           echo '                  <tr class="moduleRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')" >' . "\n";
            echo '<div class="danger">';
            echo '<p>'.'<strong>***Attention***</strong> <br>Sans assurance vous comprenez que General Market n\'est pas responsable des pertes !!!. <br> <strong>Vivez Assuré et Rassuré</strong>'.'</p>';
            echo '</div>';
          }?>


Et voici ce que cela donne en image:

Image


The ghost
Nouveau WRInaute
Nouveau WRInaute
 
Messages: 28
Inscription: 9 Juin 2006

Message le Sam Juin 10, 2006 16:03

Tu as un conflit entre deux class
Code: Tout sélectionner
         echo '                  <tr class="moduleRow" onmouseover="rowOverEffect(this)" onmouseout="rowOutEffect(this)" onclick="selectRowEffect(this, ' . $radio_buttons . ')" >' . "\n";
            echo '<div class="danger">';
            echo '<p>'.'<strong>***Attention***</strong> <br>Sans assurance vous comprenez que General Market n\'est pas responsable des pertes !!!. <br> <strong>Vivez Assuré et Rassuré</strong>'.'</p>';
            echo '</div>';
          }?>


Modifie ta class moduleRow en y integrant les valeurs de la class danger et ça devrait le faire

une question sur du php , pourquoi ca ne fonctionne pas ?

Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Formation recommandée sur ce thème :

Formation REFERENCEMENT naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités