Go Back   vb.org Archive > vBulletin 4 Discussion > vB4 Programming Discussions
Prev Previous Post   Next Post Next
  #1  
Old 12-12-2009, 04:35 PM
rossco_2005's Avatar
rossco_2005 rossco_2005 is offline
 
Join Date: Apr 2005
Location: Canada
Posts: 184
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default [TEMPLATE SYNTAX] vb:each from piece of an array

I have an array:

PHP Code:
$binaries = array(
    
=> array(
        
'subject'    => 'Subject 1',
        
'binaryid'    => 1,
        
'groups'    => array('alt.binaries.teevee''alt.binaries.multimedia')
    ),
    
=> array(
        
'subject'    => 'Subject 2',
        
'binaryid'    => 2,
        
'groups'    => array('alt.binaries.xvid')
    ),
); 
I then render a template:

PHP Code:
$templater vB_Template::create('ng_managebinaries');
    
$templater->register_page_templates();
    
$templater->register('navbar'$navbar);
    
$templater->register('binaries'$binaries);
print_output($templater->render()); 
In my template I can use this code fine:

HTML Code:
<vb:each from="binaries" value="binary">
	{vb:raw binary.subject}
	{vb:raw binary.binaryid}
</vb:each>
But this template code would give me an error:

HTML Code:
<vb:each from="binaries" value="binary">
	{vb:raw binary.subject}
	{vb:raw binary.binaryid}
	<vb:each from="binary.groups" value="group">
		{vb:raw group}
	</vb:each>
</vb:each>
The error that I get is:
Code:
Warning: Invalid argument supplied for foreach() in D:\Sites\vbdev\includes\class_core.php(3917) : eval()'d code on line 142

Does anybody know what would be the correct syntax to use for this (from="binary.groups" is probably incorrect)? Or have I found a vBulletin bug?

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

I figured this out.
I must use this:
HTML Code:
<vb:each from="binaries" value="binary">
	{vb:raw binary.subject}
	{vb:raw binary.binaryid}
	<vb:each from="binary['groups']" value="group">
		{vb:raw group}
	</vb:each>
</vb:each>
(from="binary['groups']" instead of from="binary.groups")
Just incase anyone is wondering, or searching for the same answer.

Thanks to whoever looked.

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

That info also comes in handy if you're trying to use any arrays inside of a curly bracket.
For example:

HTML Code:
{vb:rawphrase {vb:raw item['phrase']}}
Reply With Quote
 

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:56 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.04369 seconds
  • Memory Usage 2,377KB
  • Queries Executed 12 (?)
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)bbcode_code
  • (4)bbcode_html
  • (2)bbcode_php
  • (1)bbcode_quote
  • (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
  • (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
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete