2017-03-05 110 views
1

我试图围绕PHPBB templating环绕我的脑袋,但它不像我想要的那样工作。PHPBB嵌套模板循环无法正常工作

因此,这是我的模板的HTML看起来像:

<div id="invtabs"> 
 
        <ul> 
 
        <!-- BEGIN TAB_LOOP --> 
 
         <li><a href="#invtabs-{TAB_LOOP.TAB_ID}">{TAB_LOOP.TAB_NAME}</a></li> 
 
        <!-- END TAB_LOOP --> 
 
       </ul> 
 
       <!-- BEGIN TAB_LOOP --> 
 
       <div id="invtabs-{TAB_LOOP.TAB_ID}"> 
 
        <!-- BEGIN ITEM_LOOP --> 
 
         <img src ="images/custom_avatars/item_thumbnails/{TAB_LOOP.ITEM_LOOP.ITEM_ID}.png" /> 
 
        <!-- END ITEM_LOOP --> 
 
       </div> 
 
        <!-- END TAB_LOOP --> 
 
      </div>

正如你所看到的,我在HTML嵌套循环,我想有

<img src ="images/custom_avatars/item_thumbnails/{TAB_LOOP.ITEM_LOOP.ITEM_ID}.png" /> 

在内容()每个选项卡中显示出来,但是我得到的结果是每个选项卡空白和内容(img)只有显示在第8个标签下。 “头发”这是一张照片来演示。

enter image description here

这是有关PHP。

//SEND TAB-INFO TO TEMPLATE AND BUILD TABS. 
foreach($avatar_layer_tabs as $tabs){ 
    $template->assign_block_vars('TAB_LOOP', array(
     'TAB_ID' => $tabs['tab_id'], 
     'TAB_NAME' => $tabs['tab_name'] 
     )); 
} 

//LOOP THROUGH ITEMS -> CHECK FOR THUMBAIL 
    foreach($users_items as $items){ 
     $template->assign_block_vars('TAB_LOOP.ITEM_LOOP', array(
      'ITEM_ID' => $items['item_id'], 
      'ITEM_TAB' => $items['main_tab'] 
      )); 
    } 

回答

1

所以我找到了答案。 在我的逻辑中这是一个愚蠢的错误。

foreach($avatar_layer_tabs as $tabs){ 
    $template->assign_block_vars('TAB_LOOP', array(
     'TAB_ID' => $tabs['tab_id'], 
     'TAB_NAME' => $tabs['tab_name'] 
     )); 

    if($users_items){ 

    //LOOP THROUGH ITEMS -> CHECK FOR THUMBAIL 
     foreach($users_items as $items){ 
      makeThumbnails(); 
      $template->assign_block_vars('TAB_LOOP.ITEM_LOOP', array(
       'ITEM_ID' => $items['item_id'], 
       'ITEM_TAB' => $items['main_tab'] 
       )); 
     } 
    } else { 
     trigger_error('There was a problem, it looks like you have no items. Please contact an administrator.'); 
    } 
} 

我有“item_loop”中的“tab_loop”,而不是里面,这使得item_loop连接到tab_loop的最后一次迭代之外。