parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

"назад"

D 08.12.2004 21:47 / 08.12.2004 21:51

кто-нибудь статкивался с кнопкой "назад"?

написал я класс explorer, практически все необходимые функции для работы с папками и файлами сделал, но вот кнопка "назад" голову мне сломала.
Скрипт работает самым простым способом:
- ^file:list
- отделение папок от файлов (в разные таблицы)
- сортировка и тех и других
- вывод папок и файлов на экран со ссылкой
- для файлов ссылка на страницу просмотра файла (картинки)
- для папки открытие выбранной папки в этом же окне.

таки макаром написал я функцию levelUp - подняться на уровень выше:
@levelUp[dir][path]
^if(def $dir){
		$path[^dir.split[/;lv]]
		$result[^path.menu{^if(^path.line[] < ^path.count[]){$path.piece}}[/]]
}{
		$result[]
}
метод возвращает значение для ссылки на каталог "выше".

задачу для кнопки "назад" я себе представляю так:
в куки $cookie:[back_${form:nesting}] записываю $form:folder. Так в каждой папке, кроме корневой. В ссылке кнопки "назад" пишу
?...&folder=$cookie:[back_^eval($form:nesting - 1)]...&...остальные_параметры...
$form:nesting - уровень вложенности папки
$form:folder - путь до текущей папки
ясно, что это неверно, т.к. $form:nesting у текущей папки, а нужна предидущая, но предидущая может быть любая, т.к. кнопка "назад" это в себе и подразумевает (переход не выше, а в предидущее посещенное место). Но башка уже не соображает :)

короче говоря, нужно предидущее значение $form:folder, НО не один раз, а до самого конца, вернее до начала просмотра директорий.

кто сталкивался и решил эту проблему - подскажите пожалуйста, буду очень благодарен.

заранее спасибо