Вверх ↑
Ответов: 47
Рейтинг: 2
#1: 2009-04-10 11:10:37 ЛС | профиль | цитата
Dilma писал(а):
А то не совсем понятно зачем скажем было менять что-то в DM_ruller, если он от параметра start никак не зависит(ему это значение передается в потоке)

Действительно, неувидел. Просто смутило то, что в функции makePage используется одноименная переменная, вот и все. Значит, dmruller менять не нужно.
Dilma писал(а):
Ну а в DataManager вроде как достаточно было просто _id_ дописать ко всем вхождениям строки "start"

Можно, не спорю. Но для "узнавания" значения _id_ требуется смотреть итоговый скомпилированный код, что не очень то удобно, если в теле страницы с десяток другой линеек Плюс это возможность сделать по несколько линеек на одну переменную $_GET["start"], например для вывода линейки снизу и сверху страницы с постами пользователей, так что вещь не бесполезная. Можно было вывести _id_, но я не сообразил как

Описание изменений:
В файле кода:
1) В функции beginForm() введена обработка переменной coocie при наличии линейки

if(linked(onPages))
println('session_register("start' + idcount +'");')
println('if($_SESSION["start' + idcount +'"]=="") {')
println('$_SESSION["start' + idcount +'"]=0;')
println('}')
println('if(isset($_GET["start' + idcount +'"])) $_SESSION["start' + idcount +'"]=$_GET["start' + idcount +'"];')
println('$start' + idcount +'=$_SESSION["start' + idcount +'"];')
Суть проста - регистрируем сессионную переменную, делаем первичную инициализацию - если переменная пуста, приравниваем ее к нулю. Если появился запрос GET с аналогичным индексом, то сохраняем значение запроса в переменной coocie, чтобы значение не терялось при отсутствии запроса GET. После переменной $start даем значение от переменной coocie. Можно было упростить, но лень было переписывать код.
2)Для разделения переменных к имени переменной $start приписывается значение идентификатора, который указывается в свойствах. Если идентификаторы будут совпадать в разных DataManagerax, то они будут действовать синхронно. Зачем - описано выше.
В файле Datamanager.ini добавлено поле идентификатора для описанных выше целей.
Если ничего не забыл, то все.
карма: 0

0