Maksclub Опубликовано 5 февраля, 2015 Жалоба Поделиться Опубликовано 5 февраля, 2015 Добрый день!-Имеем: <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 Цитата Ссылка на сообщение Поделиться на другие сайты
simplashop Опубликовано 6 февраля, 2015 Жалоба Поделиться Опубликовано 6 февраля, 2015 (изменено) Добрый день!-Имеем: <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> как-то так Изменено 6 февраля, 2015 пользователем simplashop Цитата Ссылка на сообщение Поделиться на другие сайты
Kors Опубликовано 6 февраля, 2015 Жалоба Поделиться Опубликовано 6 февраля, 2015 Ужас какие сложности накручены... $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> Цитата Ссылка на сообщение Поделиться на другие сайты
Maksclub Опубликовано 7 февраля, 2015 Автор Жалоба Поделиться Опубликовано 7 февраля, 2015 (изменено) а причем тут аякс? и действительно Яакс ни к чему....Спасибо большое! Это для слайдера фонового изображения у товара, при переходе по разным товарам всегда разные фоны Пробую/экспериментирую с дизайном. Все отлично работает. Ужас какие сложности накручены... $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, большое спасибо. Все отлично работает. Очень приятное решение! Изменено 7 февраля, 2015 пользователем Maksclub Цитата Ссылка на сообщение Поделиться на другие сайты
simplashop Опубликовано 7 февраля, 2015 Жалоба Поделиться Опубликовано 7 февраля, 2015 Ужас какие сложности накручены...Согласен, кода многовато, но наглядно. К тому же ТС не потрудился в описании задачи указать зачем ему это нужно.Я дал пример, который будет работать для любых 5 блоков по коду страницы Цитата Ссылка на сообщение Поделиться на другие сайты
Maksclub Опубликовано 7 февраля, 2015 Автор Жалоба Поделиться Опубликовано 7 февраля, 2015 Согласен, кода многовато, но наглядно. К тому же ТС не потрудился в описании задачи указать зачем ему это нужно.Я дал пример, который будет работать для любых 5 блоков по коду страницы Спасибо большое - я вашим кодом воспользовался... Цитата Ссылка на сообщение Поделиться на другие сайты
Maksclub Опубликовано 7 февраля, 2015 Автор Жалоба Поделиться Опубликовано 7 февраля, 2015 (изменено) Согласен, кода многовато, но наглядно. К тому же ТС не потрудился в описании задачи указать зачем ему это нужно.Я дал пример, который будет работать для любых 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 и по кругупо кругу это хорошо, но почему так? Соответсвенно мое изменение путем деления дает дробные значения, когда кукисы нечетные идут, то есть не подходит ( В принципе я и так доволен (когда разобрался) но любопытно, можно же сделать чередование четн/нечетное Изменено 7 февраля, 2015 пользователем Maksclub Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.