PostNuke: A Flexible Open Source Content Management System
home | forum | international support | contact us

Plugin Release Database

SetTitle - v1.0

Author: Mark West

PostNuke Version: PostNuke Phoenix .760

Type: pnRender

Description:

Plugin to define the title of a page from within any template




Support Information:

Usage is <!--[settitle title=yourtitle]-->. A template variable may also be used e.g. if you have a template variable $myvar use  <!--[settitle title=$myvar]-->. 



Change Log:


 

1 Comments so far

(Latest comments )

mumuri's Avatar

1. mumuri wrote on Feb 01, 2007 at 03:46 PM

For those, who doesn't want to concat the title

You can do like this in "function.settitle.php"

Code
<?php
/**
 * Smarty function to set the title for a page
 *
 * This plugin is for PostNuke 0.76x only and utilises a hack
 * based on the way the .7x news module works
 *
 * Example
 *
 * <!--[settitle title=$myvar concat_title=true]-->
 *
 * @author       Mark West / edit Mumuri
 * @since        1/05/2006
 * @param        array       $params      All attributes passed to this function from the template
 * @param        object      &$smarty     Reference to the Smarty object
 * @return       null
 */

function smarty_function_settitle($params, &$smarty)
{
    if (!isset($params['title'])) {
        $smarty->trigger_error('settitle: attribute title required');
        return false;
    }

      if( isset($params['title']))
      {   $GLOBALS['info']['title'] = $params['title'];
          if (isset($params['concat_title']) && $params['concat_title'])$GLOBALS['info']['title_concat']=true;
          else  $GLOBALS['info']['title_concat']=false;
      }
    return;
}

?>


and then in "function.title.php" (modules/Xanthia/plugins/function.title.php)
Code
<?php
// $Id: function.title.php 16722 2005-08-27 12:35:10Z  $
// ----------------------------------------------------------------------
// PostNuke Content Management System
// Copyright (C) 2002 by the PostNuke Development Team.
// http://www.postnuke.com/
// ----------------------------------------------------------------------
// Based on:
// PHP-NUKE Web Portal System - http://phpnuke.org/
// Thatware - http://thatware.org/
// ----------------------------------------------------------------------
// LICENSE
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License (GPL)
// as published by the Free Software Foundation; either version 2
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// To read the license please visit http://www.gnu.org/copyleft/gpl.html
// ----------------------------------------------------------------------
/**
 * Xanthia plugin
 *
 * This file is a plugin for Xanthia, the PostNuke implementation of Smarty
 *
 * @package      Xanthia_Templating_Environment
 * @subpackage   Xanthia
 * @version      $Id: function.title.php 16722 2005-08-27 12:35:10Z  $
 * @author       The PostNuke development team
 * @link         http://www.postnuke.com  The PostNuke Home Page
 * @copyright    Copyright (C) 2002 by the PostNuke Development Team
 * @license      http://www.gnu.org/copyleft/gpl.html GNU General Public License
 */


 
/**
 * Smarty function to generate the title for the page
 *
 * Example
 * <!--[title]-->
 *
 * @author       Mark West / edit Mumuri
 * @since        1/02/07
 * @see          function.title.php::smarty_function_title()
 * @param        array       $params      All attributes passed to this function from the template
 * @param        object      &$smarty     Reference to the Smarty object
 * @return       string      the title
 */

function smarty_function_title($params, &$smarty)
{
    extract($params);
    unset($params);

    if (isset($GLOBALS['info']) && is_array($GLOBALS['info'])) {
        // article page output
       if ( isset($GLOBALS['info']['title_concat']) && $GLOBALS['info']['title_concat'])
            { // mumuri
                if($GLOBALS['info']['title']!="")$title = strip_tags($GLOBALS['info']['title']).' - '.pnConfigGetVar('sitename');
                $slogan = pnConfigGetVar('slogan')  ;
                if ($slogan!="")  $title .=' - '.$slogan ;
            } else
            {
                $title = strip_tags($GLOBALS['info']['title']);
            }
       
    } else {
        // all other page output
        $title =  pnConfigGetVar('sitename').' :: '.pnConfigGetVar('slogan');
    }

    if (isset($params['assign'])) {
        $smarty->assign($params['assign'], $title);
    } else {
        return $title;
    }

}

?>


Main Menu

Extensions Database

Documentation

Development

Login





 


 Log in Problems?
 New User? Sign Up!

Donate to PostNuke