Bonjour,
Voila je rencontre un petit problème avec mon code.
j ' ai deux div contiennt beuacoup de code
je veux que lorsque l'utilisateur change la langue en anglais la deuxieme div se place en premier
par exemple
if($url == "en"){
echo "div1";
echo "div2";
}else{
echo "div2";
echo "div1";
}
je ne veux pas de copier les div deux fois car si il y a une modif je l'affecterai 2 fois et cette conditions je l'utilise dans plusieurs endroit dans le site
Merci d' avance
Utilise les flexbox, c'est surtout la propriété "order" qui t'interessera ici.
Suivant la langue choisi par l'utilisateur, tu donnes une valeur de 2 à la propriété order
.
Exemple:
.flexbox { display: flex; justify-content: space-between; }
.flexbox-order-1 { order: 1; }
.flexbox-order-2 { order: 2; }
<div class="flexbox">
<div class="flexbox-order-2">Date</div>
<div class="flexbox-order-1">22 09 16</div>
</div>
Tu verras que la div avec comme texte Date
se trouve bien a droite de la div qui a comme contenu 22 09 16
.
Résultat:
Pour la langue arabe par exemple, ce serait comme suit:
22 09 16 Date
Sinon:
Date 22 09 16
ba c'est simple, il suffit d'utiliser des variables.
$div1 = "div1";
$div2 = "div2";
if ($url == "en") {
echo $div1;
echo $div2;
} else {
echo $div2;
echo $div1;
}
Hello !
Si tu stock tes divs dans deux variables, je vois pas ou est le problème. Après je connais pas la logique de ton code, ni te dire si c'est bien ou pas.
Mais si tu fais ce code si dessous, tu devrais avoir ta div qu'une fois, et répercutée correctement.
$div1 = "div1";
$div2 = "div2";
if($url == "en"){
echo $div1
echo $div2;
}else{
echo $div2;
echo $div1;
}
Edit : Merde, je pars me faire un café, j'ai oublié d'appuyer sur envoyer, et @quenti77 répond avec moi ! Du coup cette solution est la bonne xD
Merci pour l'aide , meme j' ai souhaité une autre solution car il y a pusieurs div que je voulais les déplacer soit des blocs , menu ,colonnes.
Bah dans ce cas la, faut le préciser. Mais je vois pas l'intérêt de changer 40 éléments de place. Si je vais sur une page web en français et qu'elle est totalement différente en anglais, je vois pas l'intérêt.
Normalement un site, il reste identique quelque soit la langue, il n'y a que le texte qui change.
Donc soit tu ne sais pas ce que tu veux vraiment (et ca arrive) soit tu n'exploite pas une bonne solution.
Bah dans ce cas là, plutot que de faire un if/else "dégueulasse" qui change de place 40 divs, fait deux vraies vues séparés :)
Car pour moi (je suis pas spécialiste en design ltr) mais si c'est que pour du texte et quelques boutons (style suivant / précédent) tu peux le changer en CSS / javascript.
Sinon si les deux pages n'ont rien à voir il faut faire de vrai vue propre. C'est plus propre je trouve.
@Kaelyscius je pense que c'est la meiulleur solution,
@quenti77 par exemple j'ai bloc les propriétés à gauche et leurs valeurs à droite ' <HTML lang="ar" dir="rtl"> ' comme float right mais moi je veux en arabe les propriétés à droite et les valeurs à gauche
ça marche merci pour l'aide @PhiSyX et également à @Kaelyscius et @quenti77
juste un petit point concernat les flexbox , ils ne sont pas supporté par les anciennes versions des naviagteurs