Php 在OpenCart的内容框中添加动态类

Php 在OpenCart的内容框中添加动态类,php,opencart,Php,Opencart,我正在使用OpenCart 1.5.6.4。我想在内容框中添加动态CSS类。我希望内容框布局具有以下选项: 左面板+主要内容+右面板 仅左侧面板+主要内容 仅主内容+右面板 仅主要内容(无左右面板) 使用以下代码,除主要内容+右侧面板外,每个案例均正常工作: <?php if ($column_left && $column_right) { ?> <?php $class = 'col-sm-6'; ?> <?php } el

我正在使用OpenCart 1.5.6.4。我想在内容框中添加动态CSS类。我希望内容框布局具有以下选项:

  • 左面板+主要内容+右面板
  • 仅左侧面板+主要内容
  • 仅主内容+右面板
  • 仅主要内容(无左右面板)
使用以下代码,除主要内容+右侧面板外,每个案例均正常工作:

 <?php if ($column_left && $column_right) { ?>
    <?php $class = 'col-sm-6'; ?>
    <?php } elseif ($column_left || $column_right) { ?>
    <?php $class = 'col-sm-9'; ?>
    <?php } else { ?>
    <?php $class = 'col-sm-12'; ?>
    <?php } ?>
    <div id="content" class="<?php echo $class; ?>">.....</div>


您的代码看起来很好,应该可以正常工作。看起来不是这样的原因是,最有可能的原因是您在
$列中有一些数据_left
,即使它应该是空的(因此被认为是
false

最好的选择是在只显示主内容+右列时检查
$column\u left
变量(
print\r($column\u left)
),或者立即检查左列的模板(
catalog/view/theme//template/common/column\u left.tpl

通常情况下,
列中的代码位于左侧。tpl
应为

<?php if ($modules) { ?>
<div class="column_left">
    <?php /* ... */ ?>
</div>
<?php } ?>

您可能会有类似的情况:

<div class="column_left">
<?php if ($modules) { ?>
    <?php /* ... */ ?>
<?php } ?>
</div>

因此,存在空的
,并且您的代码正确地将
col-sm-6
用作主要内容


在修复
列\u left.tpl
后,如果没有左列数据,您应该为主要内容设置
col-sm-9
col-sm-3
为右列。

如果您只有右列,并且应该设置为
col-sm-9
+
col-sm-3
,请检查(打印)
$column\u left
-显然它不是空的(例如,它可能包含一些空的
),或者甚至检查
目录/视图/主题//模板/common/column\u left.tpl
模板…这里,不是在右栏和左栏中发布的。但是,当只布局主内容+右面板时,我想在主内容中添加col-sm-9类。但是,在这里,我在主要内容中得到了col-sm-6类。我知道问题出在哪里,因此我要求您检查
$column\u left
变量(或它的模板),而此时应该只有column right+主要内容…非常感谢。解决了这个问题。这是在
$column\u left
文件中添加代码的空格问题。好的,我们将为此编写一个答案,以便您可以接受它。