Перейти к содержанию
Официальный форум поддержки Simpla

Рекомендуемые сообщения

Добрый день!

-

Имеем:

<div class="bloks">
      <div class="blok_1"></div>
      <div class="blok_2"></div>
      <div class="blok_3"></div>
      <div class="blok_4"></div>
      <div class="blok_5"></div>
</div>

 

Подскажите: как сделать, чтобы при перезагрузке выводились блоки с классом 6,7,8,9 и 10 - в общем и так раза два/три, а если вывелся блок 20, то снова выводиь 1,2,3,4 и 5

 

 

Ссылка на сообщение
Поделиться на другие сайты

Добрый день!

-

Имеем:

<div class="bloks">
      <div class="blok_1"></div>
      <div class="blok_2"></div>
      <div class="blok_3"></div>
      <div class="blok_4"></div>
      <div class="blok_5"></div>
</div>

 

Подскажите: как сделать, чтобы при перезагрузке выводились блоки с классом 6,7,8,9 и 10 - в общем и так раза два/три, а если вывелся блок 20, то снова выводиь 1,2,3,4 и 5

а причем тут аякс?  и данных маловато как-то, но по заданной задаче могу предложить че-то такое

view/IndexView.php вначале нашего метода fetch()

 

	$expire_some_cookie = time()+60*60*24*30;
        if(isset($_COOKIE['some_var'])){
            $some_var = $_COOKIE['some_var'];
	}else{
            $some_var = 0;
	}
        $this->design->assign('some_var', $some_var++);
        if($some_var>3)
            $some_var = 0;
        setcookie("some_var", $some_var, $expire_some_cookie, "/");

в шаблоне файл index.tpl(или какой там нужен)

 

{$start_block = ($some_var*5)+1}
<div class="bloks">
      <div class="blok_{$start_block++}"></div>
      <div class="blok_{$start_block++}"></div>
      <div class="blok_{$start_block++}"></div>
      <div class="blok_{$start_block++}"></div>
      <div class="blok_{$start_block++}"></div>
</div>

как-то так

Изменено пользователем simplashop
Ссылка на сообщение
Поделиться на другие сайты

Ужас какие сложности накручены...

$some_var = (intval($_COOKIE['some_var'])+1)%4;
setcookie("some_var", $some_var, time()+60*60*24*30, "/");

<div class="bloks">
{section name=for loop=5}
      <div class="blok_{(5*$smarty.cookies.some_var+$smarty.section.for.iteration)}"></div>
{/section}
</div>

Ссылка на сообщение
Поделиться на другие сайты

а причем тут аякс? 

 

и действительно :) Яакс ни к чему....

Спасибо большое! Это для слайдера фонового изображения у товара, при переходе по разным товарам всегда разные фоны :) Пробую/экспериментирую с дизайном. Все отлично работает.

 

 

Ужас какие сложности накручены...

$some_var = (intval($_COOKIE['some_var'])+1)%4;
setcookie("some_var", $some_var, time()+60*60*24*30, "/");

<div class="bloks">
{section name=for loop=5}
      <div class="blok_{(5*$smarty.cookies.some_var+$smarty.section.for.iteration)}"></div>
{/section}
</div>

 

Kors, большое спасибо. Все отлично работает. Очень приятное решение!

Изменено пользователем Maksclub
Ссылка на сообщение
Поделиться на другие сайты

Ужас какие сложности накручены...

Согласен, кода многовато, но наглядно. К тому же ТС не потрудился в описании задачи указать зачем ему это нужно.

Я дал пример, который будет работать для любых 5 блоков по коду страницы

Ссылка на сообщение
Поделиться на другие сайты

Согласен, кода многовато, но наглядно. К тому же ТС не потрудился в описании задачи указать зачем ему это нужно.

Я дал пример, который будет работать для любых 5 блоков по коду страницы

 

Спасибо большое - я вашим кодом воспользовался...

Ссылка на сообщение
Поделиться на другие сайты

Согласен, кода многовато, но наглядно. К тому же ТС не потрудился в описании задачи указать зачем ему это нужно.

Я дал пример, который будет работать для любых 5 блоков по коду страницы

Я вот так изменил код вывода в шаблоне

{$start_block = ($some_var*5/2)+1}

и теперь стало выводиться в нормальном порядке: после 5 шел блок 6,7,8...

а было после 5 шло 11, после 15 шло 21

просто рискнул поставить знак деления

 

И вопрос по кукам: там только четные пишутся?

UPD: Наблюдение, вначале проходят значения куков четные потом нечетные

Итог: ВЫводятся номера в таком порядке: 1-5,11-15,21-25, 6-10,16-20,26-30 и по кругу

по кругу это хорошо, но почему так? Соответсвенно мое изменение путем деления дает дробные значения, когда кукисы нечетные идут, то есть не подходит (

 

В принципе я и так доволен (когда разобрался) но любопытно, можно же сделать чередование четн/нечетное

Изменено пользователем Maksclub
Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...