1. Уважаемые пользователи, прежде чем ответить в теме или создать новую,
    внимательно ознакомьтесь с правилами раздела

    Кому лень работать или руки не оттуда - пользуйтесь услугами специалистов
  2. Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.."

    Есть JED!!! Ищите там!!!

Помощь Joomla 1.5. Исключить показ рекламного блока в некоторых материалах. Знающим PHP.

Тема в разделе "Joomla", создана пользователем Gudym, 27 июн 2013.

Информация :
  • Уважаемые пользователи, прежде чем ответить в теме или создать новую, внимательно ознакомьтесь с правилами раздела
  • Не задавайте глупых вопросов "Посоветуйте какой-нибудь компонент.." Есть JED!!! Ищите там!!!
  • Аналоги ищите там же - на JED!!!
  • Новая версия? - У кого будет - тот выложит!
Статус темы:
Закрыта.
Модераторы: arman29, DMS, NightHunter
  1. Gudym

    Gudym Постоялец

    Регистр.:
    19 мар 2013
    Сообщения:
    55
    Симпатии:
    24
    Здравствуйте, уважаемые! Возникла деликатная ситуация. Двиг Joomla 1.5. Вывожу рекламный блок в конце каждой статьи не модулем, а прямой вставкой кода рекламного блока в в файл components/com_content/views/article/tmpl/default.php.

    Вывожу в конце файла default.php, вот так:

    Код:
    <div style='background: none repeat scroll 0 0 #F1F1F1; border-bottom: 1px solid #D8D8D8; border-left: 1px solid #D8D8D8; border-right: 1px solid #D8D8D8; margin-left: 9px; margin-top: -26px; padding: 13px; width: 687px;'><?php $a=file_get_contents("YandexDirect.php"); echo $a; ?></div>
    Получается, что данное решение показывает блок во всех без исключения статьях. И мне нужно с помощью PHP исключить из показа некоторые материалы или можно даже категории, так как все те материалы лежат в одной категории. Знающие, подскажите, как такое реализовать? Или дайте наводку, пожалуйста. PHP знаю плохо, раньше почти всегда выручал метод "научного тыка", но не в этот раз.
    Почему не вывожу просто модулем, там ведь можно исключить показ в категориях? Потому что таким образом блок отображается и на промежуточной странице категории, а мне нужно его выводить только непосредственно в статьях.
    Заранее спасибо!
     
  2. SovaBarmak

    SovaBarmak Создатель

    Регистр.:
    2 июл 2012
    Сообщения:
    17
    Симпатии:
    6
    Код:
    для категорий
    <?php if($_GET['catid']== айди категори or $_GET['catid']== еще 1 айди категори) {?>
    ваш код
    <?php } ?>
    для статей и категорий
    <?php if($_GET['id']== айди стати or $_GET['catid']== айди категори) {?>
    ваш код
    <?php } ?>
     
    Gudym и bodrilo нравится это.
  3. Gudym

    Gudym Постоялец

    Регистр.:
    19 мар 2013
    Сообщения:
    55
    Симпатии:
    24
    SovaBarmak, спасибо за попытку помочь! Но не получается :conf:
    В первом случае (для категорий) блок вообще исчезает во всех материалах. А во втором блок показывается в статье / категории, которая должна быть исключена.
    Я уже в замешательстве. На другом форуме посоветовали сделать вот так:
    Код:
    <?php if ($this->item->catid != ИД категории){ ?>
    <div style='background: none repeat scroll 0 0 #F1F1F1; border-bottom: 1px solid #D8D8D8; border-left: 1px solid #D8D8D8; border-right: 1px solid #D8D8D8; margin-left: 9px; margin-top: -26px; padding: 13px; width: 687px;'><?php $a=file_get_contents("YandexDirect.php"); echo $a; ?></div>
    <?php } ?>
    Но это тоже не помогает. Блок все равно показывается в категории. Может есть еще варианты? Спасибо!
     
  4. SovaBarmak

    SovaBarmak Создатель

    Регистр.:
    2 июл 2012
    Сообщения:
    17
    Симпатии:
    6
    Сори, ступил, все правильно вам там посоветовали, наверно, но я не помню как точно в объекте хранятся данные так шо остановимся на моем но подправленном варианте во так он должен выглядеть
    Код:
    для категорий
    <?php if($_GET['catid']!= айди категори or $_GET['catid']!= еще 1 айди категори) {?>
    ваш код
    <?php } ?>
    для статей и категорий
    <?php if($_GET['id']!= айди стати or $_GET['catid']!= айди категори) {?>
    ваш код
    <?php } ?>
    если хотите исключить еще 1 категорию дописываете в круглых скобках or $_GET['catid']!= айди категори
    если материал
    or $_GET['id']!= айди материала
     
  5. Gudym

    Gudym Постоялец

    Регистр.:
    19 мар 2013
    Сообщения:
    55
    Симпатии:
    24
    SovaBarmak, попробовал и так. Все равно не работает. Блок, как показывался так и показывается :( Ну буду надеяться, что все таки решение есть.
     
  6. SovaBarmak

    SovaBarmak Создатель

    Регистр.:
    2 июл 2012
    Сообщения:
    17
    Симпатии:
    6
    ок, тады исправлю ошибку в том варианте что дали вам
    Код:
    <?php if ($this->article->catid != ИД категории){ ?>
     
    Gudym нравится это.
  7. Gudym

    Gudym Постоялец

    Регистр.:
    19 мар 2013
    Сообщения:
    55
    Симпатии:
    24
    SovaBarmak, еще вопрос. А если мне нужно исключить не одну, а несколько категорий? Пробовал ставить через запитую категории
    Код:
    <?php if ($this->article->catid != 20,21,22...){ ?>
    Не получилось. Мне это пока не нужно, но может пригодится в будущем. Спасибо!
     
  8. SovaBarmak

    SovaBarmak Создатель

    Регистр.:
    2 июл 2012
    Сообщения:
    17
    Симпатии:
    6
    Код:
    <?php if ($this->article->catid != 20 or $this->article->catid != 21){ ?>
    а если статью то дописать
    or $this->article->id != айди стати
     
  9. Gudym

    Gudym Постоялец

    Регистр.:
    19 мар 2013
    Сообщения:
    55
    Симпатии:
    24
    Попробовал, но не работает. Мне это не критично, так что не буду больше Вас мучить :)
     
  10. SovaBarmak

    SovaBarmak Создатель

    Регистр.:
    2 июл 2012
    Сообщения:
    17
    Симпатии:
    6
    должно работать вы где то допустили ошибку
     
Статус темы:
Закрыта.