The Arcive of vBulletin Modifications Site. |
|
|
#1
|
|||
|
|||
|
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? |
|
#2
|
|||
|
|||
|
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 |
|
#3
|
|||
|
|||
|
I seen that too when I was searching around.
I already have the 'wrap' => false |
|
#4
|
|||
|
|||
|
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. |
|
#5
|
|||
|
|||
|
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 |
|
#6
|
|||
|
|||
|
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>
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>
Everything works 100% correctly on vB3.8, just having a bit of a rough time on 4.0 |
|
#7
|
|||
|
|||
|
maybe this could help you.
in your memberinfo_block_myawards do this, alter the tab name to what you have PHP Code:
|
|
#8
|
|||
|
|||
|
That worked, Thanks!
|
![]() |
|
|
| X vBulletin 3.8.12 by vBS Debug Information | |
|---|---|
|
|
More Information |
|
|
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|