【问题标题】:Creating a body ID in CodeIgniter在 CodeIgniter 中创建一个 body ID
【发布时间】:2010-10-05 14:39:08
【问题描述】:
有没有办法在 codeigniter 中为不同的页面创建一个动态的 body id,将空格转换为破折号?
我一直在论坛和搜索引擎附近,但我没有运气。
这是我的代码:
<body id="{$template.title}">
这是输出:
<body id="About us">
我希望它是:
<body id="about-us">
告诉我谢谢
【问题讨论】:
标签:
php
codeigniter
url
permalinks
【解决方案1】:
您能否解释一下,您为什么要这样做?如果您尝试在 javascript 中获取页面标题,您可以使用 document.title 轻松完成。如果你想有一个唯一的 ID 值,你可以把它放在一个隐藏的输入框中,ID 为“page_value”或类似的东西,或者你可以简单地将它放在一个全局 javascript 变量中。如果您想在 POST 请求中将页面的 id 值传递到下一页而不使用 flashdata,您可以将其放在名称为“page_value”或其他名称的隐藏输入框中。如果你想在 CodeIgniter 中临时存储下一个页面加载的数据,你可以在 session 类中使用 CI 的 flashdata:
http://codeigniter.com/user_guide/libraries/sessions.html
但是,如果您确实想根据它所在的页面为正文赋予一个唯一的 id(尽管我认为这种方法有点误导),您将不得不查看您的模板系统的插入方法。您可能可以在模板类中创建一个辅助标题,它采用标题值并去除空白字符并用破折号替换它。像这样的:
function stringURLSafe($string)
{
//remove any ' ' from the string and replace with '-'
$str = str_replace(' ', '-', $string);
// lowercase and trim
$str = trim(strtolower($str));
return $str;
}