Xpoint
   [напомнить пароль]

галерея: как организовать?

Метки: [без меток]
2003-01-22 06:41:45 [обр] Ксения Беляева[досье]

У меня галерея, разбитая на несколько частей.
Она часто пополняется, поэтому периодически приходится добавлять новые страницы.
Мне нужно, чтобы с index.htm посетитель по ссылке в меню попадал сразу на самую свежую.
Навигация внутри галереи обычного вида: ряд цифр внизу, каждая цифра- номер страницы. Такое можно видеть в гостевых, на форумах итд.

А теперь вопрос: как это организовать? Если, скажем, свежая страница будет №6, более старая- №5 итд, то тогда каждый раз, как появится новая страница, придется изменять ссылку в меню на всех страницах сайта.

Если же наоборот, и свежая страница будет №1, тогда меню менять не придется. Но не переименовывать же все старые страницы, чтобы бывший номер 3 cтал номером 4 и так далее?
И ведь в обоих случаях мне придется переписывать список номеров на всех страницах галереи. А когда их будет 40?

Я простой хоумпейджник и кроме HTML ничего не знаю.
Может можно это как-нибудь по-другому сделать?

спустя 4 часа 10 минут [обр] Дмитрий Юров(1/411)[досье]

Галерея чего? :-)

Про варианты представления списка фотографий когда-то говорили здесь:
  • Юзабилити списка фотографий
     http://www.xpoint.ru/cgi-bin/forum.cgi?action=thread&id=13459

спустя 5 часов [обр] LookeR(13/1069)[досье]
расставить страницы в обратном порядке...
Index, 5,4,3,2,1 ... и постепенно переименовывать index в 6, потом в 7 и т.д.
спустя 1 минуту [обр] LookeR(13/1069)[досье]
только это скорее "как сделать на голом HTML", чем сделать удобно (т.е. Юзабельно)
спустя 22 минуты [обр] Давид Мзареулян(1/1003)[досье]

Если вопрос только в проставлении ссылки на самую свежую галерею, то его решить просто. Делаете страничку "fresh.html" со следующим содержанием:

<html>
<meta http-equiv=Refresh content="0; URL=gallery1.html">
</html>

После чего все ссылки с надписи "Свежая галерея" направляем на fresh.html, а при появлении новой галереи меняем только файл fresh.html.

спустя 26 минут [обр] Андрей Симонов(0/65)[досье]
Вопрос, скорее, в том, что на каждой странице галереи предполагается наличие ряда ссылок на все остальные страницы, каковой ряд надо обновлять всякий раз, когда добавляется новая страница. Представляете, если в галерее 40 страниц ;(
спустя 1 час 24 минуты [обр] Ксения Беляева[досье]

Cпасибо ответившим.

А.С. прав. Меня действительно очень волнует этот момент.

спустя 3 минуты [обр] ё(3/1328)[досье]
Без программирования не обойдется, к сожалению. :(
На ява-скрипте, в крайнем случае...
спустя 35 минут [обр] Виктор Ганский aka GunSky(1/435)[досье]

Ксения Беляева:

Может SSI как полумера?
хостинг поддержавает SSI

спустя 30 минут [обр] Давид Мзареулян(1/1003)[досье]
Ксения Беляева:
Тогда лучше разузнать про SSI. Сделать динамическую подгрузку меню на JavaScript-е можно, но муторно.
спустя 3 часа 27 минут [обр] Ксения Беляева[досье]
а можно где-нибудь посмотреть, как используются эти два способа на практике? (я имею в виду JavaScript и SSI)
спустя 15 часов [обр] Андрей Симонов(0/65)[досье]

Можно совместить эти две технологии. Тогда вам достаточно будет создать одну страницу-шаблон, контент которой будет определяться одним-единственным параметром — QUERY_STRING.

Допустим, каждая страница содержит по 10 превьюшек. Тогда, чтобы создать галерею, вам нужно два значения — порядковый номер первой картинки и порядковый номер последней. Эти номера должны зависеть от номера страницы. Первая страница будет называться, скажем, gallery.shtml?1. Вы переносите это значение (номер страницы) в Javascript:
<script>
var num=<!--#echo var="QUERY_STRING" -->
var max=num*10 //порядковый номер последней картинки
var min=max-9 //порядковый номер первой картинки

//далее с помощь цикла создаем ряд превьюшек:

for (i=min;i<=max;i++){
document.write("<a href=javascript:showImage("+i+")><img src=preview"+i+".gif border=0></a> ")
}

// у вас готов ряд превьюшек
// теперь создаем ряд ссылок на другие страницы. Для этого вам нужно задать
// число страниц (в дальнейшем при добавлении новой страницы придется эту цифру изменить)

var pages=40
for (i=1;i<=40;i++){
document.write("<a href=gallery.shtml?"+i+">"+i+"</a> ")
}

//и последнее. Функция, реализующая просмотр большой картинки в новом окне:

function showImage(what){
var okno=window.open("images/img"+what+".jpg")
}
</script>

Теперь чтобы создать новую страницу в галерее, вам нужно:

  1. Подготовить превьюшки и большие картинки
  2. Изменить значение var pages в gallery.shtml
  3. Изменить ссылку на главной странице.
спустя 3 часа 43 минуты [обр] Виктор Ганский aka GunSky(1/435)[досье]

Андрей Симонов:
на чистом JS
var num=location.search
SSI в таком варианте впринципе и не нужен, скорее вреден.

Но я считаю JS все-таки вспомогательной технологией.

спустя 18 часов [обр] Андрей Симонов(0/65)[досье]

То Виктор Ганский aka GunSky:

SSI я пристроил только потому, что не знал о существовании location.search, в чем и признаЮсь честно.

спустя 2 дня 20 часов [обр] Сергей Чернышев(1/589)[досье]

Вот меня всегда радовали слова, что лучше JavaScript чем SSI.
Я не понимаю, вам что сервер жалко что-ли? Или вы просто предпочитаете пользоваться тем, что можете попробовать на домашнем компьютере???

Вы что, искренне считаете, что использовать кривой интерпретируемый язык отрабатывающий в сотнях разных окружений лучше чем простые (всего несколько конструкций) дрективы, но на стороне сервера?!

Наверное мне уже никогда этого не понять...

спустя 3 минуты [обр] Сергей Чернышев(1/589)[досье]
Ксения Беляева:
Хотите совет? Если вы не хотите программировать, то воспользуйтесь HTML-редактором, поддерживающим replace во всех файлах директории и переделывайте просто ссылку во всех файлах со старой на новую - одна минута работы и никаких проблем.
спустя 7 часов [обр] Sergei Erjemin (webdragon)(3/182)[досье]
Самое юзабельное, сделать на главной страничке заметный блок-раздел для аноносов с одной-двумя превьюшками. Придется переверстывать только блок. Вс еостальное делаете как обычно... Еще посмотрите как сделаны всякие фототусовки на которые грузят в день фоторгафии сотнями. По кране мере будет о чем поразмыслить.
Powered by POEM™ Engine Copyright © 2002-2005