vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   How do I insert a template through a plugin (https://vborg.vbsupport.ru/showthread.php?t=220208)

Omar Al-Ansari 08-05-2009 02:26 AM

How do I insert a template through a plugin
 
Hi All,

Just a brief about me, I have no coding background whatsoever and I am trying to learn where I am trying to just do simple stuff.

I am working on this plugin which I am trying to add in $adv_portal and here is my problem

$adv_portal - is the template where I want $adv_portal_rotating_articles to be inserted and this is the full content of it
Code:

$stylevar[htmldoctype]
<html dir="$stylevar[textdirection]" lang="$stylevar[languagecode]" xmlns="http://www.w3.org/1999/xhtml">
<head>
<if condition="$pages['name'] == 'home'">
    <meta http-equiv="Cache-Control" content="no-cache" />
    <meta http-equiv="Pragma" content="no-cache" />
    <meta http-equiv="Expires" content="0" />
</if>

<title>$vboptions[hometitle] <if condition="$pagetitle">- $pagetitle</if></title>

$headinclude

</head>
<body>

$header

$navbar

<if condition="$show['customizepagelink']">
    <div align="$stylevar[right]" style="padding-top: $stylevar[cellpadding]px; padding-bottom: $stylevar[cellpadding]px">
        <if condition="$show['customizepage']">
            [<a href="javascript: reset_cmps_layout($pages[pageid])">$vbphrase[reset_layout]</a>]
            [<a href="$show[customizepagelink]">$vbphrase[exit_customization_mode]</a>]
        <else />
            [<a href="$show[customizepagelink]">$vbphrase[customize_this_page]</a>]
        </if>
    </div>
</if>

<table align="center" class="page" cellspacing="0" cellpadding="0" width="100%">
    <tr valign="top">
        <if condition="$show['left_column']">
            <td width="$vba_style[portal_leftcolwidth]"<if condition="$show['center_column'] OR $show['right_column']"> style="padding-$stylevar[right]: $vba_style[portal_colspacing]px"</if>>
                $home[leftblocks]
            </td>
        </if>
        <if condition="$show['center_column']">
            <td valign="top">
                $home[centerblocks]
            </td>
        </if>
        <if condition="$show['right_column']">
            <td valign="top" width="$vba_style[portal_rightcolwidth]"<if condition="$show['center_column'] OR $show['left_column']"> style="padding-$stylevar[left]: $vba_style[portal_colspacing]px"</if>>
                $home[rightblocks]
            </td>
        </if>
    </tr>
</table>

$footer

</body>
</html>

$adv_portal_rotating_articles - is the template I have created and would like to insert within $adv_portal

The plugin is as follows

Product: vBulletin
Hook Location: vba_cmps_print_output // which I have tested with debug and I got positive results
Code:

$find = '<table align="center" class="page" cellspacing="0" cellpadding="0" width="100%">';

$replace = $adv_portal_rotating_articles;

$adv_portal = str_replace($find, $replace . $find, $adv_portal_rotating_articles);

I think there is something wrong with the PHP code but I can't figure it out !

I would appreciate the help

Regards,
Omar

valdet 08-05-2009 05:08 AM

For including your custom template you will need two plugins.

This article should help

https://vborg.vbsupport.ru/showthread.php?t=119933

Omar Al-Ansari 08-05-2009 06:45 AM

Quote:

Originally Posted by valdet (Post 1861630)
For including your custom template you will need two plugins.

This article should help

https://vborg.vbsupport.ru/showthread.php?t=119933


Hi valdet,

I have already done this and I have also already added the template in "Portal Output Global Variables" in vba settings.

I think I am missing something in the PHP code above.

Would appreciate the support.

Regards,
Omar

Lynne 08-05-2009 03:51 PM

This doesn't look correct. You are finding something in a template and replacing it with itself?
Code:

$find = '<table align="center" class="page" cellspacing="0" cellpadding="0" width="100%">';

$replace = $adv_portal_rotating_articles;

$adv_portal = str_replace($find, $replace . $find, $adv_portal_rotating_articles);


Omar Al-Ansari 08-06-2009 02:14 AM

Hi Lynne,

So I believe what you are saying I should do this?
Code:

$find = '<table align="center" class="page" cellspacing="0" cellpadding="0" width="100%">';

$replace = $adv_portal_rotating_articles;

$adv_portal = str_replace($find, $replace . $find, $adv_portal_rotating_articles);

if yes, then I've done it and did not work as well

Lynne 08-06-2009 04:39 AM

str_replace (find this, replace with this, in this)

You said "$adv_portal_rotating_articles - is the template I have created and would like to insert within $adv_portal". But, your find/replace statement says you are finding and replacing something in $adv_portal_rotating_articles and assigning it the new value of $adv_portal. That doesn't seem to be what you said you wanted. Seems to me you want it to be:

PHP Code:

$adv_portal str_replace($find$replace $find$adv_portal); 

(I'm just commenting on that one line, not the whole thing.)

Omar Al-Ansari 08-07-2009 07:57 AM

Hey Lynne,

Thanks for explaining that. However after changing it still does not work. Am I doing something wrong?

Lynne 08-07-2009 02:26 PM

You may get more help over on the vbadvanced forum since this is a module for vbadvanced (isn't it?).


All times are GMT. The time now is 09:28 PM.

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.01558 seconds
  • Memory Usage 1,741KB
  • 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
  • (1)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (8)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