The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
#1
|
|||
|
|||
sub pages from custom portal.
I have tried posting this question in the appropriate channels without the response so I'm hoping you coders can help.
This should be theoretically simple however I digress I'm not a coder and I can't resolve even a simple concept. The task is to load sub_pages from smedd's portal and I want to do so without having to create additional php pages for each page I want to have. so, basically index.php?page=mypagename. I'm ok with creating a page.php so that I can call out like page.php?do=mypagename etc. I've gone through the API tutorial and while it partially works it uses the forum template not the index.php format. Here is the code for my index.php Code:
<?php /*======================================================================*\ || #################################################################### || || # SmEdD's Portal # || || # ---------------------------------------------------------------- # || || # Copyright ?2006 Stephen "SmEdD" Medd # || || # http://www.smedd.com | stevemedd@gmail.com # || || # This file may not be redistributed in whole or significant part. # || || # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # || || # http://www.vbulletin.com | http://www.vbulletin.com/license.html # || || #################################################################### || \*======================================================================*/ // ####################### SET PHP ENVIRONMENT ########################### error_reporting(E_ALL & ~E_NOTICE); // #################### DEFINE IMPORTANT CONSTANTS ####################### define('THIS_SCRIPT', 'index'); // ################### PRE-CACHE TEMPLATES AND DATA ###################### // get special phrase groups $phrasegroups = array(); // get special data templates from the datastore $specialtemplates = array( 'newscache' ); // pre-cache templates used by all actions $globaltemplates = array( 'smedd_index', 'smedd_newsbits', 'smedd_header', 'smedd_footer' ); $actiontemplates = array(); // ######################### REQUIRE BACK-END ############################ require_once('./global.php'); // ####################################################################### // ######################## START MAIN SCRIPT ############################ // ####################################################################### // ######################### PROCESS NEWS ############################ if (!empty($vbulletin->newscache)) { foreach ($vbulletin->newscache AS $news) { $vbcollapse['collapseobj_newsid'] =& $vbcollapse["collapseobj_newsbit_$news[threadid]"]; $vbcollapse['collapseimg_newsid'] =& $vbcollapse["collapseimg_newsbit_$news[threadid]"]; $show['reply-s'] = true; if ($news['replycount'] == 1) { $show['reply-s'] = false; } $news['time'] = vbdate($vbulletin->options['timeformat'], $news['dateline']); $news['date'] = vbdate($vbulletin->options['dateformat'], $news['dateline'], 1); eval('$newsbits .= "' . fetch_template('smedd_newsbits') . '";'); } // memory saving unset($newscache, $news); } // #################### EVAL GLOBAL TEMPLATES ####################### // Clear the header and footer variables so we can set them again without problems! unset($header, $footer); $vbphrase['powered_by_vbulletin'] = "Home page powered by SmEdD's Portal, Copyright ©2006, Stephen Medd.<br />\n" . $vbphrase['powered_by_vbulletin']; // Output all the templates eval('$header = "' . fetch_template('smedd_header') . '";'); eval('$footer = "' . fetch_template('smedd_footer') . '";'); if ($shownewpm) { eval('$footer .= "' . fetch_template('pm_popup_script') . '";'); } eval('print_output("' . fetch_template('smedd_index') . '");'); ?> Code:
if ($_REQUEST['do'] == 'ventrilo') { eval('print_output("' . fetch_template('page_ventrilo') . '");'); } If possible what I would like to have is a piece of code in the page that would call out custom templates.. I know vbadvanced does this seamlessly but I don't want to run vbadvanced, just syndicate news and add my own content. Can anyone offer a suggestion or 2 to point me in the right direction? If you need, the context of the project is here so you can see what I'm working towards. Kind regards, Ryan |
#2
|
||||
|
||||
You don't say where you added that code - but remember that you can only call print_output once() - once you call that, the page is output and execution ends.
|
#3
|
|||
|
|||
Thanks for responding Paul,
I placed the last bit of code at the end of the page before the final ?> as instructed in the tutorial I read. How do I set the print_out to be dynamic so that I can generate URL's like page.php?do=mypage where mypage is a template. |
#4
|
||||
|
||||
PHP Code:
|
#5
|
|||
|
|||
Thank you dismounted, I'll try that this evenin when I get home. As I plan to add many pages to the site am I correct that I will be adding code for each page like:
Code:
if ($_REQUEST['do'] == 'ventrilo') { eval('print_output("' . fetch_template('page_ventrilo') . '");'); } else { if ($_REQUEST['do'] == 'page1') { eval('print_output("' . fetch_template('page_page1') . '");'); } else { if ($_REQUEST['do'] == 'page2') { eval('print_output("' . fetch_template('page_page2') . '");'); } else { |
#6
|
||||
|
||||
PHP Code:
|
#7
|
|||
|
|||
Use switch as opposed to multiple elseif's I'm pretty sure they work as expected in vB.
http://php.net/switch |
#8
|
|||
|
|||
Thank you Dismounted. For clenliness sake I've actually created a page.php and call the evals from there..
Opserty, what advantage is switch over what has been presented. I looked it over and it looked like I'd need a good sit down and a coffee to apply it. |
#9
|
||||
|
||||
Converted to switches .
PHP Code:
|
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|