This page is hosted for free by zzz.com.ua, if you are owner of this page, you can remove this message and gain access to many additional features by upgrading your hosting to PRO or VIP for just 32.50 UAH.

Веб мастер - 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

Предлагаю ознакомиться с предложениями моих партнёров