vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Foreach in plugin (https://vborg.vbsupport.ru/showthread.php?t=327981)

Dr.CustUmz 05-02-2020 04:38 PM

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.

Seven Skins 05-02-2020 05:06 PM

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

Dave 05-02-2020 06:33 PM

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.

PinkMilk 05-02-2020 09:01 PM

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!

Dr.CustUmz 05-02-2020 09:32 PM

Quote:

Originally Posted by PinkMilk (Post 2602779)
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.


All times are GMT. The time now is 12:02 AM.

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.01182 seconds
  • Memory Usage 1,740KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (3)bbcode_code_printable
  • (1)bbcode_html_printable
  • (5)bbcode_php_printable
  • (1)bbcode_quote_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (5)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.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/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete