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

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Нужна помощь в таком моменте: использую мультиязычность, а в самом шаблоне для определенных блоков прописано:
<?php if (JFactory::getURI()->toString() == JURI::base()) : ?>
<!--На главной-->
<?php endif; ?>

<?php if (JFactory::getURI()->toString()!== JURI::base()) : ?>
<!--Не на главной-->
<?php endif; ?>

Проблема в том, что при этом домен/ru или домен/en уже как-бы не считаются главными и, соответственно, нужные модули в них не отображаются...

Для Joomla 2.5 не в свое время помогли этим:
<?php
$base=array(JURI::base(),JURI::base().'en',JURI::base().'ru',JURI::base().'ru/',JURI::base().'en/');
if (!in_array(JURI::current(),$base)){ ?>
<!--Не на главной-->
<?php } ?>

но, почему-то для тройки это не работает. Шаблон blank.vc
« Последнее редактирование: 22.12.2014, 10:03:43 от b2z »
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
http://joomlaforum.ru/index.php/topic,205202.msg1456524.html#msg1456524

Я еще чуток усовершенстовал с того времени. Напоминаю, что это работает только со включенным SEF.

Код: php
<?php
// Установка по умолчанию
$baseUri = JUri::base();

// Если включена мультиязычность, то добавляем код языка для URL
if (JLanguageMultilang::isEnabled())
{
 
        $uris = array();
 
foreach (JLanguageHelper::getLanguages() as $lang)
{
$uris[$lang->lang_code] = JUri::base(). $lang->sef . '/';
}
 
$baseUri = $uris[JFactory::getLanguage()->getTag()];
}
?>

<?php if (JUri::current() == JUri::base() OR JUri::current() == $baseUri) : ?>
// Мы на главной странице
<?php endif; ?>

<?php if (JUri::current()!== JUri::base() AND JUri::current()!== $baseUri) : ?>
// Мы НЕ на главной странице
<?php endif; ?>
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
У меня шаблон начинается так:
Спойлер
[свернуть]

Если я сюда добавляю вашу строку
Спойлер
[свернуть]

То все, что в head — лезет в body и верстка сползает. В чем моя ошибка?
« Последнее редактирование: 17.11.2014, 13:22:01 от kik84 »
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
У Вас должно быть так:
Код: php
<?php defined( '_JEXEC' ) or die;

$app = JFactory::getApplication();
$doc = JFactory::getDocument();
$menu = $app->getMenu();
$active = $app->getMenu()->getActive();
$params = $app->getParams();
$pageclass = $params->get('pageclass_sfx');
$tpath = $this->baseurl.'/templates/'.$this->template;
$this->setGenerator(null);

// Установка по умолчанию
$baseUri = JUri::base();
 
// Если включена мультиязычность, то добавляем код языка для URL
if (JLanguageMultilang::isEnabled())
{
 
        $uris = array();
 
foreach (JLanguageHelper::getLanguages() as $lang)
{
$uris[$lang->lang_code] = JUri::base(). $lang->sef . '/';
}
 
$baseUri = $uris[JFactory::getLanguage()->getTag()];
}
?>
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
СПС. Я не верно понял фразу // Установка по умолчанию  ^-^
Подскажите, а будет ли быстрее загружаться внутренние страницы сайта, если 20 блоков с различными модулями (которые нужны только на главной) обернуть в соответствующее условие, или это ни как не повлияет?
« Последнее редактирование: 17.11.2014, 17:59:57 от kik84 »
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Почему-то условие не для главной не срабатывает, хотя с первым условием все в порядке.
Код
<!--Не на главной-->
<?php if (JUri::current()!== JUri::base() OR JUri::current()!== $baseUri) : ?>
<jdoc:include type="component" />
<div class="navigation">
<jdoc:include type="modules" name="navigation" style="xhtml" />
</div>
<!--end Не на главной-->

И материал и навигация вылазят на главной...
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Попробуйте

Код: php
if (JUri::current()!== JUri::base() AND JUri::current()!== $baseUri)
Теперь работает.
*

kik84

  • Завсегдатай
  • 1350
  • 64 / 4
Опять требуется Ваша помощь...
Как мне сделать редирект с сайт/en на сайт/en/ (русский по умолчанию)
Дело в том, что без слеша на конце не отображаются модули, в настройках опубликованные именно для англ. версии...
*

b2z

  • Глобальный модератор
  • 7290
  • 778 / 0
  • Разраблю понемногу
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться