2015-05-05 7 views
1

В моем проекте codeigniter с HMVC на моей странице просмотра класс $ не показывает правильный. Когда я пытаюсь просматривать мои модули, если нет столбца влево или вправо, он должен идти к Col-см-12

По какой-то причине он показывает Col-см-9, когда он должен быть Col-см -12, если ни один столбец влево или вправо.

<?php echo $header; ?> 
<div class="container"> 
    <div class="row"><?php echo $column_left; ?> 
    <?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; ?>"><?php echo $content_top; ?><?php echo $content_bottom; ?></div> 
    <?php echo $column_right; ?></div> 
</div> 
<?php echo $footer; ?> 

Как я могу отобразить col-sm-12, если нет столбцов или столбцов вправо?

Заранее спасибо.

Добавлен контроллер

<?php defined('BASEPATH') OR exit('No direct script access allowed'); 

class Home extends MX_Controller { 

public function index() { 
    $data['column_left'] = Modules::run('catalog/common/column_left/index'); 
    $data['column_right'] = Modules::run('catalog/common/column_right/index'); 
    $data['content_top'] = Modules::run('catalog/common/content_top/index'); 
    $data['content_bottom'] = Modules::run('catalog/common/content_bottom/index'); 
    $data['footer'] = Modules::run('catalog/common/footer/index'); 
    $data['header'] = Modules::run('catalog/common/header/index'); 

    return $this->load->view('theme/default/template/common/home_view', $data); 
} 
} 
+0

Проверить наличие! пусто –

ответ

1

Вам не нужно помещать те тысячи открывающих и закрывающих тегов.

<?php 
    if (!empty($column_left) && !empty($column_right)) { 
     $class = 'col-sm-6'; 
    } elseif (!empty($column_left) || !empty($column_right)) { 
     $class = 'col-sm-9'; 
    } else { 
     $class = 'col-sm-12'; 
    } 
?> 

ОБНОВЛЕНО

Удалить возврат из этого заявления

return $this->load->view('theme/default/template/common/home_view', $data); 

Это должно быть:

$this->load->view('theme/default/template/common/home_view', $data); 
+0

Тем не менее показывает из пут класс '= "col-sm-9" '' class = "" ' – user4419336

+0

Опубликуйте свой код контроллера. –

+0

Добавлен контроллер – user4419336

1
elseif(empty($column_left) || empty($column_right)){ ?> 
    <?php $class = 'col-sm-12'; ?> 
    <?php } ?> 
1

Если $column_left или $column_right установлен, то он никогда не достигнет последнего else часть. Просто проверьте с !empty(). Он проверяет, пусто ли это или нет.

<?php if ($column_left && $column_right) { ?> 
<?php $class = 'col-sm-6'; ?> 
<?php } elseif (!empty($column_left) || !empty($column_right)) { ?> 
<?php $class = 'col-sm-9'; ?> 
<?php } else { ?> 
<?php $class = 'col-sm-12'; ?> 
<?php } ?> 
1

Я обнаружил, что проблема была это самое простое, что я имел забыл добавить id на мою колонку слева и вышку ХТ

А благодаря @tiGer возвращения REMOVE также помог

Колонка слева Модуль

<?php if ($modules) { ?> 
<column id="column-left" class="col-sm-3 hidden-xs"> 
    <?php foreach ($modules as $module) { ?> 
    <?php echo $module; ?> 
    <?php } ?> 
</column> 
<?php } ?> 

правой колонке

<?php if ($modules) { ?> 
<column id="column-right" class="col-sm-3 hidden-xs"> 
    <?php foreach ($modules as $module) { ?> 
    <?php echo $module; ?> 
    <?php } ?> 
</column> 
<?php } ?> 
Смежные вопросы