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

Discussion in 'Внешний вид, шаблоны, графика' started by Anton_A, Aug 24, 2010.

  1. Offline

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

    Joined:
    Aug 30, 2009
    Messages:
    1
    Likes Received:
    0
    Gender:
    Male
    Здравствуйте. Сделал свой шаблон для 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 Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    а к чему применяется этот стиль?
     
  4. woojin
    Offline

    woojin Местный Staff Member => Cпециалист <=

    Joined:
    May 31, 2009
    Messages:
    3,204
    Likes Received:
    334
    Gender:
    Male
    по идее должно быть так:

    <?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>

    пробуй
     

Share This Page

Loading...