Модуль в компоненте instantcms 1.10.7 1.X

 
Посетитель
small user social cms
Медаль
Сообщений: 435
Здравствуйте!

Есть задача, выводить модуль только в определенном компоненте (статьи или форум или объявления)

Как можно ее решить? Может уже есть готовые решения?
Посетитель
small user social cms
Медаль
Сообщений: 551
@IRIPUS:
Как можно ее решить? Может уже есть готовые решения?
https://instantcms.ru/forum/thread30312-1.html#296005 и т.д. (используйте поиск на сайте форума).
Реклама
cms
Посетитель
small user social cms
Медаль
Сообщений: 435
DeDja, спасибо за ответ, но по ссылке нет ответа на интересующую меня тему.

Мне нужно знать, как можно назначить модуль КОМПОНЕНТУ!
Например:
- есть множество разделов статей (около 100)
- чтобы не создавать 100 меню со ссылкой на каждый раздел, я написал простой модуль, который выводит списком все категории.
- на сайте есть форум, объявления, content
- нужно этот модуль повесить на content

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

Если content то выводим позицию модуля mod_content (например)
Посетитель
small user social cms
Сообщений: 67
так воткните его в com_content_view.tpl и com_content_read.tpl
надёжные прокси
Посетитель
small user social cms
Медаль
Сообщений: 435
Tamatoa, Да, это было бы очевидным решением, если бы не мой трехколоночный шаблон
который содержит и другие модули =(

я знаю, что в системе предусмотрена функция вывода только в компоненте, но ... знать бы как реализовать
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 479
Можно сделать простым костылем.
* Открываем файл вашего шаблона "template.php"
* В нужное место вывода шаблона вставляем такой код
Код PHP:
  1.  
  2. <?php if($inCore->component == 'content'){ $this->printModules('poziciya'); } ?>
  3.  
* если нужно что бы модуль отображался только на странице категорий и не отображался на странице статьи, дописываем условие на проверку действия и получаем
Код PHP:
  1.  
  2. <?php if($inCore->component == 'content' && $inCore->do == 'view'){ $this->printModules('poziciya'); } ?>
  3.  
Создание сайтов, верстка, дизайн, кодинг
Спасибо принимаются на: ЯД 41001150698283
Посетитель
small user social cms
Почетный донор проектаМедальПочетный донор проекта
Сообщений: 244
Возможно это подойдёт
Посетитель
small user social cms
Медаль
Сообщений: 435
AtlantisWeb, спасибо, ваш вариант подходит.

мой template.php от шаблона dezerit

и там правая колонка выводится как-то так:

Код PHP:
  1.  
  2. <?php if ($col['right_col']) { ?>
  3. <div id="right_column">
  4. <div id="content_r_box" class="main_column">
  5. <div class="column_wrap">
  6. <?php $this->printModules('right'); ?>
  7. </div>
  8. </div>
  9. </div>
  10. <?php } ?>
  11.  
а в самом верху файла как-то так:

Код PHP:
  1.  
  2.  
  3. <?php
  4.  
  5. $col['right_col']=0;
  6. $col['left_col']=0;
  7. $col['side_col']=0;
  8.  
  9. if($this->countModules('left')){ $col['left_col']=1; }
  10. if($this->countModules('right') && $inCore->component == 'content'){ $col['right_col']=1; }
  11. if($this->countModules('sidebar')){ $col['side_col']=1; }
  12.  
  13. ?>
  14.  
Вставить получилось, оно работает с костылем
но как-бы его в шаблон влепить..
Посетитель
small user social cms
Медаль
Сообщений: 435
сделал так, вроде работает =)

Код PHP:
  1. $col['right_col']=0;
  2. $col['left_col']=0;
  3. $col['side_col']=0;
  4.  
  5. if($this->countModules('left')){ $col['left_col']=1; }
  6. if($inCore->component == 'content' && $this->countModules('right_content')){ $col['right_col']=1; }
  7. if($this->countModules('right')){ $col['right_col']=1; }
  8. if($this->countModules('sidebar')){ $col['side_col']=1; }
спасибо
Посетитель
small user social cms
Медаль
Сообщений: 435
Следующий вопрос

на сайте есть форма поиска (стандартный модуль)

можно ли, заставить его искать только в том разделе, где сейчас находится пользователь? НАпример, на форуме - ищем только на форуме, в объявлениях - объявления и т.п.? кнопку "параметры поиска" отменять не нужно

но приоритет поиска - в текущем компоненте
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.