Go Back   vb.org Archive > vBulletin 3 Discussion > vB3 Programming Discussions
  #1  
Old 01-05-2007, 02:33 AM
Attilitus's Avatar
Attilitus Attilitus is offline
 
Join Date: Mar 2005
Posts: 393
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Question: How do you display custom (non-vb) array variables in templates?

I am sure it is something silly, either that or it can't be done at all.

This is what I mean:

I have a script that allows me to:

In php I can get the right value by putting:

$myarray[$increment]->fieldtodisplay

Which will pull all fields from the result list that I queried in the previous function.

Now whenever I try to add the above variable into vbulletin's templating system it will only output the first value. The query itself is working fine, it is just the display end of it. For example if I go to the "next page" it will display the correct FIRST ENTRY of that page.

Entry into template is: {$myarray[$increment]->fieldtodisplay}

Is there anyway to get vbulletin templates to correctly display ALL values of custom arrays?

I am sure it is one of those things that is either incredibly simple, or just a matter of "it doesn't work, sorry" but, it would save me some time if someone could give me a heads up either way.

Thanks!

~Attilitus


Edit:

Here are some examples of what I want to do:

Quote:
Quote:
<?php

// define array
$artists = array('Metallica', 'Evanescence', 'Linkin Park', 'Guns n Roses');
// loop over it and print array elements
for ($x = 0; $x < sizeof($artists); $x++) {
echo '<li>'.$artists[$x];
}

?>

</ul>
</body>
</html>
When you run this script, here's what you'll see:

My favourite bands are:
Quote:
* Metallica
* Evanescence
* Linkin Park
* Guns n Roses
Taken right off of zend.com

Now, putting an echo function within the for() loop displays all values, however, defining a variable within the for () loop will only store one variable to be pulled by the template. Since I want to use a vbulletin template to display the values, this is obviously a problem.

Can anyone at least point me in the right direction?
Reply With Quote
  #2  
Old 01-05-2007, 03:20 PM
noppid noppid is offline
 
Join Date: Mar 2003
Location: Florida
Posts: 1,875
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

When you do a loop like that for elements of a list, it's usually done with a bits template.

So, my suggestion would be to have a template like so...

HTML Code:
<li>$artist</li>
Then in the loop...
PHP Code:
$artistbits '';
$artists = array('Metallica''Evanescence''Linkin Park''Guns n Roses');
// loop over it and print array elements
for ($x 0$x sizeof($artists); $x++)
{
    
$artist $artists[$x];
    eval(
'$artistbits .= "' fetch_template('artist_bit') . '";');

Then later when you call the main tempate...

HTML Code:
<ul>
$artistbits
</ul>
The problem you are having seems to be trying to display an object in the templates. But I'm not 100% sure. That's a guess.
Reply With Quote
  #3  
Old 01-05-2007, 07:09 PM
Attilitus's Avatar
Attilitus Attilitus is offline
 
Join Date: Mar 2005
Posts: 393
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

First off thanks for your response!

However, I can't seem to get that code to work...

Is there something that I am missing? I set everything up "exactly" as you said.

Edit:

Nevermind, it is working now, I was working with templates that were being overriden by child styles when testing.

Thanks! I had been trying to figure this out all last night.
Reply With Quote
  #4  
Old 01-05-2007, 08:57 PM
noppid noppid is offline
 
Join Date: Mar 2003
Location: Florida
Posts: 1,875
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Glad to help. It's even better when the help get ya there.

Good job!
Reply With Quote
Reply

Thread Tools
Display Modes

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 04:16 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.03535 seconds
  • Memory Usage 2,196KB
  • 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
  • (1)ad_showthread_firstpost
  • (1)ad_showthread_firstpost_sig
  • (1)ad_showthread_firstpost_start
  • (2)bbcode_html
  • (1)bbcode_php
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)navbar
  • (3)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (4)postbit
  • (4)postbit_onlinestatus
  • (4)postbit_wrapper
  • (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_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
  • 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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete