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

alexS

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Не получается сделать так, чтобы модуль был только на главной. По умолчанию стоит стандартная главная com_frontpage. Проблема заключается в том, что при переходе с ссылок с главной этот модуль появляется и на тех страницах, куда перешел.

Обычно в таких случаях использовал следубщий код:
<?php if  ($option == 'com_content' && ($task == 'blogcategory' or $task == 'section') && $id == 14) { ?>
<?php mosLoadModules ( 'user2' ); ?>
<?php } ?>

Но в данном случае у com_frontpage нет id объекта.

Аналогичная проблема и с компонентом sobi установленным на главной. Также при переходе по ссылкам модуль переходит и на все другие страницы, а нужно чтобы был только на главной.
также у com_sobi2 нет id

Никто не сталкивался с подобными проблемами?
Создание дополнительных шаблонов также не решает проблему.
*

poizon

  • Захожу иногда
  • 495
  • 187 / 1
  • Buu
com_frotnpage не требеут id в данном случае.

Код
<? if($option=='com_frontpage') { ?>
  <div id="banner"><img src="<?php echo $mosConfig_live_site; ?>/templates/kvartira/banner/banner1.jpg" width="550" height="127" alt="banner" /></div>
     <? } ?>
*

chemerzaev

  • Давно я тут
  • 622
  • 83 / 3
  • Надо мыслить. Меня, например, кормят идеи.
А почему бы не назначить в модулях у меня такое прекрасно работает. То есть открой модуль и справа назначь главной странице. Все работает как часы.
Я несчастный человек, который, как долбаный экстрасенс, должен понимать заказчика, даже если он сам не знает, чего хочет
*

alexS

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
Вот:
<?php if  ($option == 'com_frontpage'){ ?><br><?php }    else { mosLoadModules('user15'); } ?>

он должен открывать его на всех других страницах, но модуль не открывается когда я перехожу с сылок текста на главной странице.

Тоже самое и наоборот, когда ставлю условие чтобы этот модуль был наоборот только на главной, а на всех других его не было. Он появляется на страницах когда я перехожу по ссылкам с текста главной.

Если же я перехожу на эти страницы с какого-нибудь другого места - то все работает

*

tsesl

  • Захожу иногда
  • 363
  • 87 / 0
  • Терпение и труд всё перетрут?
При переходе по ссылкам, сформированным через com_frontpage, подтягивается Itemid com_frontpage в том случае, если материалы, опубликованные через com_frontpage, не имеют своих элементов меню (блогов, прямых ссылок и т.п.)
FAQ смотрел? Версию указал?
*

alexS

  • Осваиваюсь на форуме
  • 25
  • 0 / 0
вот :) и как тогда прописывать условия, чтобы они не подтягивались?
*

tsesl

  • Захожу иногда
  • 363
  • 87 / 0
  • Терпение и труд всё перетрут?
вот :) и как тогда прописывать условия, чтобы они не подтягивались?

Все решается на уровне параметров публикации интересующего модуля, проверки в шаблоне на mosCountModules и создания блога(-ов) для материалов сайта...
FAQ смотрел? Версию указал?

 Я не очень розбираюсь в Joomla но ето просто реализовать на php
просто ставишь вот такое условия
Цитировать
<?php if ($HTTP_GET_VARS['Itemid']==NULL||$HTTP_GET_VARS['Itemid']==1){
mosLoadModules ( 'user2' );
}?>
ето должно роботать на 100%
*

veter

  • Осваиваюсь на форуме
  • 31
  • 0 / 0
Проблему такую же устранил методом poizon'а. Всё отлично работает.
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
А можно сделать так, чтобы модуль был виден только на страницах определенной категории (например главной), но сам бы модуль на этой главной странице не показывался бы ?
*

chtec

  • Захожу иногда
  • 230
  • 100 / 1
А можно сделать так, чтобы модуль был виден только на страницах определенной категории (например главной), но сам бы модуль на этой главной странице не показывался бы ?

Насколько я поняла, модуль должен быть виден при просмотре материалов определенной категории? Если так, то нужно поставить в шаблоне двойное условие - на id категории и на переменную $task :


выявляем id категории

<?php
  $id = intval( mosGetParam( $_REQUEST, 'id', 0 ) );
  if ( $id ) {
    global $database;
    $row = new mosContent( $database );
    $row->load( $id );
    $catid = $row->catid;
  }

вот это условие - для категории номер 14

if ($catid == 14 && $task == 'view') {

?>

сюда прописывать вывод модуля

<?php } else { ?>

а сюда - "не вывод"

<?php } ?>

то, что выделено красным - писать не надо.
Осень тоже хорошо.
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
Я уже сама щас запутаюсь ...... Мне кажется это слишком сложно, что ты написала.
А можно прописать по проще, чтобы модуль не выводился на главной странице, а лишь на страницах этой категории ? - а привяжу к категории (через администраторскую панель).
*

chtec

  • Захожу иногда
  • 230
  • 100 / 1
Модули привязываются не к категории, а к пунктам меню. Их можно привязать к пунктам меню, ведущим к страницам категории, но это не будет работать, если ты с главной страницы будешь переходить по ссылкам в контенте - тогда расположение модулей останется, как на главной.

Если же ты пользуешься для перехода только меню - конечно можно.

ЗЫ: это не сложно - попробуй вставить в index.php, подставив нужный id категории и команду вывода модуля. Все получится, не понравится - вернешь обратно.
Осень тоже хорошо.
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
Половина я поняла, нужно вписать в шаблон и указываем номер категории. Но не могу понять вот это:

сюда прописывать вывод модуля:

<?php } else { ?>

а сюда - "не вывод":

<?php } ?>

------------

А как прописать этот вывод модуля ?  Как я понимаю, нужно как то этот код соединить с модулем (хочу поставить DGM).
*

chtec

  • Захожу иногда
  • 230
  • 100 / 1
Под "выводом модуля" подразумевается вывод позиции, в которой будут выводится модули.

<?php mosLoadModules ( 'top' ); ?>

- вот так - это для вывода позиции "top"
В админке присваиваешь модулю какую-либо позицию (любую, это ж просто названия - можешь новую придумать).
Почитай еще в faq про позиции модулей, и посмотри в index.php - как они у тебя выводятся.

сюда прописывать вывод модуля:

<?php } else { ?>

а сюда - "не вывод":

<?php } ?>

Если тебе нужно только вывести модуль при определенном условии (то есть условие типа "если... то..." а не "если... то... иначе..."

то можно ограничится этим:

сюда прописывать вывод модуля:

<?php } ?>
Осень тоже хорошо.
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
неа, я понимаю, что такое позиция модуля. А как задать в коде, чтобы эта "позиция" выводилась только на внутренних страницах категории, а не на главной странице этой категории? Так можно сделать ?

Например позиция:

         
                <tr>
                      <td colspan="3" valign="top" style="border-top: 3px solid #FFFFFF;"> <?php if (mosCountModules('user7')) { ?>
                      <div>
                      <?php mosLoadModules ( 'user7' ); ?>
                      </div>
                      <?php } ?>
                     </td>
              </tr>
*

chtec

  • Захожу иногда
  • 230
  • 100 / 1
Так как я говорила в 14 ответе... Если я правильно понимаю слова "внутренние страницы категории".
Ты имеешь в виду материалы в режиме просмотра (как мне до сих пор казалось ::) ) или что-то другое?
Осень тоже хорошо.
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
1. да правильно понимаешь! - мне нужно сделать, чтобы на главной странице категории модуль не выводился, а на внутренних страницах этой же категории - выводились.
2. Когда вставляю этот код, сайт не открывается:

<?php
  $id = intval( mosGetParam( $_REQUEST, 'id', 0 ) );
  if ( $id ) {
    global $database;
    $row = new mosContent( $database );
    $row->load( $id );
    $catid = $row->catid;
  }
if ($catid == 14 && $task == 'view') {

?>
*

chtec

  • Захожу иногда
  • 230
  • 100 / 1
Не открывается - какую ошибку выдает?

Вообще - прикрепи сюда свой index.php и скажи id категории с которой ты хочешь это провернуть.
Осень тоже хорошо.
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
1. ID категории: 29  (/content/blogsection/17/29/)
2. вложила файл. (хочу использовать для этого "user6" или "bottom")
« Последнее редактирование: 21.03.2008, 21:09:55 от Arina »
*

chtec

  • Захожу иногда
  • 230
  • 100 / 1
29 здесь - это id пункта меню, 17 - это id раздела.
Речь до сих пор шла о категории. Так тебе раздел нужен?
Осень тоже хорошо.
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
сейчас посмотрела, да в раздел. А раздел от категории чем то отличается ?
*

chtec

  • Захожу иногда
  • 230
  • 100 / 1
А раздел от категории чем то отличается ?

Примерно тем же, чем многоквартирный дом - от одной квартиры... Я тебе вроде как помогаю в квартире обои клеить, а ты хлопаешь ресницами и говоришь "а я разве не сказала, что нужно во всем доме? А какая разница?"  ::)
Правда, здесь отличие скорее качественное, чем количественное.  ;)

В общем - держи свой индекс.

Вместо выражения
Код
<?php if (mosCountModules('user6')) { ?>
                      <div>
                      <?php mosLoadModules ( 'user6' ); ?>
                      </div>
                      <?php } ?>

В нем теперь стоит

Код
<?php

    $id = intval( mosGetParam( $_REQUEST, 'id', 0 ) );
    global $database;
    $row = new mosContent( $database );
    $row->load( $id );
    $catid = $row->catid;

$category = new mosCategory( $database );
$category->load( $catid );
$sectionid = $category->section;


if ($sectionid == 4 && $task == 'view') {

?>


<?php if (mosCountModules('user6')) { ?>
                      <div>
                      <?php mosLoadModules ( 'user6' ); ?>
                      </div>
                      <?php } ?>
<?php } ?>

где

if ($sectionid == 17 && $task == 'view') {

вот эта "17" - id раздела.

В итоге - модули, опубликованные в позиции user6 выводятся только тогда, когда ты смотришь материалы этого раздела в режиме просмотра материалов.

[вложение удалено Администратором]
Осень тоже хорошо.
*

Arina

  • Захожу иногда
  • 164
  • 1 / 0
уряяяяяяя, всё работает!!! спасибо!
*

Барракуда

  • Захожу иногда
  • 69
  • 0 / 0
Друзья, срочно нужна помощь!

В PHP я - чайник.
Как задать условия для вывода для определенных категорий вот этого:

<div id="news_bar">{modulepos newsbar}</div>

Нюанс в том, что эта запись у меня выводится не в шаблоне сайта, а в шаблоне блога категории 
« Последнее редактирование: 08.06.2011, 23:36:11 от Барракуда »
*

puserfill

  • Новичок
  • 4
  • 0 / 0
Здравствуйте! Проблема такая.

К кнопке меню подключена категория к2 - вывод материалов происходит засчет категории к2.
В этой категории есть модуль. Он отображается как в самой категории к2, так и в каждом материале данной категории.
Подскажите, пожалуйста, что нужно прописать, чтобы модуль отображался только в категории, а в материалах данной категории не отображался. Заранее спасибо!!
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как скрыть шапку сайта только на одной странице? Это вообще возможно?

Автор Kashastealer

Ответов: 8
Просмотров: 2788
Последний ответ 27.08.2019, 14:00:39
от Kashastealer
Как сделать показ header от времени суток

Автор raduga

Ответов: 33
Просмотров: 36079
Последний ответ 19.01.2014, 01:35:26
от Beer
Как сделать, чтобы контактная информация отображалась над меню или рядом с ним?

Автор bugaooga

Ответов: 1
Просмотров: 3542
Последний ответ 25.10.2013, 20:54:31
от artel-st
Как сделать закругленные углы в модулях

Автор raduga

Ответов: 89
Просмотров: 134930
Последний ответ 26.04.2013, 19:53:28
от den_caruk
Как сделать смену картинки при выборе разных пунктах меню

Автор raduga

Ответов: 17
Просмотров: 24781
Последний ответ 16.01.2013, 14:19:27
от zavarov