PDA

View Full Version : Custom template title Keywords and description


ctrenks
04-07-2015, 06:41 PM
I have created a custom template that includes a php file to replace VBCMPS on a couple of forums as I was simply using VBCPMS to include 1 file. Everything is going well exept my title / keywords and descriptions are no longer working (over riding)

My php File includes the following



$vbulletin->options['description'] = $get_page[description];
$vbulletin->options['keywords'] = $get_page[keywords];
$vbulletin->options['title']=$get_page[title];



This worked ok with VBCMPS but not with the custom template as follows

{vb:stylevar htmldoctype}
<html xmlns="http://www.w3.org/1999/xhtml" dir="{vb:stylevar textdirection}" lang="{vb:stylevar languagecode}" id="vbulletin_html">
<head>
<title>{vb:raw vboptions.bbtitle} - {vb:raw pagetitle}</title>
{vb:raw headinclude}
{vb:raw headinclude_bottom}
</head>
<body>

{vb:raw header}

{vb:raw navbar}


<div class="blockbody">
<div class="blockrow">
{vb:raw php_include}
</div>
</div>

{vb:raw footer}
</body>
</html>


then my php file that uses the template


<?php

// ####################### SET PHP ENVIRONMENT ###########################
error_reporting(E_ALL & ~E_NOTICE);

// #################### DEFINE IMPORTANT CONSTANTS #######################

define('THIS_SCRIPT', 'cportal');
define('CSRF_PROTECTION', true);
// change this depending on your filename

// ============================================
// Enter the full path to your forum here
// Example: /home/vbadvanced/public_html/forum
// ============================================

$forumpath = '/home/public_html';

// ============================================
// No Further Editing Necessary!
// ============================================

if ($forumpath)
{
if (!is_dir($forumpath))
{
echo 'Invalid forum path specified! Please edit this file and be sure to include the correct path for your $forumpath variable.';
exit;
}

chdir($forumpath);
}

// ################### PRE-CACHE TEMPLATES AND DATA ######################
// get special phrase groups
$phrasegroups = array();

// get special data templates from the datastore
$specialtemplates = array();

// pre-cache templates used by all actions
$globaltemplates = array('TEST',
);

// pre-cache templates used by specific actions
$actiontemplates = array();

// ######################### REQUIRE BACK-END ############################
// if your page is outside of your normal vb forums directory, you should change directories by uncommenting the next line
// chdir ('/path/to/your/forums');
require_once('./global.php');

// ################################################## #####################
// ######################## START MAIN SCRIPT ############################
// ################################################## #####################

//$navbits = construct_navbits(array('' => 'Test Page'));
$navbar = render_navbar_template($navbits);

// ###### YOUR CUSTOM CODE GOES HERE #####
ob_start();

require_once('1-homepagem.php');
$php_include = ob_get_contents();
ob_end_clean();
vB_Template::preRegister('cportal',array('php_incl ude' => $php_include));


// ###### NOW YOUR TEMPLATE IS BEING RENDERED ######

$templater = vB_Template::create('cportal');
$templater->register_page_templates();
$templater->register('navbar', $navbar);
$templater->register('pagetitle', $pagetitle);

print_output($templater->render());

?>


Note that pagetitle works but is appended now by the vbulletin settings -> forum name that I do not want!

Thanks
Chris

--------------- Added 1428447993 at 1428447993 ---------------

Simpley removing meta data from the headinclude via a check on script name I was able to remove from there, then adding

<title>{vb:raw pagetitle}</title>
<meta name="keywords" content="{vb:raw keywords}" />
<meta name="description" content="{vb:raw description}" />

to my template allowed me to simply set
$descriptions =
$keywords=
$pagetitle=

inside my included php file.