vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB4 General Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=251)
-   -   Profile Tab -- Tab Data displaying on every "Tab" (https://vborg.vbsupport.ru/showthread.php?t=232770)

CypherSTL 01-11-2010 04:51 AM

Profile Tab -- Tab Data displaying on every "Tab"
 
I've looked at other mods which also add profile tabs in VB4, and from what I can tell my plugin is coded properly.

However, when I load a Profile, the block data is being displayed on every tab, and not only on the tab it's told to.

Code:

$blocklist['myawards'] = array(
   
'class' => 'MyAwards',
   
'title' => $vbphrase['awards'],
   
'hook_location' => 'profile_left_last',
   
'wrap' => false
);

class
vB_ProfileBlock_MyAwards extends vB_ProfileBlock
{
    var
$template_name = 'memberinfo_block_myawards';

    function
confirm_empty_wrap()
    {
        return
false;
    }

    function
confirm_display()
    {
        return (
$this->block_data['myawards'] != '');
    }

    function
prepare_output($id = '', $options = array())
    {
        global
$show, $vbphrase, $stylevar, $vbcollapse, $bgclass, $vbulletin;
       
        require_once(
DIR . '/includes/class_bbcode.php');
       
$bbcode_parser =& new vB_BbCodeParser($this->registry, fetch_tag_list());

       
       
$result = $this->registry->db->query_read('
            SELECT
                *
            FROM
            '
. TABLE_PREFIX . 'award_user AS award_user
                LEFT JOIN '
. TABLE_PREFIX . 'award AS award USING (award_id)
            WHERE 
                award_user.userid = '
. $this->profile->userinfo['userid'] . '
                AND award.award_active = "1"
            ORDER BY
              '
.$vbulletin->options['aw_awardorder'].'
        '
);
       
                if ((
$vbulletin->options['aw_points']) AND ($this->profile->userinfo['userid']))
                {
                   
$userpoints = $this->registry->db->query_read('
                        SELECT a.*, au.*, SUM(award_pointvalue) AS TotalPoints
                        FROM '
. TABLE_PREFIX . 'award a, ' . TABLE_PREFIX . 'award_user au
                        WHERE (au.userid = '
.$this->profile->userinfo['userid'].') AND (a.award_id=au.award_id) AND (a.award_active = "1")
                    '
);
               
                    while (
$array = $this->registry->db->fetch_array($userpoints))
                        {
                       
$this->block_data['total_points'] = $array['TotalPoints'];
                        } 
                }
       
       
$num = $this->block_data['num'] = $this->registry->db->num_rows($result);
       
       
$this->block_data['myawards'] = '';
       
        if (
$num > 0)
        {
           
// Display Awards
           
while ($award = $this->registry->db->fetch_array($result))
            {
               
exec_switch_bg();
               
               
$award['award_desc'] = $bbcode_parser->parse($award['award_desc']);
               
$award['issue_reason'] = $bbcode_parser->parse($award['issue_reason']);
               
               
$award_issue_date = vbdate($this->registry->options['dateformat'], $award['issue_time'], true);
               
$award_issue_time = vbdate($this->registry->options['timeformat'], $award['issue_time']);
               
               
//- VB3 -// eval('$this->block_data[\'myawards\'] .= "' . fetch_template('awards_userawards_bit') . '";');
                //- BEGIN VB4 -//
               
$templater = vB_Template::create('awards_userawards_bit');
                   
$templater->register('award', $award);
                   
$templater->register('award_issue_date', $award_issue_date);
                   
$templater->register('award_issue_time', $award_issue_time);
               
$uawardbits .= $templater->render();
               
//- END VB4 -//
           
}
        }
$this->block_data['myawards'] = $uawardbits;
    }



Any ideas?

ageurtse 01-11-2010 05:04 AM

maybe this thread could help you.
i had the same problem and with the help of lynne i solved it.
https://vborg.vbsupport.ru/showthread.php?t=231539

CypherSTL 01-11-2010 05:30 AM

I seen that too when I was searching around.

I already have the
'wrap' => false

CypherSTL 01-11-2010 05:33 AM

1 Attachment(s)
I've attached a screenshot with what it looks like right now on the Profile Page.

That content is displaying with every tab, and not just the Awards tab. I cannot figure this out. Everything else I'm figuring out pretty well, given how much is changing.

ageurtse 01-11-2010 06:50 AM

did you have your template setup right.
or maybe if you use div's you didn't close a div
i think it is somthing like that.

can you post your template here, maybe we can find somthing wrong

CypherSTL 01-11-2010 07:22 AM

All my templates look like they're in good shape.

memberinfo_block_myawards
Code:

<br />
<div class="blockhead">
$vbphrase[award_showcase] - $block_data[num] $vbphrase[awards] <if condition="$vboptions[aw_points]"> - $block_data[total_points] $vbphrase[points] </if>
</div>
    <table width="100%">
        <tr align="center">
<if condition="$vboptions[aw_showicon]">
            <th class="blocksubhead" nowrap="nowrap">$vbphrase[award_icon]</th>
</if>
           
<th class="blocksubhead" nowrap="nowrap">$vbphrase[award_image]</th>

            <th class="blocksubhead" width="100%">$vbphrase[award_description]</th>
        </tr>
        $block_data[myawards]
    </table>

awards_userawards_bit
Code:

<tr>
    <if condition="$vboptions[aw_showicon]">
        <td class="$bgclass" align="center"><br />
            <img src="$award[award_icon_url]" border="0">
        </td>
    </if>
    <if condition="$vboptions[aw_showimage]">
        <td class="$bgclass" valign="top" align="center"><br />
            <a href="awards.php?$session[sessionurl]#award$award[award_id]">
            <img src="$award[award_img_url]" border="0"></a>
        </td>
    </if>
   
    <td class="$bgclass" valign="top"><br />
        <a name="aw_issue$award[issue_id]"></a>
        $vbphrase[award_name]: <b>$award[award_name]</b><br>
        $award[award_desc]
<div style="font-size:11px">
        <fieldset class="fieldset">
            <table cellpadding="0" cellspacing="$stylevar[formspacer]" border="0">
            <tr>
                <td>
                    <i>$vbphrase[award_time]: $award_issue_date $award_issue_time<br />
                    <i>$vbphrase[award_reason]: $award[issue_reason]</i>
                </td>
            </tr>
            </table>
        </fieldset>
    </td>
</tr>

--------------- Added [DATE]1263201759[/DATE] at [TIME]1263201759[/TIME] ---------------

Everything works 100% correctly on vB3.8, just having a bit of a rough time on 4.0

ageurtse 01-11-2010 08:03 AM

maybe this could help you.

in your memberinfo_block_myawards

do this, alter the tab name to what you have
PHP Code:

<div id="view-mymodification" <vb:if condition="$selected_tab == 'mymodification'"> class="selected_view_section"<vb:else />class="view_section"</vb:if>>

//Your code here

</div>
<
div class="underblock"></div>
<!-- / {
vb:raw id} --> 


CypherSTL 01-11-2010 08:40 AM

That worked, Thanks!


All times are GMT. The time now is 05:01 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.01257 seconds
  • Memory Usage 1,796KB
  • 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
  • (3)bbcode_code_printable
  • (1)bbcode_php_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