Веб мастер - CMS Joomla

Не работает? Начинай читать инструкцию.

PHP - различные условия вывода текста в модулях Joomla 3.х

Как в Joomla показывать по условию, или не показывать по условию текст на определённых страницах, с помощью php?

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

Для начала, как при включенном SEF, узнать не SEF ссылку? Достаточно в шаблоне написать

<?php echo $_SERVER["HTTP_HOST"].'/index.php?' . http_build_query($_REQUEST); ?>

выведет не SEF ссылку на которой Вы находитесь.

Теперь пару примеров отображения текста по условию.

Условия вывода на php - выбор страниц по Itemid

// создаем массив с нужными значениями
$arr = Array(101, 102, 105);
// с помощью Jinput получаем значение Itemid текущей страницы
//$Itemid = JFactory::getApplication()->input->getInt('Itemid', 0);
// а лучше встроенных фильтров php
$Itemid = filter_input(INPUT_GET, 'Itemid', FILTER_VALIDATE_INT);
// проверяем находится значение $Itemid в массиве $arr
if(in_array($Itemid, $arr )):
echo 'Да'; // Мы на этой странице
else:
echo 'Нет'; // Itemid страницы не находится  в массиве $arr
endif;

Есть некий модуль с текстом и ссылкой в нём. На всех страницах небходим текст со ссылкой, а на определённых, без ссыкли. Как это реализовать ? Приведу несколько примеров.

Условия вывода на php - выбор страниц по id

В данном случае, на всех страницах отображается текст со ссылкой, и только на одной, с id 1058 ссылки не будет. Так как ссылка указывает на страницу с этим id 1058

<div style="background-image: url('/images/site/moduli-inform/cms_color.png'); background-repeat: no-repeat; height: 55px; background-position: 0px 0px;">
<?php
$arr = Array(1058);
$id = JFactory::getApplication()->input->getInt('id', 0);
if(in_array($id, $arr )):
echo '
<p style="padding-left: 50px; padding-top: 0px;">CMS - установка системы управления контентом.</p>
';
else:
echo '
<p style="padding-left: 50px; padding-top: 0px;">CMS - установка системы управления контентом<br />
<a href="index.php?option=com_content&view=article&id=1058&Itemid=736&lang=ru" title="Система управления контентом - это возможность управлять сайтом самостоятельно. Экономия на услугах программистов, не требует специальных знаний, позволяет быстро сменить дизайн сайта">Подробнее ...</a></p>
';
endif;
?>
</div>

Подсказка, как написать картинку как ссылку на php

echo '
<p><strong>текст</strong> <br />текст <a href="index.php?option=com_content&view=article&id=1031&Itemid=704&lang=ru" title="титлы"><img src=\'/images/6.png\' alt="Читать далее" /></a></p>
';

Второй пример условия вывода на php - выбор страниц по id, + подсказка, как написать картинку которая меняется при наведении, как ссылку на php

<?php
$arr = Array(1031);
$id = JFactory::getApplication()->input->getInt('id', 0);?>
<?php if(in_array($id, $arr )): ?>
<p><strong>Создание сайта визитки</strong> <br />- это 1-5 страниц, которые <br />полностью описывают основную <br />информацию о вас, предлагаемых <br />услугах и способах связи </p>
<?php else: ?>
<p><strong>Создание сайта визитки</strong> <br />- это 1-5 страниц, которые <br />полностью описывают основную <br />информацию о вас, предлагаемых <br />услугах и способах связи
<?php $image = JHtml::_('image', 'images/6.png', 'Читать далее', array('onmouseout' => "this.src='images/6.png';", 'onmouseover' => "this.src='images/6-visited.png';")); ?>
<?php echo JHtml::_('link', JRoute::_('index.php?option=com_content&view=article&id=1031&Itemid=704&lang=ru'), $image, array('title' => 'Создание сайта визитки для небольшого бизнеса и частных лиц')); ?>
<?php endif; ?>
</p>

Есть интересная тема на форуме

Различные условия в шаблонах Joomla 3.0 и 2.5

Добавить комментарий


Защитный код
Обновить

Поддержите сайт

Последние комментарии

  • Сервер обновления NOD32 бесплатно
    Андрей 08.10.2018 15:46
    Красава СПС!

    Подробнее...

     
  • Сервер обновления NOD32 бесплатно
    Наталья 05.07.2018 21:22
    Спасибо!!!

    Подробнее...

     
  • Установить сервер видеоконференции OpenMCU на CentOS-6
    Batch 03.07.2018 23:15
    Доброго времени суток, незнаете что случилось с сайтом openmcu и videoswich ? Я не могу зайти. :sad ...

    Подробнее...