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

fedragon

  • Давно я тут
  • 236
  • 22
  • You move like an insect
Как в 2.5 Joomla в коде проверить, на главной ли ты странице или нет?

Пробовал так
Цитировать
<?php
$menu = &JSite::getMenu();
if ($menu->getActive()!= $menu->getDefault()) {
?>
ТУТ ВЫПОЛНЯЕМЫЙ КОД
<?php } ?>

но код не лишен недостатков, срабатывает ложно бывает; хотелось бы какую-то точную проверку, чтоб знать - на главной ли я или нет.
« Последнее редактирование: 29.08.2013, 09:57:31 от b2z »
Your flesh is an insult to the perfection of the digital.
*

Fedor Vlasenko

  • Профи
  • 3806
  • 698
  • Все начинается с Value
При определенных условиях (главная имя домена) работает такой код
Код
<? php if (JFactory::getURI()->toString() == JURI::base()) : ?>
<h1>Мы на главной</h1>
<?php endif; ?>
*

Fedor Vlasenko

  • Профи
  • 3806
  • 698
  • Все начинается с Value
Простой пример. VirtueMart в качестве главной. Нажимаешь на категорию( я так понимаю на ссылку не привязанную к меню) и ваша проверка не срабатывает. Она вообще, по принципу работает как в первом посте от fedragon . Я же предложил совсем иной принцип сверять JFactory::getURI()->toString() адрес текущей страницы с адресом сайта JURI::base()
*

Fedor Vlasenko

  • Профи
  • 3806
  • 698
  • Все начинается с Value
Цитировать
вам не кажется что вы бред написали?! перейдете в категорию то вы уже будете не на главной! (перешли в категорию ссылка стала mysite.ru/cat.html и она не равна mysite.ru) что то вы выдумываете!
нет не кажется. Прежде чем так заявлять, тестируйте. Ваше решение я протестировал. Автор темы не зря поднял этот вопрос. Ссылка, да имеет другое значение mysite.ru/cat.html, но проверка ваша говорит, что мы на главной странице. Мы же находимся на странице категории VirtueMart
Похожая тема

P.S. И это не решает проблему
Код
if ($menu->getActive()->id == $menu->getDefault()->id) {}
*

fedragon

  • Давно я тут
  • 236
  • 22
  • You move like an insect
Poznakomlus, спасибо, всё работает в лучшем виде.
frisian, не стал проверять ваш код, потому что всё заработало и так, так что не могу сказать за его эффективность
Your flesh is an insult to the perfection of the digital.
*

Stake1988

  • Осваиваюсь на форуме
  • 65
  • 0
При определенных условиях (главная имя домена) работает такой код
Код
<? php if (JFactory::getURI()->toString() == JURI::base()) : ?>
<h1>Мы на главной</h1>
<?php endif; ?>

Странно, почему-то при добавлении этого кода сайт падает (в данное условие заключается только один блок div), точнее в тэге <body> пусто. Может это быть связанно с тем что сайт располагается в домене .рф?
*

Stake1988

  • Осваиваюсь на форуме
  • 65
  • 0
Поковырялся немного, заработал такой вариант:

Код
<?php $uri = &JFactory::getURI();
$url = $uri->toString(array('path', 'query', 'fragment'));
if ($url == "/") : ?>
<div >

</div>
<?php endif ?>
Кривовато конечно, но зато работает. Не проверял как оно будет работать в выше описанных вариантах с категориями VirtueMart и т.д.
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
Код: php
if ( JRequest::getVar('view') == 'featured' ) {$start=1;};
//и далее используем условие как хотим. Например так:
if ($start){
   echo 'Превед! Йа на главной!';
};

Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

angpyxa

  • Новичок
  • 1
  • 0
Привет! я попробовал ваши способы они что то не комильфо.. и написал свой
100% проверка

в шаблоне статьи например
templates/kino7/html/com_content/article/default.php

добавляем в любое место
$GLOBALS["myitem"] = $this->item->id; (айдишник статьи Привязанный к главному пункту меню)

templates/kino7/index.php (главный файл шаблона)

$myid = $GLOBALS["myitem"];

и где то в коде

<? if ($myid==24) :?>

тут все что на главной

 <? endif;?>
 к этому методу добавить ифку по поиску, но это уже производная..) задача решается просто

« Последнее редактирование: 31.03.2012, 17:26:55 от angpyxa »
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
angpyxa молодцом. Хороший велосипед. Работать с глобальными переменными при наличии фреймворка... Явно прописывать айдишники в разметке... В общем, я бы до такого не додумался.
Код: php
if ( JRequest::getVar('view') == 'featured' )
Всё, это самый универсальный, компактный и правильный способ проверки.
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

danik.html

  • Практически профи
  • 2659
  • 348
Shustry, не у всех же на главной отображается featured, ты не подумал?

Давайте помыслим.

Как вобще определить на главной мы или нет?

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

Можно сравнивать url главной страницы, и урл текущей.
Если игнорировать подстроку параметров урла (то что после ?) будут например проблемы с кривожопым виртом, который шлет все формы на index.php

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

Подводим итог:
Каждый "главная страница" понимает по-своему. Кто то - домашний пункт меню, кто-то site.ru/ , кто-то featured статьи Joomla и тд.

А значит нет универсального способа. В каждом случае надо выбирать под свои задачи.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
danik.html, затупил, не то скопипастил. :( Вот оно, вот оно решение моей мечты: написано Poznakomlus, доработано мной:
Код: php
 if (JURI::current() == JURI::base()){}
Абсолютно универсально и компактно.
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

danik.html

  • Практически профи
  • 2659
  • 348
Универсально, но не абсолютно. читай пост выше. А так да, наверно в 90% подойдет )
Так что закину к себе в копилку, чтоб потом самому не велосипедить.
【Мегапак Virtuemart:
 • метатеги (description,keywords)
 • заголовки (title)
 • красивые алиасы (чпу) без тормозов и дублей!
*

genetics

  • Осваиваюсь на форуме
  • 51
  • 5
  • «GeneticsPro»
 ^-^ Смотрите Joomla-документацию >> http://docs.joomla.org/How_to_determine_if_the_user_is_viewing_the_front_page
GeneticsPro - Будете всегда в курсе в событий мира Joomla!
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
genetics, с этого (из документации по ссылке который) способа и начал тему ТС :)
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

dron

  • Живу я здесь
  • 1130
  • 2
Подскажите, пожалуйста, а как вывести модуль только на главной странице? я только что на 2.5. перешел... извиняюсь за ламерский вопрос
*

genetics

  • Осваиваюсь на форуме
  • 51
  • 5
  • «GeneticsPro»
Менеджер модулей - Привязка к пунктам меню
GeneticsPro - Будете всегда в курсе в событий мира Joomla!
*

dron

  • Живу я здесь
  • 1130
  • 2
Менеджер модулей - Привязка к пунктам меню
ненене... условие в шаблоне как-то прописывается... в предыдущих Joomlaх так было.
*

Dgikar

  • Осваиваюсь на форуме
  • 159
  • 3
http://joomlaforum.ru/index.php/topic,199690.msg1059654.html#msg1059654 - Ответ #8 - Проверено - все работает на ура!
Долог путь поучения, короток и успешен путь примеров (Сенека).
*

ivan414

  • Новичок
  • 3
  • 0
Помогите. Перестали открываться ссылки. Открывается только главная страница. сайт http://foto-ivan.ru/
*

b2z

  • Support Team
  • 7470
  • 743
  • Разраблю понемногу
Помогите. Перестали открываться ссылки. Открывается только главная страница. сайт http://foto-ivan.ru/
И как это относиться к этой теме? Создайте отдельную!
*

swyatoslaw.ivanovich

  • Захожу иногда
  • 14
  • 0
что нужно для того, что бы выводить модули только на внутренних страницах?
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
Поставить перед условием восклицательный знак. Например так:
Код: php
if (!((JURI::current() == JURI::base())||(JRequest::getVar('view') == 'featured')))
{};
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

swyatoslaw.ivanovich

  • Захожу иногда
  • 14
  • 0
Поставить перед условием восклицательный знак. Например так:
Код: php
if (!((JURI::current() == JURI::base())||(JRequest::getVar('view') == 'featured')))
{};
Я чайник полный, так не получается=)) Мне кажется, что я совсем неправильно сделал=)) Код написал ниже, который вставлял в шаблон.
Код
<?php if (!((JURI::current() == JURI::base())||(JRequest::getVar('view') == 'featured')))
{}; ?> модуль на внутренних страницах <?php endif; ?>
*

Fedor Vlasenko

  • Профи
  • 3806
  • 698
  • Все начинается с Value
что нужно для того, что бы выводить модули только на внутренних страницах?
Все страницы кроме главной
Код: php-brief
<?php if(JURI::current()!= JURI::base()){}?>
Все страницы кроме главной, привязанные к меню главной
Код: php-brief
<?php if(JURI::current()!= JURI::base() && JMenuSite::getInstance('site')->getActive()->home){}?>
*

Shustry

  • Группа развития
  • 6430
  • 735
  • Рисую дизайны
Тогда может так?
Код: php
<?php if(JURI::current()!== JURI::base()){}>
Бесплатно консультирую по дизайну и вёрстке (только в личку сердечно прошу не стучать). Платно делаю дизайн, вёрстку и темплейты для Joomla. Работаю только за деньги. За большие. И долго. Но качественно.
---------------------------------------------------------
xmpp:joomla@conference.jabber.ru - наша конфа!
*

swyatoslaw.ivanovich

  • Захожу иногда
  • 14
  • 0
Пробую, вставляю, выдает ошибку Parse error: syntax error, unexpected '>' in /home/sandro2584/3v1.biz/docs/stylage/templates/stylage/index.php on line 38, ребят, как именно нужно прописывать в шаблоне, так?:
Код
<?php if(JURI::current()!== JURI::base()){}>
проверка
<?php endif; ?>
*

swyatoslaw.ivanovich

  • Захожу иногда
  • 14
  • 0
Спасибо огромное за помощь! yes!
*

swyatoslaw.ivanovich

  • Захожу иногда
  • 14
  • 0
Рано я радовался=)) Если писать что нибудь или вставлять между, то выводит внутри, но если в таком виде:
Код
<?php if (JURI::current()!== JURI::base()) : ?>
<jdoc:include type="modules" name="topblock" style="xhtml" />
<?php endif; ?>
, то ничего не отображает, не выводит модули на позицию.
*

swyatoslaw.ivanovich

  • Захожу иногда
  • 14
  • 0
Причем странно, что если пписать следующее:
Код
 <?php if (JURI::current() == JURI::base()) : ?>
<jdoc:include type="modules" name="позиция" style="xhtml" />
<?php endif; ?>
, то модули выводятся(только на главной)
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Как редактировать эту страницу http://xn----7sbonopgorkq.xn--p1ai/LP/Visa/index\?

Автор Ирина Поехали

Ответов: 6
Просмотров: 133
Последний ответ 13.09.2017, 08:55:51
от Ирина Поехали
Нужна помощь, проблема с отображением, Joomla 2.5

Автор Vasilisa11

Ответов: 9
Просмотров: 250
Последний ответ 17.08.2017, 14:36:46
от nafania_19
Не влезает весь код в редактор Joomla 2.5.28

Автор Endomorfin

Ответов: 5
Просмотров: 171
Последний ответ 10.08.2017, 14:39:58
от lexxbry
[FAQ] Как убрать ссылку на Главную в меню?

Автор Morh

Ответов: 65
Просмотров: 25365
Последний ответ 31.07.2017, 23:47:25
от lawrik2005
Не могу попасть в панель управления Joomla 2.5

Автор rifys

Ответов: 24
Просмотров: 419
Последний ответ 24.07.2017, 15:59:01
от SeBun