Перейти к содержимому


Фотография
- - - - -

Случайный показ блока


Лучший Ответ Kess , 08 January 2015 - 10:27

Добрый день,

 

попробуйте так:

<?php 

if ($itemId == 101) {

    $tmplParts = array(
        'glavimg.php',
        'glavimg2.php',
        'glavimg3.php'
    );

    $tmplPart = $tmplParts[array_rand($tmplParts)];

    echo $tpl->partial($tmplPart);
}

?>
Перейти к сообщению


  • Закрытая тема Тема закрыта
Сообщений в теме: 5

#1 CB9TOIIIA

CB9TOIIIA

Отправлено 06 January 2015 - 13:13

Всем привет. Есть код:

<?php if ($itemId == 101) :  ?>
<?php echo $tpl->partial('glavimg.php');?>
<?php endif ?>

Как можно сделать показ случайного блока? например

<?php if ($itemId == 101) :  ?>
ПОКАЗАТЬ один из нескольких
<?php echo $tpl->partial('glavimg.php');?>
<?php echo $tpl->partial('glavimg2.php');?>
<?php echo $tpl->partial('glavimg3.php');?>
КОНЕЦ
<?php endif ?>

O0  JBlank просто зверь :) очень нравится.


  • 0

#2 Kess

Kess

Отправлено 08 January 2015 - 10:27   Лучший Ответ

Добрый день,

 

попробуйте так:

<?php 

if ($itemId == 101) {

    $tmplParts = array(
        'glavimg.php',
        'glavimg2.php',
        'glavimg3.php'
    );

    $tmplPart = $tmplParts[array_rand($tmplParts)];

    echo $tpl->partial($tmplPart);
}

?>

  • 2

#3 CB9TOIIIA

CB9TOIIIA

Отправлено 08 January 2015 - 10:29

Спасибо! Подскажите пожалуйста, как можно указать через запятую?

<?php if ($itemId == 101) :  ?> //120 , 130, 150
<?php echo $tpl->partial('glavimg.php');?>
<?php endif ?>

т.е. выводить на определенных или исключать) пробовал запятой, рушится все)


  • 0

#4 Kess

Kess

Отправлено 08 January 2015 - 10:47

Можно так, например:

<?php if (in_array($itemId, array(101, 120, 130, 150))) :  ?>
<?php echo $tpl->partial('glavimg.php');?>
<?php endif ?>

  • 1

#5 CB9TOIIIA

CB9TOIIIA

Отправлено 08 January 2015 - 10:51

 

Можно так, например:

<?php if (in_array($itemId, array(101, 120, 130, 150))) :  ?>
<?php echo $tpl->partial('glavimg.php');?>
<?php endif ?>

 

В этом примере не могу понять, где или какой используется знак:

($itemId == 101)
($itemId != 101)

Я как понял это равно в Вашем примере? Как не сделать не равно?


  • 0

#6 Kess

Kess

Отправлено 08 January 2015 - 11:30

Да, в этом примере проверялось, присутствует ли $itemId среди значений массива. Для исключения нужно просто добавить "!" в самом начале условия:

<?php if (!in_array($itemId, array(101, 120, 130, 150))) :  ?>

Т.е. условие будет true, когда $itemId не равняется одному из этих значений.


  • 1




Click to return to top of page in style!