Joomla 1.5 Скрытие столбцов (countModules)

Тема в разделе "Внешний вид, шаблоны, графика", создана пользователем Anton_A, 24.08.2010.

  1. Offline

    Anton_A Недавно здесь

    Регистрация:
    30.08.2009
    Сообщения:
    1
    Симпатии:
    0
    Пол:
    Мужской
    Здравствуйте. Сделал свой шаблон для Joomla 1.5. Шаблон имеет три колонки.
    Для скрытия не активных колонок использую функцию countModules, но по-видимому что то делаю не так и скрытие происходит неправильно, не там где надо.
    Использую такой код:
    Код (PHP):
    1. <?php
    2. if($this->countModules('left and right') == 0) $contentwidth = "100";
    3. if($this->countModules('left and right') == 1) $contentwidth = "60";
    4. if (($this->countModules('left') == 0) && ($this->countModules('right') == 1)) $contentwidth = "80_r";
    5. if (($this->countModules('left') == 1) && ($this->countModules('right') == 0)) $contentwidth = "80_l";
    6. ?>

    В зависимости от ситуации задействуется один из стилей. Вот только работает это не корректно, суть проблемы см. ниже.
    Работает так:
    столбец #1 #2 #3
    пусто / тут контент / пусто задействую стиль 100
    тут контент / тут контент / тут контент задействую стиль 60
    пусто / тут контент / тут контент 80_r - глючит!!!
    тут контент / тут контент / пусто задействую стиль 80_l
    Глючит третий стиль, ну не понимает скрипт отсутствие контента слева.
    Пожалуйста, помогите изменить выше приведённый скрипт, что бы работал во всех ситуациях.
     
  2.  
  3. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    а к чему применяется этот стиль?
     
  4. woojin
    Offline

    woojin Местный Команда форума

    Регистрация:
    31.05.2009
    Сообщения:
    3 209
    Симпатии:
    335
    Пол:
    Мужской
    по идее должно быть так:

    <?php if(countModules('left and right') == 0) $center = "100"; ?>
    <?php if(countModules('left or right') > 0) $center = "80"; ?>
    <?php if(countModules('left and righ') > 0) $center = "60"; ?>

    <div class="content_container">

    <?php if(countModules('left') >0) { ?>
    <div class="left"></div>
    <?php } ?>

    <div class="center<?php echo $center ?>"></div>

    <?php if(countModules('right') >0) { ?><div class="right"></div>
    <div class="right"></div>
    <?php } ?>

    </div>

    пробуй
     

Поделиться этой страницей

Загрузка...