2010-11-10 24 views
1

Désolé, peu longue ...En utilisant PHP pour appeler dynamiquement une description <title></title> à une page Web

Je vais avoir du mal à insérer un HTML unique, <title></title> dans une page PHP sur mon site. Je suis un novice quand il s'agit de PHP, donc j'apprécierais grandement toute aide ou des conseils que vous pouvez donner :). Fondamentalement, j'utilise un script PHP pour afficher beaucoup de "widgets" sur mon site. Un visiteur utilise un menu déroulant pour réduire les widgets à un seul widget. Le widget choisi, ainsi que ses attributs uniques, sont ensuite affichés sur une seule page.

Le problème est que les <title></title> sur la page sont tous les mêmes; J'ai besoin d'appeler dynamiquement le <title></title> selon le type de widget qui est affiché, avec les attributs liés au widget. Ainsi, lorsqu'il est affiché à l'utilisateur, la <title></title> de la page devrait ressembler à ceci:

<title>Buy a Blue Widget with Stripes</title> 

L'URL et querystring ressemble actuellement à ceci:

www.foo.com/fooscript.php?widgetType=blu&widgetPattern=stri 

Alors, j'ai besoin d'un appel qui reconnaîtra widgetType=blu fait référence au mot "Bleu", puis insère ce mot dans une partie spécifique de la balise <title></title>. Désolé, c'est un peu long, j'ai cherché cela, mais tout ce que je continue à venir avec des tutoriels WordPress.

Répondre

5
<?php 
if (isset($_GET['widgetType'])) 
{ 
    switch($_GET["widgetType"]) 
    { 
     case "blu": 
      $title = "Blue"; 
      break; 
     default: 
      $title = NULL; 
    } 
} 
?> 

<title><?php if(isset($title)) { echo $title." :: "; } ?> My cool website</title> 

Explication dans le premier commentaire, merci @Smejko

+2

juste pour expliquer - l'instruction switch est un substitue pour plusieurs instructions IF - donc si votre widgetType dans l'URL sera égal à "blu", $ title sera mis à "Blue" ... vous pouvez ajouter un nombre quelconque d'instructions CASE (commence par CASE, e nds avec BREAK;) pour gérer tous les types de widget ... la valeur DEFAULT est là si rien ne sera dans la variable widgetType –

+2

encore une chose ... ajouter cette instruction IF une ligne avant SWITCH pour vérifier si le widgetType est configuré pour empêcher remarque: if (isset ($ _ GET ['widgetType'])) –

+0

Palaus Merci pour votre réponse. C'est parfait, juste ce que je cherchais. J'apprécie vraiment le temps que vous avez passé à créer ceci. J'ai réussi à intégrer le code dans ma page Web et j'ai utilisé plusieurs instructions CASE. Je l'ai également utilisé pour appeler 'widgetType' directement dans le corps de la page, par exemple dans les en-têtes et les descriptions. Beaucoup plus que ce que je m'attendais à faire! – Matt

0
<title>Buy a <?=htmlspecialchars($_GET['widgetType'])?> Widget with Stripes</title> 
+0

Merci pour la suggestion – Matt

0

Matt vous pouvez le changer aussi avec Javascript

<script language="javascript"> 
    document.title = "The new title goes here."; 
</script> 
+0

Merci pour la suggestion – Matt