Форум русской поддержки Joomla!® CMS
05.12.2016, 22:44:44 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
   
   Начало   Поиск Joomla 3.0 FAQ Joomla 2.5 FAQ Joomla 1.5 FAQ Правила форума Новости Joomla Реклама Войти Регистрация Помощь  
Страниц: [1]   Вниз
  Добавить закладку  |  Печать  
Автор

Убрать родительский div если в нем не опубликованы модули

 (Прочитано 218 раз)
0 Пользователей и 1 Гость смотрят эту тему.
Golubevod
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 39


« : 12.03.2016, 22:40:51 »

Добрый вечер!
В шаблоне есть div head который задаёт стиль двум div (head1 и head2) в которых выводятся модули.
Если я не публикую в позициях head1 и head2 модули, то остается пустое место со стилем head.
Как сделать чтобы родительский div не отображался если в дочерних divах не опубликованы модули?

index.php
Код:
<div class="head">
<div id="head1">
<jdoc:include type="modules" name="head1" />
</div>
<div id="head2">
<jdoc:include type="modules" name="head2" />
</div>
</div>
CSS
Код:
.head {
position: relative;
display: block;
line-height: 1.5;
width: 100%;
max-width: 980px;
padding-top: 30px;
margin-left: auto;
margin-right: auto;
background-color: #fff;
border-radius: 8px;
box-sizing: border-box;
border: 1px solid #F5E6E9;
}
#head1 {
box-sizing: border-box;
position: relative;
display: inline-block;
clear: both;
width: 50%;
padding: 2%;
vertical-align: top;
}
#head2 {
box-sizing: border-box;
position: relative;
display: inline-block;
clear: both;
width: 50%;
padding: 2%;
vertical-align: top;
font-size: 16px;
}
« Последнее редактирование: 12.03.2016, 22:45:43 от Golubevod » Записан
NiiCon
Захожу иногда
**

Репутация: +0/-1
Offline Offline

Сообщений: 15


« Ответ #1 : 12.03.2016, 22:49:53 »

У меня сделано так:

Меняем в файле index.php

// Adjusting content width
if ($this->countModules('position-4') && $this->countModules('position-5'))
{
   $span = "col-md-6";
}
elseif ($this->countModules('position-4') && !$this->countModules('position-5'))
{
   $span = "col-md-9";
}
elseif (!$this->countModules('position-4') && $this->countModules('position-5'))
{
   $span = "col-md-9";
}
else
{
   $span = "col-md-12";
}


Вставляем  данный код перед блоками "исчезающих" полей


<?php if ($this->countModules('position-8')) : ?>

<?php endif; ?>


Меняем  class блока с контентом


<div class="<?php echo $span;?>" id="content">
<jdoc:include type="message"/>
<jdoc:include type="component"/></div>

Как то так... Позиции конечно подставляешь свои... Стиль Bootstrap 3
Записан
flyingspook
Профи
********

Репутация: +226/-9
Offline Offline

Сообщений: 3529


« Ответ #2 : 12.03.2016, 22:55:30 »

Код
<div class="head">
<?php if($this->countModules('head1'))?>
<div id="head1">
<jdoc:include type="modules" name="head1" />
</div>
<?php }
   if($this->countModules('head2'))?>
<div id="head2">
<jdoc:include type="modules" name="head2" />
</div>
</div>
<?php } ?>
Условие можно подобрать нужное это на публикацию модуля в позиции.
Записан
Golubevod
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 39


« Ответ #3 : 12.03.2016, 23:32:17 »

Сайт умирает от этого кода  Cry
Записан
fsv
Практически профи
*******

Репутация: +330/-2
Offline Offline

Пол: Мужской
Сообщений: 2238


« Ответ #4 : 12.03.2016, 23:46:53 »

Код
<?php ( if($this->countModules('head1')) || if($this->countModules('head2')) ) : ?>
 
<div class="head">
 
<?php if($this->countModules('head1')) : ?>
           <div id="head1"><jdoc:include type="modules" name="head1" /></div>
       <?php endif; ?>
 
       <?php if($this->countModules('head2')) : ?>
           <div id="head2"><jdoc:include type="modules" name="head2" /></div>
       <?php endif; ?>
 
</div>
 
<?php endif; ?>
Записан
Golubevod
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 39


« Ответ #5 : 12.03.2016, 23:54:13 »

Спасибо! Но с этим кодом сайт тоже умирает  Cry
Я его вставляю в index.php вместо старого кода
Код:
<div class="head">
<div id="head1">
<jdoc:include type="modules" name="head1" />
</div><div id="head2">
<jdoc:include type="modules" name="head2" />
</div>
</div>

Где-то здесь не хочет работать
Код:
<?php ( if($this->countModules('head1')) || if($this->countModules('head2')) ) : ?>
« Последнее редактирование: 13.03.2016, 00:02:59 от Golubevod » Записан
fbr
Живу я здесь
******

Репутация: +136/-6
Offline Offline

Сообщений: 1250


« Ответ #6 : 13.03.2016, 00:06:10 »

Спасибо! Но с этим кодом сайт тоже умирает  Cry  
..

Исправьте первую строку кода от fsv

Код
<?php  if($this->countModules('head1') || $this->countModules('head2')) : ?>
Записан
Golubevod
Осваиваюсь на форуме
***

Репутация: +0/-0
Offline Offline

Сообщений: 39


« Ответ #7 : 13.03.2016, 00:13:43 »

Работает! Благодарю вас достопочтенный и благородный человек!  Cheesy
Записан
Страниц: [1]   Вверх
  Добавить закладку  |  Печать  
 
Перейти в:  

Powered by SMF 1.1.21 | SMF © 2006, Simple Machines

Joomlaforum.ru is not affiliated with or endorsed by the Joomla! Project or Open Source Matters.
The Joomla! name and logo is used under a limited license granted by Open Source Matters
the trademark holder in the United States and other countries.

LiveInternet