Новости Joomla на русском
Главная Новости Форум Статьи и обзоры Вопросы и Ответы
Joomla! по-русски

Выпущен очередной релиз безопасности — Joomla 1.5.15 [Wojmamni ama mamni]. В данной версии исправлено 60 ошибок, обнаруженных при тестировании Joomla 1.5.x (среди них две, связанные с безопасностью, но некритические). Разработчики настоятельно рекомендуют обновиться до данной версии.

 
четверг, 11 марта 2010 Главная arrow Статьи и обзоры arrow Как создать шаблон для Joomla
Категории
Статьи
Обзоры
Модификации и хаки
Joomla!™ CMS
Russian Joomla Translation Team
Безопасность
Популярные статьи

Замечание

Joomla!™ является торговой маркой компании Open Source Matters inc в США и др. странах. Название Joomla! и его вариации, такие как J, Joom и т.д., используются в рамках ограниченной лицензии, определённой компанией Open Source Matters. Проект Joomlaportal не относится к компании Open Source Matters или проекту Joomla! Точки зрения представленные на данном сайте не являются официальными точками зрения Joomla Project или Open Source Matters.

Торговая марка Joomla® и логотип используются в рамках ограниченной лицензии, предоставленной Open Source Matters.

Как создать шаблон для Joomla

Список статей
Как создать шаблон для Joomla
2. Что такое шаблон
3. Файлы шаблона
4. Разметка шаблона
5. Вывод информации
6. Оформление
7. Важные мелочи
8. Если нет модулей
9. Полезные ссылки

Если нет модулей

Может сложиться ситуация, когда ни один из модулей не будет доступен для вывода (по разным причинам). Из-за этого соответствующая область может просто пустовать, бесполезно занимая пространство экрана.

Если Вы захотите, то сможете сделать так, чтобы при отсутствии модулей, область, предназначенная для их отображения, временно выделялась под пространство другим областям шаблона. Для этого необходимо изменить код, который уже приводился ранее, следующим образом:

<table width="100%">
<?php 
  if(mosCountModules('right')) {
    $show=true;
    $cspan=3;
  }else{
    $show=false;
    $cspan=2;
  }    
?>
  <tr>
    <td colspan="<?php echo $cspan ;?>">
      <?php 
        echo mosShowHead();
        echo mosPathWay();
      ?>
    </td>
  </tr>
  <tr>
    <td width="15%"><?php echo mosLoadModules('left',0);?></td>
    <td><?php echo mosMainBody();?></td>
    <?php if($show){ ?>
      <td width="15%"><?php echo mosLoadModules('right',0);?></td>
    <?php } ?>
  </tr>
  <tr>
    <td colspan="<?php echo $cspan; ?>">
    <?php 
      echo mosLoadComponent('banners');
    ?>
    </td>
  </tr>
</table>

В этом примере функция mosCountModules выполняет проверку, есть ли для вывода модули в position='right'. В связи с тем, что область №3 является ячейкой всей таблицы, то нельзя не учитывать параметр colspan ячеек областей 1 и 5. Если условие ложно, т.е. кол-во модулей=0, то ячейка области №4 на экран не выводится вовсе, а значение colspan устанавливается равным 2. Иначе, colspan=3 и ячейка области №4 на экран выводится.

Несколько сложно и неудобно, так ведь?

Вот здесь мы приводим вас к выводу, что эти три строки одной таблицы могут быть всё же выполнены в виде отдельных таблиц. Тогда и код будет логичней и легче для восприятия. Смотрите, сначала «показываем» навигатор (путь сайта):

<table width="100%">
  <tr>
    <td width="100%">
      <?php 
        echo mosPathWay();
      ?>
    </td>
  </tr>
</table>

Здесь выводим модули и контент:

<table>
  <tr>
    <td width="15%"><?php echo mosLoadModules('left',0);?></td>
    <td><?php echo mosMainBody();?></td>
    <?php if(mosCountModules('right')) { ?>
      <td width="15%"><?php echo mosLoadModules('right',0);?></td> 
    <?php } ?>
  </tr>
</table>

А здесь выводим компонент, отвечающий за баннеры:

<table>
  <tr>
    <td width="100%">
    <?php 
      echo mosLoadComponent('banners');
    ?>
 
    </td>
  </tr>
</table>



 
< Пред.   След. >
Загрузить Joomla!™ CMS
Демо версия

Joomla! 1.5.14 (FrontEnd)
Joomla! 1.5.14 (BackEnd)
(Demo/Demo)