views:

40

answers:

1

Is there a way to create a dynamic body id in codeigniter for different pages that converts spaces to dashes?

I have been around forums and search engines but I have no luck.

Here is my code:

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

Here is the output:

<body id="About us">

I want it to be:

<body id="about-us">

let me know Thank you

+2  A: 

Could you explain, perhaps, why you want to do this? If you're trying to get the title of the page in javascript, you can do so easily using document.title. If you want to have a unique ID value, you can either put it in a hidden input box with the id "page_value" or something like that, or you can simply put it in a global javascript variable. If you'd like to pass the id value of the page to the next page in a POST request without using flashdata, you can put it in a hidden input box with name "page_value" or something. If you want to temporarily store data for the next page load in CodeIgniter, you can use CI's flashdata in the sessions class:

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

But, if you do want to give the body a unique id depending on what page it's on (and even though I think this approach is a bit misguided), you will have to look at your template system's insertion methods. You could probably make a secondary title in your template class that takes the title value and strips out whitespace characters and replaces it with dashes. Something like this:

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

        // lowercase and trim
        $str = trim(strtolower($str));
        return $str;
    }
treeface
This answer is correct. One suggestion though would be to use the url segment in place of a modified version of the page title for your body id, assuming you're using that to write CSS styles specific to the about page. The url segment is likely already "about" or something like that anyway, so why not just use that? http://codeigniter.com/user_guide/libraries/uri.html
Marcus