Page 1 sur 1

Concaténation de variables

Posté : 30 avr. 2009, 15:06
par Merlinwp
Bonjour,

J'essaie de développer un code pour un Cms.

J'ai tapé :

Code : Tout sélectionner

<link rel="stylesheet" href="<?php echo bloginfo('template_directory'); ?>/<?php echo $abc_stylesheet; ?>/<?php echo 'style.css'; ?>" type="text/css" media="screen" />
$abc_stylesheet est une variable issue d'une table.

Mais n'y aurait-il pas un moyen de concaténer ces données pour être plus "propre" selon vous ? Je cherche depuis deux heures, et je trouve que mon code n'est pas très intelligent.

Merci pour votre aide. :)

Merlin

Re: Concaténation de variables

Posté : 30 avr. 2009, 15:15
par thehawk
Bonjour,

J'essaie de développer un code pour un Cms.

J'ai tapé :

Code : Tout sélectionner

<link rel="stylesheet" href="<?php echo bloginfo('template_directory'); ?>/<?php echo $abc_stylesheet; ?>/<?php echo 'style.css'; ?>" type="text/css" media="screen" />
$abc_stylesheet est une variable issue d'une table.

Mais n'y aurait-il pas un moyen de concaténer ces données pour être plus "propre" selon vous ? Je cherche depuis deux heures, et je trouve que mon code n'est pas très intelligent.

Merci pour votre aide. :)

Merlin
<?php echo '<link rel="stylesheet" href="'.bloginfo('template_directory').'/'.$abc_stylesheet.'style.css type="text/css" media="screen" />';
je serais tenter de dire ca :)

Re: Concaténation de variables

Posté : 30 avr. 2009, 15:34
par Yosh
<?php echo '<link rel="stylesheet" href="'.bloginfo('template_directory').'/'.$abc_stylesheet.'/style.css type="text/css" media="screen" />';
Vi mais tu a oublié le / devant le style.css, enfin il me semble.

Posté : 30 avr. 2009, 16:13
par Merlinwp
Merci, Messieurs :)

Résolu, je pense !

Grâce à vos conseils aussi rapides qu'avisés, je suis arrivé à :
<link rel="stylesheet" href="<?php echo bloginfo('template_directory').'/'.$abc_stylesheet.'/style.css'; ?>" type="text/css" media="screen" />
Bien cordialement,

Merlin

Posté : 30 avr. 2009, 17:10
par Nagol
ta manière initiale est globalement équivalente ceci-dit
<?php echo '<link rel="stylesheet" href="'.bloginfo('template_directory').'/'.$abc_stylesheet.'style.css type="text/css" media="screen" />';
est moins bien que
<?php echo '<link rel="stylesheet" href="',bloginfo('template_directory'),'/',$abc_stylesheet,'style.css type="text/css" media="screen" />';
si on veut chipoter :)

Posté : 30 avr. 2009, 17:49
par Merlinwp
Merci ô grand Maître !

Mais que viennent faire les virgules dans le code ? Je n'avais jamais rien lu là-desus... Si tu pouvais me renseigner...

Comme tu semble insister, petit bilan des essais...

1. Question initiale
<link rel="stylesheet" href="<?php echo bloginfo('template_directory'); ?>/<?php echo $abc_stylesheet; ?>/<?php echo 'style.css'; ?>" type="text/css" media="screen" />
affiche...

Code : Tout sélectionner

<link rel="stylesheet" href="http://www.site.com/wp-content/themes/news/news_white/style.css" type="text/css" media="screen" />
2. Suggestion de thehawk
<?php echo '<link rel="stylesheet" href="'.bloginfo('template_directory').'/'.$abc_stylesheet.'style.css type="text/css" media="screen" />'; 
affiche...

Code : Tout sélectionner

http://www.site.com/wp-content/themes/news<link rel="stylesheet" href="/news_whitestyle.css type="text/css" media="screen" />
3. Suggestion de Yosh
<?php echo '<link rel="stylesheet" href="'.bloginfo('template_directory').'/'.$abc_stylesheet.'/style.css type="text/css" media="screen" />'; ?>
affiche...

Code : Tout sélectionner

http://www.site.com/wp-content/themes/news<link rel="stylesheet" href="/news_white/style.css type="text/css" media="screen" />
4. Ma suggestion
<link rel="stylesheet" href="<?php echo bloginfo('template_directory').'/'.$abc_stylesheet.'/style.css'; ?>" type="text/css" media="screen" />
affiche...

Code : Tout sélectionner

<link rel="stylesheet" href="http://www.site.com/wp-content/themes/news/news_white/style.css" type="text/css" media="screen" />
5. Ta suggestion, Nagol
<?php echo '<link rel="stylesheet" href="',bloginfo('template_directory'),'/',$abc_stylesheet,'style.css" type="text/css" media="screen" />'; ?>
affiche...

Code : Tout sélectionner

<link rel="stylesheet" href="http://www.iptima.com/wp-content/themes/news/news_white/style.css" type="text/css" media="screen" />
Voilà pour être exhaustif !!! :)

Mais pourquoi 5 serait préférable à 4 (puisque 2 et 3 ne fonctionnent pas, mais ils m'ont mené sur la piste) ? Parce qu'on ne concatène pas les données ???

Merci de répondre à ma curiosité.

Merlin

Posté : 30 avr. 2009, 17:55
par thehawk
Je suis egalement interressé par le code de Nagol avec les vigules :oops:

Posté : 30 avr. 2009, 18:06
par Berzemus
Il vous suffit de bien lire la documentation d'echo() ... :wink:

Posté : 30 avr. 2009, 18:15
par Merlinwp
echo 'trop ', 'fort ', 'pour ', 'moi ', 'je débute.', chr(10);
Cordialement,

Merlin

Posté : 30 avr. 2009, 18:28
par Yosh
ta manière initiale est globalement équivalente ceci-dit
<?php echo '<link rel="stylesheet" href="'.bloginfo('template_directory').'/'.$abc_stylesheet.'style.css type="text/css" media="screen" />';
est moins bien que
<?php echo '<link rel="stylesheet" href="',bloginfo('template_directory'),'/',$abc_stylesheet,'style.css type="text/css" media="screen" />';
si on veut chipoter :)
Excellent, 5 ans que je code du PHP et j'avais jamais lu la doc de echo ^^

Merci Nagol

Posté : 30 avr. 2009, 22:01
par sadeq
Je tiens à ajouter ma plume au palmarès :
<?php 
echo sprintf('<link rel="stylesheet" href="%s/%s/style.css" type="text/css" media="screen" />', bloginfo('template_directory'), $abc_stylesheet); 
?>

Posté : 01 mai 2009, 10:58
par Merlinwp
Merci Sadeq,

Avec toutes ces propositions, j'ai le "choix du roi" ! :)

Bien à toi,

Merlin