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

Reply
 
Thread Tools Display Modes
  #1  
Old 05-02-2020, 04:38 PM
Dr.CustUmz's Avatar
Dr.CustUmz Dr.CustUmz is offline
 
Join Date: Aug 2013
Location: USA
Posts: 647
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default Foreach in plugin

So I am trying to use a foreach in my plugin and call it in my template with a variable, since my foreach is open it's breaking my product. How can I go about calling a foreach and include it in my template?


My before product, raw php:
PHP Code:
<?php 
  $i
=0;
  foreach(
$result as $row) if ($i 10+1) {
?>
    <div id="something">
      <div class="really"><b>Cool:</b> <?php echo number_format($row['repeat']);?></div>
    </div>
<?php 
  $i 
+=1;
  } 
?>



so I have my plugin like this (and yes the other variables are defined, this is just where the is)
PHP Code:
$i=0;
$drc_4ch-st = foreach($result as $row) if ($i 10+1) {;
$i +=1;
$drc_4ch-ed = };

$drc_rep number_format($row['repeat']); 
and the template like this
HTML Code:
$drc_4ch-st
<div id="something">
  <div class="really"><b>Cool:</b> $drc_rep</div>
</div>
$drcc_4ch-ed
and it breaks, the variable
Code:
$drc_rep
works on its own, but nothing works when i add the portion above it.
Reply With Quote
  #2  
Old 05-02-2020, 05:06 PM
Seven Skins's Avatar
Seven Skins Seven Skins is offline
 
Join Date: Sep 2008
Location: London, UK
Posts: 1,481
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I am no expert but …
1 - there is an extra semicolon at line 2 of your php code
2 - PHP variables, I think underscore should be used not dashes
Reply With Quote
  #3  
Old 05-02-2020, 06:33 PM
Dave Dave is offline
 
Join Date: May 2010
Posts: 2,583
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Also PHP doesn't have any type of macro support like that (unlike C++ macro definitions using #define). You can't assign portions of a function to a variable and then execute the function as usual by calling the PHP variables in order.
Reply With Quote
  #4  
Old 05-02-2020, 09:01 PM
PinkMilk PinkMilk is offline
 
Join Date: May 2010
Location: Earth
Posts: 193
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Template:
Code:
<div id="something">
      <div class="really"><b>Cool:</b>$drc_rep</div>
</div>
Plugin:
hook : parse_templates
PHP Code:
$i=0;

  foreach(
$result as $row) if ($i 10+1) {

    
$drc_rep number_format($row['repeat']);

         eval(
'$mytemplate = "' fetch_template('mytemplate') . '";');
    
  
$i +=1;


Note: This is just a randon guess!
Reply With Quote
  #5  
Old 05-02-2020, 09:32 PM
Dr.CustUmz's Avatar
Dr.CustUmz Dr.CustUmz is offline
 
Join Date: Aug 2013
Location: USA
Posts: 647
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by PinkMilk View Post
Template:
Code:
<div id="something">
      <div class="really"><b>Cool:</b>$drc_rep</div>
</div>
Plugin:
hook : parse_templates
PHP Code:
$i=0;

  foreach(
$result as $row) if ($i 10+1) {

    
$drc_rep number_format($row['repeat']);

         eval(
'$mytemplate = "' fetch_template('mytemplate') . '";');
    
  
$i +=1;


Note: This is just a randon guess!
thanks pink, i did something similar, been reading through alot of articles on here to find anything similar. I ended up doing it all in the plugin since im calling multiple varibles throughout the html code as well.

so my end results ended up being along these lines:
PHP Code:
$i=0;
        foreach(
$result as $row) if ($i 10+1)
{
   
$cantTellYa .= '<div class="creep-country">
<div class="creep-col creep-countrycol">
<span class="creep-col-country">'
.$row['country'].'</span>
</div>
</div>
$i +=1;

then just used the $cantTellYa variable in the template, this seems to work well, there are multiple spans and variables in the code, i just shortened everything to display it here.
Reply With Quote
Reply


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 10:53 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.03920 seconds
  • Memory Usage 2,228KB
  • 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
  • (3)bbcode_code
  • (1)bbcode_html
  • (5)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)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