2010-10-05 3 views
1

Existe-t-il un moyen de créer un ID de corps dynamique dans codeigniter pour différentes pages qui convertit des espaces en tirets?Création d'un ID de corps dans CodeIgniter

J'ai été autour des forums et des moteurs de recherche, mais je n'ai pas de chance.

Voici mon code:

<body id="{$template.title}"> 

est ici la sortie:

<body id="About us"> 

Je veux que ce soit:

<body id="about-us"> 

laissez-moi savoir Merci

Répondre

2

Pourriez-vous expliquer, peut-être, pourquoi vous voulez faire cela? Si vous essayez d'obtenir le titre de la page en javascript, vous pouvez le faire facilement en utilisant document.title. Si vous voulez avoir une valeur d'identifiant unique, vous pouvez soit le mettre dans une boîte de saisie cachée avec l'identifiant "page_value" ou quelque chose comme ça, ou vous pouvez simplement le mettre dans une variable javascript globale. Si vous souhaitez passer la valeur d'id de la page à la page suivante dans une requête POST sans utiliser flashdata, vous pouvez le placer dans une zone de saisie masquée avec le nom "page_value" ou quelque chose. Si vous souhaitez stocker temporairement des données pour la prochaine chargement de la page dans CodeIgniter, vous pouvez utiliser flashdata de CI dans la classe sessions:

http://codeigniter.com/user_guide/libraries/sessions.html

Mais, si vous ne voulez donner au corps un identifiant unique en fonction de ce que page c'est sur (et même si je pense que cette approche est un peu erronée), vous devrez regarder les méthodes d'insertion de votre système de template. Vous pouvez probablement créer un titre secondaire dans votre classe de modèle qui prend la valeur du titre et supprime les caractères blancs et les remplace par des tirets. Quelque chose comme ceci:

function stringURLSafe($string) 
    { 
     //remove any ' ' from the string and replace with '-' 
     $str = str_replace(' ', '-', $string); 

     // lowercase and trim 
     $str = trim(strtolower($str)); 
     return $str; 
    } 
+1

Cette réponse est correcte. Une suggestion serait cependant d'utiliser le segment d'URL à la place d'une version modifiée du titre de la page pour votre ID de corps, en supposant que vous l'utilisiez pour écrire des styles CSS spécifiques à la page about. Le segment url est probablement déjà "sur" ou quelque chose comme ça de toute façon, alors pourquoi ne pas l'utiliser? http://codeigniter.com/user_guide/libraries/uri.html – Marcus

Questions connexes