vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=252)
-   -   Custom page in UserCP (https://vborg.vbsupport.ru/showthread.php?t=267265)

Christos Teriakis 07-23-2011 07:01 AM

Custom page in UserCP
 
Hello,

I'm trying to build a custom page in the UserCP. I added the menu option in My Settings block, which links to: usercp_classifieds.php?do=myitems.

Now, trying to finish the work, I've added in the file usercp_classifieds.php:
Code:

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

//  DEFINE IMPORTANT CONSTANTS
define('THIS_SCRIPT', 'usercp_classifieds');

//  PRE-CACHE TEMPLATES AND DATA

// get special phrase groups
$phrasegroups = array('user', 'infractionlevel', 'microclassifieds');

// get special data templates from the datastore
$specialtemplates = array(
        'iconcache',
        'noavatarperms',
        'smiliecache',
        'bbcodecache',
);

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

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

//  REQUIRE BACK-END
require_once('./global.php');
require_once(DIR . '/includes/functions_user.php');
require_once(DIR . '/microclassifieds/includes/functions.php');
require_once(DIR . '/includes/class_bootstrap_framework.php');
vB_Bootstrap_Framework::init();

//  START MAIN SCRIPT

if (empty($_REQUEST['do']))
{
  $_REQUEST['do'] = 'myitems';
}

if (empty($vbulletin->userinfo['userid']))
{
  print_no_permission();
}
// set shell template name
$shelltemplatename = 'USERCP_SHELL';
$includecss = array();

// initialise onload event
$onload = '';

// initialise navbar
$navbits = array('usercp.php' . $vbulletin->session->vars['sessionurl_q'] => $vbphrase['user_control_panel']);

//  My Items
if ($_REQUEST['do'] == 'myitems')
{
    $navbits[''] = $vbphrase['microclassifieds_my_items'];
    $mytitle = "Hello World";
    $page_templater = vB_Template::create('microclassifieds_my_items');
    $page_templater->register('mytitle', $mytitle);
}

and the template is:
Code:

<template name="microclassifieds_my_items" templatetype="template" date="1160112327" username="" version="4.0.0">
<![CDATA[
{vb:raw mytitle}
]]></template>

After all, what I'm getting is just a blank page :rolleyes:

Any help will be appreciated.

Thank you
C.T.

micheal332001 07-23-2011 08:08 AM

you missed this part out

print_output($page_templater->render());

Christos Teriakis 07-23-2011 09:07 AM

Quote:

Originally Posted by micheal332001 (Post 2223830)
you missed this part out


print_output($page_templater->render());

hmmm... Thank you but this is semi-working. Shows the content but not adds the USERCP_SHELL.

C.T.

ForumsMods 07-23-2011 09:17 AM

Code:

$navbar = render_navbar_template($navbits);
$templater = vB_Template::create('USERCP_SHELL');
$templater->register_page_templates();
$templater->register('cpnav', $cpnav);
$templater->register('HTML', $page_templater->render());
$templater->register('navbar', $navbar);
$templater->register('navclass', $navclass);
$templater->register('onload', $onload);
$templater->register('pagetitle', $pagetitle);
$templater->register('template_hook', $template_hook);
$templater->register('includecss', $includecss);
$templater->register('includeiecss', $includeiecss);
print_output($templater->render());


Christos Teriakis 07-23-2011 02:44 PM

Quote:

Originally Posted by ForumsMods (Post 2223847)
Code:

$navbar = render_navbar_template($navbits);
$templater = vB_Template::create('USERCP_SHELL');
$templater->register_page_templates();
$templater->register('cpnav', $cpnav);
$templater->register('HTML', $page_templater->render());
$templater->register('navbar', $navbar);
$templater->register('navclass', $navclass);
$templater->register('onload', $onload);
$templater->register('pagetitle', $pagetitle);
$templater->register('template_hook', $template_hook);
$templater->register('includecss', $includecss);
$templater->register('includeiecss', $includeiecss);
print_output($templater->render());


Thank you. It works and it builds the page. The problem is that it disappears any hook content from the left bar. eg doesn't shows inbox and my custom menu.

Any idea?


All times are GMT. The time now is 09:15 AM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01073 seconds
  • Memory Usage 1,731KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (4)bbcode_code_printable
  • (2)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (5)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete