<?php if ( ($page != 'shop.cart') || ($page != 'shop.product_details') ) { ?>
...
<?php } ?>
Причем, если просто отдельно писать условие для $page != 'shop.cart' или для $page != 'shop.product_details', то срабатывает.
Вопрос, конечно чайника, но уже по-всякому пробовал. Подскажите, плиз!
Спустя 13 минут, 16 секунд (24.02.2012 - 11:05) McLotos написал(а):
не понял смысле этого кода.
ну во-первых логичней использовать !== (не равно)
ну во-первых логичней использовать !== (не равно)
Спустя 15 минут, 17 секунд (24.02.2012 - 11:21) Lutsk написал(а):
McLotos, !== тоже не работает, - пробовал.
А код - в шаблоне джумлы, который в зависимости от страницы дает команду, - выводить html или нет. $page - текущая страница. Вот более обширный код:
P.S.
Аадресная строка браузера выглядит так (на всякий):
хттп://домен/index.php?page=shop.cart&option=com_virtuemart
хттп://домен/index.php?page=shop.browse&category_id=6&option=com_virtuemart&Itemid=1
А код - в шаблоне джумлы, который в зависимости от страницы дает команду, - выводить html или нет. $page - текущая страница. Вот более обширный код:
<?php
$page = JRequest::getVar('page', null); // получаем текущую страницу
?>
...
<?php if ( ($page !== 'shop.cart') || ($page !== 'shop.product_details') ) { ?>
<div class="col-right sidebar"></div><!--col-right sidebar-->
<?php } ?>
P.S.
Аадресная строка браузера выглядит так (на всякий):
хттп://домен/index.php?page=shop.cart&option=com_virtuemart
хттп://домен/index.php?page=shop.browse&category_id=6&option=com_virtuemart&Itemid=1
Спустя 5 минут, 36 секунд (24.02.2012 - 11:26) shmali написал(а):
Цитата |
ну во-первых логичней использовать !== (не равно) |
И с чего это логически ?
Цитата |
if ( $page != 'shop.cart' || $page != 'shop.product_details' ) |
вот так пиши
Спустя 4 минуты, 6 секунд (24.02.2012 - 11:30) Lutsk написал(а):
shmali, не срабатывает. Я удивлен.
И главное, - в шаблоне есть еще один кусок кода, - он работает как надо:
тут оператор ==
И главное, - в шаблоне есть еще один кусок кода, - он работает как надо:
if ($page == 'shop.product_details' || $page == 'shop.cart') {
$col_layout = 'col2-left-layout';
}
тут оператор ==
Спустя 4 минуты, 11 секунд (24.02.2012 - 11:35) shmali написал(а):
Это не может не работать , либо у тебя в $page не то что ты ожидаешь , либо дальше в if косяки . Дай больше кода посмотрим.
Для начала сделай
var_dump($page);die;
и посмотри что там лежит , чтоб ты был уверен что не ошибся ни на 1 символ .
Для начала сделай
var_dump($page);die;
и посмотри что там лежит , чтоб ты был уверен что не ошибся ни на 1 символ .
Спустя 4 минуты, 33 секунды (24.02.2012 - 11:39) Rand написал(а):
Lutsk - Ошибка в логике. Условие будет истинно всегда. Замени ИЛИ (||) на И (&&)
Спустя 5 минут, 10 секунд (24.02.2012 - 11:44) shmali написал(а):
Цитата |
Ошибка в логике. Условие будет истинно всегда. Замени ИЛИ (||) на И (&&) |
а ели ему надо выполнять действия при условии что что $page не равен одному из значений ? В чем ошибка ?
Спустя 7 минут, 35 секунд (24.02.2012 - 11:52) Lutsk написал(а):
вот:
вар дампы:
string(9) "shop.cart"
string(20) "shop.product_details"
<?php defined( '_JEXEC' ) or die( 'Restricted access' ); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->language; ?>" lang="<?php echo $this->language; ?>" >
<?php
$page = JRequest::getVar('page', null);
//var_dump($page);die;
?>
<?php //это работает
$col_layout = '';
if ($page == 'shop.product_details' || $page == 'shop.cart') {
$col_layout = 'col2-left-layout';
}
?>
<head></head>
<body>
<!-- А это нет -->
<?php if ($page != 'shop.cart' || $page != 'shop.product_details' ) { ?>
<div class="col-right sidebar">
<jdoc:include type="modules" name="right" style="xhtml" />
<jdoc:include type="modules" name="banner_r" style="xhtml" />
</div> <!--col-right sidebar-->
<?php } ?>
</body>
</html>
вар дампы:
string(9) "shop.cart"
string(20) "shop.product_details"
Спустя 2 минуты, 44 секунды (24.02.2012 - 11:55) shmali написал(а):
Ну так все правильно ))
Ты говоришь - Если $page НЕ равен shop.cart или Не равен shop.product_details
делай вот это
Ты говоришь - Если $page НЕ равен shop.cart или Не равен shop.product_details
делай вот это
Цитата |
{ ?> <div class="col-right sidebar"> <jdoc:include type="modules" name="right" style="xhtml" /> <jdoc:include type="modules" name="banner_r" style="xhtml" /> </div> <!--col-right sidebar--> <?php } ?> |
А $page РАВЕН потому тебя и не пропускает дальше ))
Спустя 34 секунды (24.02.2012 - 11:55) Rand написал(а):
shmali, тогда надо использовать вот такую запись:
if ($page == 'shop.product_details' || $page == 'shop.cart')
http://ru.wikipedia.org/wiki/%D0%97%D0%B0%...%B0%D0%BD%D0%B0
if ($page == 'shop.product_details' || $page == 'shop.cart')
http://ru.wikipedia.org/wiki/%D0%97%D0%B0%...%B0%D0%BD%D0%B0
Спустя 2 минуты, 18 секунд (24.02.2012 - 11:57) shmali написал(а):
Цитата |
а ели ему надо выполнять действия при условии что что $page не равен одному из значений ? В чем ошибка ? |
Прочти внимательно ))) НЕ равен, если это ты про мою реплику .
А ему да , чтоб пропустило дальше надо сделать как написал , просто я не понимаю логику его кода , не знаю чего он хочет добиться . Может ему надо чтоб при неравенстве пропускало ... Трудно за него додумывать
Спустя 1 минута, 11 секунд (24.02.2012 - 11:59) McLotos написал(а):
Цитата |
а ели ему надо выполнять действия при условии что что $page не равен одному из значений ? |
if ($page!==''){}
Если $page не равно.
Этот фрагмент чистый код
<?php //это работает
$col_layout = '';
if ($page == 'shop.product_details' || $page == 'shop.cart') {
$col_layout = 'col2-left-layout';
}
?>
а вот это
<!-- А это нет -->
<?php if ($page != 'shop.cart' || $page != 'shop.product_details' ) { ?>
<div class="col-right sidebar">
<jdoc:include type="modules" name="right" style="xhtml" />
<jdoc:include type="modules" name="banner_r" style="xhtml" />
</div> <!--col-right sidebar-->
<?php } ?>
Бредокод.
Не проще сделать
if ($page !== 'shop.cart' || $page !== 'shop.product_details' ) {
echo '<div class="col-right sidebar">
<jdoc:include type="modules" name="right" style="xhtml" />
<jdoc:include type="modules" name="banner_r" style="xhtml" />
</div> <!--col-right sidebar-->';
}
Зачем перемешивать Bлогику с Vлогикой? Не привыкайте так писать.
Спустя 3 минуты, 43 секунды (24.02.2012 - 12:02) Lutsk написал(а):
потому что это в шаблоне хтмл.
shmali !== тоже не работает
shmali !== тоже не работает
Спустя 1 минута, 21 секунда (24.02.2012 - 12:04) shmali написал(а):
Я и не говорил тебе это использовать ....
Я объяснил тебе почему тебя не пускает . Читай внимательно .
Я объяснил тебе почему тебя не пускает . Читай внимательно .
Цитата |
Ну так все правильно )) Ты говоришь - Если $page НЕ равен shop.cart или Не равен shop.product_details делай вот это Цитата { ?> <div class="col-right sidebar"> <jdoc:include type="modules" name="right" style="xhtml" /> <jdoc:include type="modules" name="banner_r" style="xhtml" /> </div> <!--col-right sidebar--> <?php } ?> А $page РАВЕН потому тебя и не пропускает дальше )) |
Спустя 2 минуты, 4 секунды (24.02.2012 - 12:06) Lutsk написал(а):
для эксперимента написал вот это, - тоже не сработало:
прям загадка
<?php if ($page !== 'shop.cart' || $page !== 'shop.product_details' ) {
echo '<div class="col-right sidebar"></div>';
} ?>
прям загадка
Спустя 2 минуты, 25 секунд (24.02.2012 - 12:08) shmali написал(а):
Слушай , ты заставляешь меня флудить, а я этого не люблю ! Я же русским языком тебе говорю
Не работает потому что $page == 'hop.cart' а условие обратное .
Читай внимательно что тебе пишут!
Не работает потому что $page == 'hop.cart' а условие обратное .
Читай внимательно что тебе пишут!
Спустя 3 минуты, 39 секунд (24.02.2012 - 12:12) sharki написал(а):
McLotos
Если учесть что это вывод в шаблоне, следовательно используется нативный шаблонизатор PHP. Это равносильно всяким там Twig'ам, Smarty.
Надо всего лишь глянуть как грамотно оформлять операторы условий, как вариант один из:
Если учесть что это вывод в шаблоне, следовательно используется нативный шаблонизатор PHP. Это равносильно всяким там Twig'ам, Smarty.
Надо всего лишь глянуть как грамотно оформлять операторы условий, как вариант один из:
<!-- А это нет -->
<?php if ($page != 'shop.cart' || $page != 'shop.product_details' ) : ?>
<div class="col-right sidebar">
<jdoc:include type="modules" name="right" style="xhtml" />
<jdoc:include type="modules" name="banner_r" style="xhtml" />
</div> <!--col-right sidebar-->
<?php endif; ?>
Спустя 1 минута, 45 секунд (24.02.2012 - 12:14) Rand написал(а):
Lutsk
Если тебе надо, чтобы вот этот код
включался только на страницах корзины и описании продукта, то используй такую конструкцию:
А если тебе надо, чтобы код включался везде, кроме страниц корзины и описание продукта, то используй вот эту конструкцию:
!== и != особой разницы нет, поскольку $page всегда будет строкой.
Если тебе надо, чтобы вот этот код
<div class="col-right sidebar">
<jdoc:include type="modules" name="right" style="xhtml" />
<jdoc:include type="modules" name="banner_r" style="xhtml" />
</div> <!--col-right sidebar-->
включался только на страницах корзины и описании продукта, то используй такую конструкцию:
if ($page == 'shop.product_details' || $page == 'shop.cart')
А если тебе надо, чтобы код включался везде, кроме страниц корзины и описание продукта, то используй вот эту конструкцию:
if($page !== 'shop.product_details' && $page !== 'shop.cart');
!== и != особой разницы нет, поскольку $page всегда будет строкой.
Спустя 2 минуты, 16 секунд (24.02.2012 - 12:16) Lutsk написал(а):
sharki, там и так и так проходит.
С оператором && всё-таки заработало, - всем спасибо!
С оператором && всё-таки заработало, - всем спасибо!
Спустя 11 минут, 44 секунды (24.02.2012 - 12:28) McLotos написал(а):
Rand
оказался самым внимательным =)
sharki
не люблю когда смешивание, бред какой-то получается. =)
оказался самым внимательным =)
sharki
не люблю когда смешивание, бред какой-то получается. =)
Спустя 21 минута, 52 секунды (24.02.2012 - 12:49) sharki написал(а):
McLotos
А никто и не смешивает, у тебя же есть шаблоны в папке допустим view, там он и использует эти вставки. Joomla полностью MVC
А никто и не смешивает, у тебя же есть шаблоны в папке допустим view, там он и использует эти вставки. Joomla полностью MVC