0 Пользователей и 1 Гость просматривают эту тему.
  • 4 Ответов
  • 1559 Просмотров
*

amor

  • Захожу иногда
  • 58
  • 0 / 0
Подскажите, почему продублированная позиция не отображает модуль на сайте, если модуль в первой позиции не включен.
Если модуль в первой позиции включить, то тогда отображается и второй модуль в продублированной позиции.

1-я Позиция.

<?php if ($it_banner != 0) { ?>

    <div class="container">
        <div id="banner_area">
            <div class="row-fluid">
                <jdoc:include type="modules" name="banner" style="banner" />
            </div>
        </div>   
    </div>
           
    <?php } ?>


    2-я Позиция.


<?php if ($it_banner != 0) { ?>

    <div class="container">
        <div id="banner_area">
            <div class="row-fluid">
                <jdoc:include type="modules" name="banner_2" style="banner" />
            </div>
        </div>   
    </div>
           
    <?php } ?>
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Дублирование позиций модуля
« Ответ #1 : 26.02.2021, 19:30:56 »
так у вас не дубль позиции.
2 разных модуля выводятся, а условие вывода - одно
смотрите, откуда задается $it_banner (выше в коде по имени найдите)
если эта переменная пустая, то обе позиции скрываются.
*

amor

  • Захожу иногда
  • 58
  • 0 / 0
Re: Дублирование позиций модуля
« Ответ #2 : 26.02.2021, 22:43:17 »
Вообще не разбираюсь в PHP.
Но, все что связано с $it_banner нашел только в других файлах:

Файл  modules.php

// Banner Modules
function modChrome_banner($module, &$params, &$attribs)
{
   global $it_banner;
   
   if ($it_banner == 1) {
      $banner_width = "span12";
         
   } elseif ($it_banner == 2) {
      $banner_width = "span6";
      
   } elseif ($it_banner == 3) {
      $banner_width = "span4";
      
   } elseif ($it_banner == 4) {
      $banner_width = "span3";
      
   } elseif ($it_banner == 6) {   
      $banner_width = "span2";   
      
   } else {
      $banner_width = "span";   
   }

Файл variables.php

global $it_banner;          // we use this variable on modules.php functions
$it_banner               = $this->countModules('banner');

Что именно здесь нужно править?
*

effrit

  • Легенда
  • 10132
  • 1118 / 13
  • effrit.com
Re: Дублирование позиций модуля
« Ответ #3 : 26.02.2021, 23:01:49 »
Код
$it_banner               = $this->countModules('banner');
эта переменная получает количество опубликованных модулей в позиции banner
поэтому первое условие у вас правильное и показывает позицию для баннеров, если они есть
Код
 <jdoc:include type="modules" name="banner" style="banner" />

а второе получается нелогичным, ведь по нему выводятся баннеры из позиции banner_2, а проверка все так же идет на количество баннеров в  banner так что замените второе условие
<?php if ($it_banner != 0) { ?>
на
Код
<?php if ($this->countModules('banner_2')!= 0) { ?> 

*

amor

  • Захожу иногда
  • 58
  • 0 / 0
Re: Дублирование позиций модуля
« Ответ #4 : 27.02.2021, 17:39:05 »
Спасибо! Помогло!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться