Как не показывать модуль на главной компонента?

#1 7 ноября 2013 в 18:43
Есть стандартная функция Не показывать на вложенных страницах, а как добавить галочку Не показывать на главной странице компонента конкретного, а на вложенных оного показывать этот модуль? реально ли или все делать надо за счет темплейта компонента? есть у кого опыт?
#2 7 ноября 2013 в 20:38
У меня не раз возникал подобный вопрос, но как то руки не доходили для создания темы.
Присоединяюсь!
#3 7 ноября 2013 в 20:48
Можете в файле модуля сделать проверку на урл и возвращать false если совпадает с урлом компонента, например.
#4 7 ноября 2013 в 21:41
kirkr, http://instantcms.ru/forum/thread16460.html#152122
Для php
  1. <?php if ($mod_count['sidebar_right2'] && $_SERVER['REQUEST_URI'] != '/novosti') { ?>
  2. <div class="col-right" id="sidebar-right2"><?php $inPage->printModules('sidebar_right2'); ?>
  3. </div>
  4. <?php } ?>
== если равно то — не показываем модуль
!= если не равно — то показываем

http://instantcms.ru/forum/thread16523.html#153044
Для tpl
  1. {if $smarty.server.REQUEST_URI == "/stati/marketing"}
  2. МОДУЛЬ
  3. {/if}
  4. {if $smarty.server.REQUEST_URI != "/stati/marketing"}
  5. МОДУЛЬ
  6. {/if}
== если равно то — не показываем модуль
!= если не равно — то показываем
#5 8 ноября 2013 в 00:12
Поправлю — так наверное
Группе, к которой вы принадлежите, запрещено просматривать этот скрытый текст
#6 8 ноября 2013 в 00:34
Gumoff, ага, спасибо, подправлю.
Вот еще примерчик.
  1. <?php if ($_SERVER['REQUEST_URI'] != '/novosti') { ?>СОДЕРЖИМОЕ_1<?php } else { ?>СОДЕРЖИМОЕ_2<?php } ?>
СОДЕРЖИМОЕ может быть любым в принципе.
#7 8 ноября 2013 в 06:11
PolarOne, lokanaft, спасибо, пока так и спасаюсь, но думал может проще есть, чтоб девушки не понимающие в программировании клацнули и все :)
#8 8 ноября 2013 в 12:37
kirkr, сори, я с этим не игрался, но вроде модули привязываются к пункту меню. Может получится создать пункт меню не выводя его в основной и уже к этому прикрепить модуль? Сори, я тут пока конкретнее сказать не могу. Может кто-то еще дополнит.
#9 8 ноября 2013 в 12:43
А просто для главной есть решение? чтобы на site.ru не выводился модуль
#10 8 ноября 2013 в 13:08


А просто для главной есть решение? чтобы на site.ru не выводился модуль

Gumoff

  1. <?php if ($_SERVER['REQUEST_URI'] != '/index.php' && $_SERVER['REQUEST_URI'] != '/') { ?>
  2.  
  3. тут код вывода нашего модуля
  4. <?php } ?>
т.е. все что внутри данного кода не будет показываться на главной странице сайта.

Либо в настройках модуля снемите галочку с показа на главной странице ))
#11 8 ноября 2013 в 15:46
а и правда ведь index.php понял, спасибо))
#12 29 ноября 2013 в 12:44
Добавлю чтоб было, еще один способ выводить необходимое только на одной странице, либо на всех страницах категории.
  1. <?php
  2. $sv = $_SERVER['REQUEST_URI']; if (strstr($sv, '/novosti/') or strstr($sv, '/novosti')) { ?>
  3.  
  4. ВАШ КОД
  5.  
  6. <?php } else { ?>
  7. <?php } ?>
Можно вместо этого
if (strstr($sv, '/novosti/') or strstr($sv, '/novosti')) поставить так
if ($sv == '/novosti/10/11' || $sv == '/novosti/10' || $sv == '/novosti/13' || $sv == '/novosti/18' || $sv == '/novosti/19' || $sv == '/novosti/21')
Или включить или исключить конкретные страницы/разделы/категории
#13 12 февраля 2014 в 16:09
Столкнулся с такой ситуацией что обычные методы определения не работают с главной страницей. Вот, мне кажется, лучший вариант если страница Главная!
  1. <? if ($_SERVER["REQUEST_URI"] == "/" || $_SERVER["REQUEST_URI"] == "/index.php" || $_SERVER["REQUEST_URI"] == "/?" || $_SERVER["REQUEST_URI"] == "/index.php?"){?>
  2. ЧТО_ТО На главной
  3. <?} else{?>
  4. Что-то на остальных
  5. <?}?>
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.