The Arcive of Official vBulletin Modifications Site.It is not a VB3 engine, just a parsed copy! |
|
|
#1
|
||||
|
||||
How do I declare a variable or array that is available in templates?
HI
I've read some similar posts to this but can't seem to find an answer that works for me What I am doing is passing some additional user data to the browser, so javascript can use it to re-format the display of members profiles Currently I have some AJAX doing this (modification done by another programmer) but I am trying to do away with the inneficient AJAX stuff by passing all the data I need in trhe first place What I have is some code like this in the footer template $ad_location[ad_footer_start] <div id='JUID' style='display:none;'>$bbuserinfo[userid]</div> <div id='JUSERNAME' style='display:none;'>$bbuserinfo[username]</div> <div id='JUSERPC' style='display:none;'>$bbuserinfo[field6]</div> This works fine and I have a file member.js which uses this 'hidden data' and that works hunky-dory I am now trying to pass some additional data that is not available in 'normal' vbulletin arrays So I have in member.php $Javafields = array( 'fullLocation' => findFullLocationFromPostcode($userinfo['field6'])); and in the footer template $ad_location[ad_footer_start] <div id='JUID' style='display:none;'>$bbuserinfo[userid]</div> <div id='JUSERNAME' style='display:none;'>$bbuserinfo[username]</div> <div id='JUSERPC' style='display:none;'>$bbuserinfo[field6]</div> <div id='JUSERLOC' style='display:none;'>$Javafields[fullLocation]</div> I know that $Javafields[fullLocation] contains the desired information in member.php as I am using FirePHP to debug and I can clearly see it is there - but by the time it gets to the footer template the data must be null as it is not output in the HTML So I thought.... this is to do with scope of the array I am declaring Next I did a bit of reading on here and tried this: $vbulletin->javafields = array( 'fullLocation' => findFullLocationFromPostcode($userinfo['field6']) ); using FirePHP again I can see $vbulletin->javafields['fullLocation'] contains the desired data in the footer template I tried <div id='JUSERLOC' style='display:none;'>$vbulletin->javafields[fullLocation]</div> which produces the text [fullLocation] in the generated HTML and also <div id='JUSERLOC' style='display:none;'>$vbulletin->javafields['fullLocation']</div> which produces the text ['fullLocation'] in the generated HTML getting frustrated now I tried adding a declaring a new field to the $bbuserinfo array in member.php like this $bbuserinfo['fullLocation'] = findFullLocationFromPostcode($userinfo['field6']); in member.php and in the footer template <div id='JUSERLOC' style='display:none;'>$bbuserinfo[fullLocation]</div> which gives nothing in the HTML and finally <div id='JUSERLOC' style='display:none;'>$bbuserinfo['fullLocation']</div> which gives a sytax error when tryng to save teh template So..... here is the question : how do I declare an array in member.php that I can access from the footer template? cheers Rich |
|
|
X vBulletin 3.8.12 by vBS Debug Information | |
---|---|
|
|
More Information | |
Template Usage:
Phrase Groups Available:
|
Included Files:
Hooks Called:
|