【问题标题】: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;
        }
    

    【讨论】:

    • 这个答案是正确的。一个建议是使用 url 段来代替您的 body id 的页面标题的修改版本,假设您使用它来编写特定于 about 页面的 CSS 样式。 url 段很可能已经是“关于”或类似的东西,所以为什么不直接使用它呢? codeigniter.com/user_guide/libraries/uri.html
    猜你喜欢
    • 2014-02-25
    • 2012-02-05
    • 1970-01-01
    • 2020-05-14
    • 2016-07-22
    • 1970-01-01
    • 2021-01-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多