Search code examples
expressionengine

How to automatically show Title of the Entries/Articles in the Browser Title Bar in ExpressionEngine 2?


How would I output the title of an entry in ExpressionEngine and display it in the browser's title bar?

Here is the content of my page's header:

<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Test Site</title>
    <link rel="stylesheet" href="{stylesheet=site/site_css}" type="text/css" media="screen" />
</head>

What I need is for each page to display the title of the entry in my browser's title bar — how can I achieve that?


Part of UPDATED Code:

Here is how i have done it :

{exp:channel:entries channel="news_articles" status="open|Featured Top Story|Top Story" limit="1" disable="member_data|trackbacks|pagination"}

{embed="includes/document_header" page_title=" | {title}"}

<body class="home">
<div id="layoutWrapper">
    {embed="includes/masthead_navigation"}
    <div id="content">
        <div id="article">
            <img src="{article_image}" alt="News Article Image" />
            <h4>{title}</h4>
            <h5><span class="by">By</span> {article_author}</h5>
            <p>{entry_date format="%M %d, %Y"} -- Updated {gmt_edit_date format="%M %d, %Y"}</p>                    
            {article_body}    
{/exp:channel:entries}
        </div>

What do you think?


Solution

  • If you want to show just the name of your ExpressionEngine site (as defined in CP Home > Admin > General Configuration) use the site name global variable:

    <title>{site_name}</title>

    If you want to display just the current entry title from a given channel use the following:

    <title>
        {exp:channel:entries channel="channel_name" limit="1" dynamic="yes"}
            {title}
        {/exp:weblog:entries}
    </title>
    

    Many Web Developers will use an Embed Variable with an Embedded Template to pass the `{entry_title} to a global embed template, allowing for a dynamic page title:

    {embed="includes/header" title="{exp:channel:entries channel="{channel_name}"}{title}{/exp:channel:entries}"}
    

    If you're using EE2, the SEO Lite Module takes care of all the hard work for you with a single line of code:

    <html lang="en">
    <head>
        <meta charset="utf-8" />
        {exp:seo_lite url_title="{url_title}"}
    </head>
    

    Other solutions include the Low Title Plugin (EE1, EE2).