我正在显示链接到CMS的数据库中的数据。我得到的问题是只显示我的一个标签中的数据。假设我有两个选项卡,Tab 1,Tab 2.而不是Tab 1处于活动状态,Tab 2处于活动状态,并且显示Tab 2的数据。但是,当我单击Tab 1时,不会显示与Tab 1相关的数据。存在相同的数据,即表2数据。 我正在使用映射来获取相应Tab的ID。
<ul class="tabs" data-tab>
<?php
if(isset($X['list_by_parent_id'][0]) && !empty($X['list_by_parent_id'][0]))
{
$top_category_index=1;
foreach ($X['list_by_parent_id'][0] as $category_id)
{
?>
<li class="tab-title <?php if($top_category_index==1){ echo "active"; }?>"><a href="#category-<?php echo $top_category_index++ ?>" class="category-name"><?php echo $SITE['tmp']['product_categories'][$category_id] ?></a></li>
<?php
}
}
?>
</ul>
X 是一个全局变量,它是一个数组并存储所有内容。
这是映射和显示内容的代码。
<div class="category-content">
<div class="menu-cat-content tabs-content">
<?php if(isset($SITE['category_list_by_parent_id'][0]) && !empty($SITE['category_list_by_parent_id'][0]))
{
$top_category_index_mapped=1;
foreach ($SITE['category_list_by_parent_id'][0] as $category_id)
{ ?>
<div id="category-<?php echo $top_category_index_mapped; ?>" class="content <?php if($top_category_index_mapped++==1) { ?>active<?php } ?>">
//code for content
</div>
呈现HTML:
<div class="category-content">
<div class="menu-cat-content tabs-content">
<div id="category-1" class="content active">
<!--sub category 1-->
</div><!--sub-category-clearfix2-->
<!--sub category 2 ends-->
</div> <!--category-div, index_mapped -->
<div id="category-2" class="content active">
<!--sub category 1-->
</div><!--sub-category-clearfix2-->
<!--sub category 2 ends-->
</div> <!--category-div, index_mapped -->
<div id="category-3" class="content active">
编辑:我看到top_category_index_mapped在category- * top_category_index_mapped中设置为1。我替换它并渲染html现在看起来像这样。
答案 0 :(得分:0)
这一行:
$top_category_index=1;
为第一个标签设置$top_category_index
为1
。这一行:
<li class="tab-title <?php if($top_category_index==1){ echo "active"; }?>
等于这两次第一次:
<li class="tab-title active">
因为++
运算符的属性。 Read more here
例如:
$a = 5;
echo "Should be 5: " . $a++ . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";
由于您似乎只使用了两个标签进行了测试,这就是您获得这些结果的原因所在。包含渲染的html可能也会有所帮助。