Не корректная работа при использовании цикла в цикле.
-
This post is deleted!
-
Есть такое. Еще надо внимательно расставлять метки внутри цикла, иначе при break скрипт может вообще вылететь с исключением.
-
Вот пример решения, там уже подгонишь 0_1518930047588_1518914194266-cycle_bug.xml
-
Проблема была решена добавлением пустого цикла, такого же как первый, после второго.
0_1518941557258_cycle_bug.xml
Просто решил сообщить о баге.
Спасибо за отзывчивость, ваше решение тоже работает.
-
@John Это не баг просто по умолчанию счетчик цикла одна та жа переменная и поэтому во вложенном цикле он сбивается.
-
Переменная счетчик цикла изменяется только после прохождения цикла, а не при вхождении в цикл
-
@seedgg said in Не корректная работа при использовании цикла в цикле.:
Переменная счетчик цикла изменяется только после прохождения цикла, а не при вхождении в цикл
Ну не знаю, я неоднократно замечал, что сбивается после вложенного цикла, я поэтому свою ставлю, что бы наверняка :)
-
@Denis_krsk Вот тестовый скрипт для проверки [[CYCLE_INDEX]] в нескольких вложенных циклах, всё правильно отработало, стек не сбивается.
Однако заметил, что [[CYCLE_INDEX]] после выхода из вложенного цикла во внешний держит номер последней итерации вложенного +1
Вот тестовый скрипт который показывает странное поведение [[CYCLE_INDEX]]
-
@Fox Это не сбивается называется :) Я на такое не могу полагаться, лучше перебздеть и свой счетчик воткнуть :)
-
@Denis_krsk said in Не корректная работа при использовании цикла в цикле.:
@John Это не баг просто по умолчанию счетчик цикла одна та жа переменная и поэтому во вложенном цикле он сбивается.
Если вы про переменную [[CYCLE_INDEX]], то дело здесь не в ней. Я так понимаю что перезаписывается "переменная" которая подсчитывает количество элементов на странице. И если [[CYCLE_INDEX]] (который то же перезаписывается) в данном случае не критичен для работы внешнего цикла, то перезапись этой "переменной" нарушает работу внешнего цикла, и я не знаю как ее можно подправить (с [[CYCLE_INDEX]] в этом плане все просто), а это, как по мне, и есть баг.
-
@John http://community.bablosoft.com/topic/866/разные-циклы-используют-одну-переменную-cycle_index/10
-
@John Я же скинул пример все работает, правда я обходил вложенный цикл через for! Сам цикл не сбивается сбивается только счетчик CYCLE_INDEX. Никто не мешает поставить перед циклом свою переменную и увеличивать ее на каждой итерацие.
-
)Я тоже скинул пример и там все работает.)) Но это костыль.
@John said in Не корректная работа при использовании цикла в цикле.:
Проблема была решена добавлением пустого цикла, такого же как первый, после второго.
0_1518941557258_cycle_bug.xml@seedgg said in Не корректная работа при использовании цикла в цикле.:
@John http://community.bablosoft.com/topic/866/разные-циклы-используют-одну-переменную-cycle_index/10
"ELEMENT_LENGTH" я и имел в виду. Было бы куда проще, если бы "ELEMENT_LENGTH" можно было править.
-
@John Ну в моем примере не костыль.Так в принципе и делается.
-
Эту проблему можно решить если разработчик сделает чтоб можно было для каждого цикла добавить свою переменную счетчика
С толкнулся с такой же проблемой@Denis_krsk said in Не корректная работа при использовании цикла в цикле.:
@John Начать цикл можно заменить на цикл for. А так там в лоб не получиться. Посмотри структуру html там все не так просто. Нумерация секций вложенного уровня идет последовательно с уровнем родителя. Может время будет накидаю, а так думай :)
Спасибо за идею for в голову не пришло даже про это
-
Так счетчик for тоже работает с CYCLE_INDEX
-
@GamiD Да, но дело не в этом. Сам по себе стек нормально отрабатывает. А счетчик можно свой поставить.
-
@Denis_krsk как можно поставить свой счетчик?
-
@GamiD Перед циклом определи переменную = 0, ну или со скольки у тебя цикл начинается и в цикле увеличивай на 1.
-
@Denis_krsk это да я знаю я думаю по другому можно