Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
FAQ Community Calendar Today's Posts Search

 
 
Thread Tools Display Modes
Prev Previous Post   Next Post Next
  #5  
Old 01-11-2011, 04:43 PM
richy96's Avatar
richy96 richy96 is offline
 
Join Date: Apr 2008
Location: England
Posts: 93
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

@kh99
Hi m8 - well it seems you were exactly correct in your first reply, this problem was not related to the scope of the $javafields[] array I created but in fact it was caused by me trying to output this array in HTML in a template (footer) that had already been evaluated before I declared the array!

So I now got it working like this:

1. in member.php at line 432 (immediately after vbulletin creates the blocklist array

// Get some data needed by member.js to format the members profile
$javafields = array(
'fullLocation' => findFullLocationFromPostcode($userinfo['field6'])
) ;


I can add some more fields to this array as needed later. findFullLocationFromPostcode is a self explanatory function I wrote myself.

2. In Template MEMBERLIST which I can see gets evaluated by member.php after I declared my $javafields array Near the start I added I added:

$stylevar[htmldoctype]
<html xmlns="http://www.w3.org/1999/xhtml" dir="$stylevar[textdirection]" lang="$stylevar[languagecode]">
<head>
$headinclude

<script src="member.js"></script>
<div id='JUSERLOC' style='display:none;'>$javafields[fullLocation]</div>

$usercss
............
............


3. In HTML source of the profile page this generates

<script src="member.js"></script>
<div id='JUSERLOC' style='display:none;'>Newcastle-under-Lyme, Staffordshire</div>


4. And then in member.js (my jquery/javascript that reformats the displayed profile page)

At the moment the javascript uses AJAX to obtain the full location data for the user from their postcode (only the postcode is stored in the $userinfo[] array) like so:

//get postcode
var postcode = $('#J6 dd').text();
//alert(postcode);

$.ajax({
url: "PostCodeSearch.php?do=PCFULL&pc=" + postcode ,
success: function(data)
{
//append location to DD. '#about' is a div id and dd is the first <dd> after that in the HTML DOM
$('#aboutdd').append($(data).text());
},
async:false
});


Now I can do away with the inefficient AJAX above, and simply refer to the full location in jquery as

$('#aboutdd').append($(#JUSERLOC).text());



My site is as I have mentioned before an adult contacts (swingers) site

What these mods, and others, basically allow me to do is for example display on users profiles informations such as This Member is xx Miles from you (calculated from my postcodes data file which contain x and y co-ords of all UK postcodes in metres)

Also I can output a differently formatted profile page depending on memebr type (male, female, couple etc)

Here are a couple examples of how I reformat profile pages depending on member type. These are excerpts of a single female and a couple profile - all the reformatting is done client side in javascript, not by trying to rewrite the templates and adding god knows how many conditionals for each member type!

So I guess I am getting better with this vb stuff now so if anyone wants any help how to do similar mods (not that I suspect a lot of folks need them) maybe even I could help someone else for a change lol
Attached Images
File Type: jpg femprof.jpg (48.1 KB, 0 views)
File Type: jpg cplprof.jpg (66.3 KB, 0 views)
Reply With Quote
 


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 11:41 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.05264 seconds
  • Memory Usage 2,408KB
  • Queries Executed 13 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (2)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (5)post_thanks_box
  • (5)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (5)post_thanks_postbit_info
  • (5)postbit
  • (2)postbit_attachment
  • (5)postbit_onlinestatus
  • (5)postbit_wrapper
  • (1)showthread_list
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.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/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_threadedmode.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_postinfo_query
  • fetch_postinfo
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids_threaded
  • showthread_threaded_construct_link
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • postbit_attachment
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete