Логин:

Пароль:

Забыл пароль

Регистрация

    Войти

Все для создания сайта

Начало » Статьи » UcoZ - сервисы » Решения по дизайну.

Фотоальбом в виде выдвигающихся фото.

Адрес сайта, на котором нужно скачать(а заодно разобраться с установкой, если английский знаком) такой - http://vikjavev.no/highslide/. Если будете разбираться сами, то читайте на главной раздел Installation, а также зайдите на FAQ.

Итак тут качаем пакет. Жмем на Download как показано на рисунке(обведено красным). Далее попадаем на страницу, где внизу нужно нажать на согласие с лицензионным соглашением. После этого начнется процесс закачки.

После того, как пакет загружен запускайте файл index.htm, затем выбирайте образец того, как бы Вы хотели оформить свои фото в фотоальбоме.(Или может просто на странице, или в информере). Как только определено какой вариант предпочтительнее всего, нужно узнать имя файла, в котором содержится приглянувшийся пример (глянуть в адресной строке браузера) и откыть этот файл(он находится там же, где и index.html). Открыть нужно уже не в браузере, а например, в Dreamweaver-е или в любом понравившемся редакторе, если нет, то в блокноте.

Далее просто буквально переписать из этого файла код в нужные шаблоны. Однако, естественно, памятуя о том, что чего означает. Итак.

  • Выберем в качестве примера последний вариант("Slideshow with individual captions and a controlbar using custom overlay"), кстати, он стоит в галереи на этом сайте. Первым делом, что необходимо, это подключить нужные скрипты на страницу показа. Для этого файлы, в которых эти скрипты описаны должны быть в файловом менеджере. В исходном коде видим строку:
    <script type="text/javascript" src="highslide/highslide.js">
    </script>
    Она говорит, что подключен файл highslide.js, который находится в папке highslide, поэтому создавайте папку highslide и туда грузите нужный файл(тут оговорюсь, что лучше грузить highslide.packed.js - он заархивирован и будет грузиться быстрее) и прописывайте эту строчку в шаблон вывода фото:
    <script type="text/javascript" src="highslide/highslide.packed.js">
    </script>
    Либо делайте удобную для Вас папку и меняйте путь(главное, корректно подключить скриптовый файл). Вообще по поводу файлового менеджера: лучше всего через Total Commander(помните о пассивном режиме и ограничении длины пароля до 8 символов) загрузить сразу папку graphics и этот вот файл. Лучше всего папкам имена не менять для совместимости в будущем со всеми кодами.
  • Далее, идет код:
    <script type="text/javascript">
     
     hs.registerOverlay( 
    { 
     thumbnailId: null,
     overlayId: 'controlbar', 
     position: 'top right', 
     hideOnMouseOut: true 
    } ); 
    
    hs.graphicsDir = 'highslide/graphics/'; 
    hs.outlineType = 'rounded-white'; 
    hs.captionEval = 'this.thumb.title'; 
    
    </script> 
    Здесь еще можно добавить строчку, которая уберет верхнюю ссылку powered_by(законно, я смотрела на сайте разработчиков):
    hs.showCredits = false; 
    Это добавлять сразу после
    hs.graphicsDir = 'highslide/graphics/';
    . Кстати, строчка выше говорит браузеру, что папка graphics, в которой находятся все графические элементы для отображения элементов навигации на изображении(стрелочки), находится в папке highslide, вот именно поэтому важно сохранить названия папок, чтобы код соответствовал тому, что на самом деле есть.
  • На данном этапе с кодом пока что все. Позже надо будет добавить соответствующие изменения уже в вид изображения(шаблон в Фотоальбоме под названием "Вид фотографий"). Сейчас же нужно разобраться со стилями. В исходном коде примера все стили включены прямо в страницу. Мы же вынесем их в наш файл .css. Для этого просто скопируйте нужные стили в этот файл, предварительно прописав абсолютные пути к изображениям. То есть, если в классе используется запись
    url(highslide/graphics/zoomin.cur)
    , к примеру, то ее нужно изменить обязательно на
    url(http://имя_вашего_сайта/highslide/graphics/zoomin.cur)
    Помните, это важный момент, потому что относительные пути не будут работать - наш файл .css находится не в корне файлового менеджера. Еще хочется отметить, что можно переносить не все записи. К примеру,
    * {
     font-family: Verdana, Helvetica;
     font-size: 10pt;
    }
    можно и не копировать, так как это означает изменение вида шрифта для всех элементов сайта - оно не надо. Плюс классы со словами highslide-credits тоже не нужны - они отвечают за отображение копирайта. Хотя, если оставлять его, то тогда и классы оставляйте.
  • И напоследок осталось разобраться с видом изображения и элементами навигации. Здесь сразу скопируйте код:
    
    <div id="controlbar" class="highslide-overlay controlbar">
    <a href="#" class="previous" onclick="return hs.previous(this)" title="Previous (left arrow key)"></a>
    <a href="#" class="next" onclick="return hs.next(this)" title="Next (right arrow key)"></a>
    <a href="#" class="highslide-move" onclick="return false" title="Click and drag to move"></a>
    <a href="#" class="close" onclick="return hs.close(this)" title="Close"></a> </div>
    и вставьте его в конце шаблона той страницы, где будет вывод изображений(допустим на главной фотоальбома либо же на странице раздела или странице вывода альбомов или, если информером выводите, то на той странице, где будет информер, после кода $MYINFn$). Этот код отвечает за вывод на изображении кнопок навигации(кстати, можете перевести на русский все надписи). Теперь зайдите в шаблон "Вид фотографий" и там сделайте изменения следующего типа:
    <a id="thumb$ID$" href="$FULL_PHOTO_DIRECT_URL$" 
    class="highslide" onclick="return hs.expand(this)">
    <img src="$PHOTO_DIRECT_URL$" border="0" 
    title="$PHOTO_DESCR$" /></a>
    Важно чтобы id был уникальным, поэтому используем глобальный код $ID$, $FULL_PHOTO_DIRECT_URL$ - это путь к изображению, полного размера, здесь важно помнить, что при загрузке изображений фото должны быть большего размера по горизонтали или вертикали чем настройка в Фотоальбоме - "Размеры фотографии, выводимой на отдельной странице:". То есть, когда система загружает фото у нее должен быть мотив сохранить полный размер, а нам это нужно, чтобы потом переменная $FULL_PHOTO_DIRECT_URL$ содержала данные. Можно поставить там минимальные размеры и не дергаться потом. Далее все просто скопировать нужно(класс и обработку события onclick). Затем идет глобальный код $IMAGE$. Если же хотите использовать атрибут title тега img в качестве вывода информации под изображением, то код будет таким:
    <img src="$PHOTO_DIRECT_URL$" border="0" title="$PHOTO_DESCR$" />

Вот и вся установка, если вопросы - в комментарии.




Категория: Решения по дизайну. | Добавил: design (25.05.08) | Автор: evra
Просмотров: 1269 | Рейтинг: 3.7 |
Комментарии
Всего комментариев: 11[1] 2 »
11 25.08.08, 21:59 от Vladimir
Подскажите если можно. В JAVA-скрипте не очень силен. В каких местах файла нужно редактировать что бы удалить пункты меню навигации. С CSS вроде понятно а вот с явой проблемы. За описание огромное спасибо. Сделал минут за десять правда пока по поводу $ID$ не очень понял и маленькие картинки выводятся моим кодом.
Ответ: Пожалуйста.
По логике вещей в тех местах, где прописан путь к изображениям, символизирующих эти пункты. Никогда не делала, но должно быть так.
ID используется в качестве уникального идентификатора, если вывод картинок осуществляется не в фотоальбоме, а где-то на странице, где система не предоставляет ID, то можно свои вставлять - главное, чтобы уникальные.

10 25.06.08, 18:28 от Маргарита
Приятного времени суток Вам. Я только начала осваивать хтмл и ничего почти не поняла. Какой код должен в результате получиться? Не могли бы Вы написать пример кода, получившегося у Вас, ну а я смогу заменить в нем нужные строки. Просто я уж совсем ничего не поняла. Спасибо большое заранее.
Ответ: Весь код написан в статье - попробуйте, пожалуйста, еще разочек прочесть.

9 25.06.08, 14:20 от Артем
Тогда послежний теоретический вопрос:

я запостил без ID - работает. Какие последствия?

Почему не в процентах? общий вид потеряется?

Ответ: не в процентах, потому что размер у всех разный. id нужен для обращения к конкретному элементу. В данном случае при наличии группы изображений он используется для определения следующего для показа изображения.

8 25.06.08, 14:12 от Артем
Пардон, вопрос с DD отпал. я протормозил, что основной тэг в данном случае <а href> ему мы задаем параметр class

А вопрос с размером решился путем добавления параметров размера) width="110" height="110"

Еще раз за все спасибо!

Ответ: Пока я писала ответ, Вы уже все решили, пожалуйста.

7 25.06.08, 13:59 от Артем
Огромное спасибо. Удачной Вам поездки.
Я разобрался. Ит ВОРКС!!! ))
Мой трабл был в том что я добавлял через линк на другой ресурст а не с ПК. И в текст сообщения дописовал $image$

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

Вопрос еще проще, как я понял.
Вот я взял кусок кода с вашего сайта:

<dd class="img"><a id="thumbXX" href="http://" class="highslide" onclick="return hs.expand(this)"><img border="0" src="http://" title="" /></a></dd>

Пару вопросов: атрибут id - обязателен? и как его задавать? уникально? или в связи с чем-то?

Можно ли делать еще через какой-то тег кроме DD/DT ?

Как вы думаете, почему одни картинки с внешнего сайта на главной странице отображаются нормально: сначала мальнькая потом при клике большая. А некоторые с того же сайта даже до клика большие? Оо

Ответ: id обязательно, уникально. Делать можно через любой тег. Ширину и высоту не в процентах указывайте и экспериментируйте экспериментируйте - это хорошо.

6 25.06.08, 01:06 от Артем
И снова я sad Думал Вас больше не беспокоить, но уже битый час сижу над сайтом, а ничего не получается.

Мучаю страницу новостей. Скопировал тот код что вы использовали у себя на сайте в "вид материалов". Фото как отображалось большим, так и отображается.

Если я правильно понял, оно по умолчанию должно было бы уменьшиться до 110*110 если код работает. В шаблон кода страницы архива новостей и материала я добавил необходимый текст кода для работы Скрипта фоток.

Потерявшись остаточно, я пытаюсь вернуться к истокам и понять что я делаю не так?
Подскажите, что именно делает модуль $img_url1$ 2,3 ?

Если я все правильно бы сделал, по идеи, на странице новостей при добавлении картинки используя тег <IMG src="http://i.io.ua/img_aa/medium/0456/19/04561968.jpg"> сработал бы параметр к фотке 110*100 ширина высота, а при клике - вызов просмотра? верно?

Вопрос2: в шаблоне Вида материала, тот код что вы привели вставить, полностью удалив старый? или как то нужно совместить?

Заранее спасибо. Хочу уже добить

PS Ох счасть было же у меня когда я настроил просмотр фото с помощью скрипта highslide! smile

Ответ: По поводу фотоальбома - поздравляю, еще совет: можно сделать раздел в фотоальбоме а там уже категории и на раздел ссылку, таким образом можно добиться того, что снизу будут кнопки-переключатели страниц.
$IMG_URL1$ - это путь к изображению. То есть после загрузки фото, Вы уже не будете ставить код $IMAGE1$. Оно автоматом выведет.В виде материала прописать нужный код - и все. И принцип правильно понят. Будут маленькая картинка при клике на которую будет выезжать фото. Вот еще: файлы скриптов нужно подключить на ту страницу, на которой вывод будет осуществляться, в данном случае - это главная. Можно прям в окошке их подключить, а можно через if - в шаблоне вида страниц сайта. Глянула исходный код страницы - все верно, только похоже Вы не загружали фото в саму новость, при добавлении нужно загрузить - прям с компьютера - чтобы системе было что выводить, а там увидела еще изображение, которое нужно было вывести - но там ошибка-IMG scr="http://i.io.ua/img_aa/medium/0456/19/04561968.jpg", а нужно IMG src="http://i.io.ua/img_aa/medium/0456/19/04561968.jpg". И по всей видимости if в виде материала не написали, так как при отсутствии изображения система все равно пытается что-то вывести.
Надеюсь, что разберетесь, а то я сегодня уезжаю до осени :-)

5 24.06.08, 01:16 от Артем
Простите за очередное проявление безграмотности:)
Речь идет о присвоении шаблона вида материала для страници новостей\статей, о которой вы писали выше.
Я прописал в шаблонах старниц архива и просмотра материала части кода highslide, но не могу понять, каким образом правильно прописать строчку в "вид материала", что бы произвести вот то необходимое присовение шаблона вида фото к модулю $IMG_URL1$.
Строчка с IF впринципе понятна: мы делаем запрос на наличие УРЛ на фото, если таково есть, то модуль $IMG_URL1$ выводит ее с выше указаными параметрами. Но как изменить код для вставки в "вид материала":

"<a id="thumb$ID$" href="$FULL_PHOTO_DIRECT_URL$"
class="highslide" onclick="return hs.expand(this)">
<img src="$PHOTO_DIRECT_URL$" border="0"
title="$PHOTO_DESCR$" /></a>"

Я мало понимаю. Был бы признателен, если бы вы привели пример такового.

PS Совет тем кто читает: Быстрее и удобнее добовлять код в HEAD и BODY воспользовавшись функцией "импорт удаленного кода". Для этого я скопировал кода что идет в HEAD и сохранил как head.html на сервер и аналогично для части кода что идет в body. Далее вводим ссылки для этих файлов в импортер кода, и он генерирует модуля $RCODE_1$ и $RCODE_2$ соответственно. Дальше просто между тегами head вставляем вместо кучи кода $RCODE_1$ а в body $RCODE_2$. Как по мне потом легче будет убрать\найти эту составляющую вашего шаблона!

Ответ: Сразу возникла мысль по поводу импорта - по идее глобальные коды для этих целей больше подойдут. Системе гораздо проще брать код оттуда.
По поводу кода:
<a id="thumb$ID$" href="$IMG_URL1$"
class="highslide" onclick="return hs.expand(this)">
<img src="$IMG_URL1$" width="110" height="110" /></a>

Вот такой код на сайте я делала - точно работает:

<div class="eTitle" style="text-align:center; font-size:18px;">$TITLE$</div>

<?if($MESSAGE$)?>
<div class="eMessage" style="text-align:left;clear:both;padding-top:2px;padding-bottom:2px;">

<div style="float:left; margin-right:15px;">
<?if($IMG_URL1$)?><div class="bg_thumb"><a id="thumb1" href="$IMG_URL1$" class="highslide" onclick="return hs.expand(this)"><img border="0" src="$IMG_URL1$" height="110px" width="110px" /></a>
</div><?endif?>
<?if($IMG_URL2$)?><div class="bg_thumb"><a id="thumb2" href="$IMG_URL2$" class="highslide" onclick="return hs.expand(this)"><img border="0" src="$IMG_URL2$" height="110px" width="110px" /></a>
</div><?endif?>
<?if($IMG_URL3$)?><div class="bg_thumb"><a id="thumb3" href="$IMG_URL3$" class="highslide" onclick="return hs.expand(this)"><img border="0" src="$IMG_URL3$" height="110px" width="110px" /></a>
</div><?endif?>
</div>

$MESSAGE$</div>
<?endif?>
<div class="clear"><div><br />

Стили все вынести в классы - а оформление будет таким как в атрибуте style.
Вот как это смотрится:
http://turi.at.ua/publ/2


4 22.06.08, 21:05 от Артем
Спасибо, сейчас перечитаю еще раз и повнимательней, пока ждал ответ, перечитывал оседнюю статью по поводу флаш-отображения фото.
Вот эта фраза меня и начала толкать на путь истинный:
"Последний штрих - в шаблоне с названием "Вид фотографий" нужно взять код $PHOTO$ в ссылку и в атрибуте href указать $FULL_PHOTO_DIRECT_URL$. Вот так примерно(часть нужного кода взяла): <a href="$FULL_PHOTO_DIRECT_URL$" rel="lightbox[roadtrip]" title="$PHOTO_NAME$ ($PHOTO_SIZE$, $PHOTO_WEIGHT$Kb)">$PHOTO$</a>"

Сейяас будем пробовать разобраться. Еще раз спасибо за статью и ответ! Вам мой искренний поклон! С. Ув. Артем

Ответ: Пожалуйста, Ваши сайты, созданные с любовью - лучшая благодарность :-)

3 22.06.08, 14:09 от Артем
Доброго времени суток. Спасибо Вам за статью. Только я из-за своей темноты в работе с html и css туплю. Помогите пожалуйста. Благодаря Вашей статье я разобрался с всеми частями кода, записал все необходимые файлы на сервер. Вот я не понимаю как и что мне вставить в шаблон фотоальбома "страницы со списком фото. альбома", когда сама фотография записывается на сервер и отображается благодаря вот такой строчке <tr><td colspan="2" align="center">$PHOTOS$</td></tr>

Я не могу вкумекать как мне привязать любую из частей кода, что бы при нажатие на фотку в альбоме она не открывалась в новом окне, а увеличивалась таким образом, как указано выше. Буду ОЧЕНЬ благодарен вам за ответ с примером куска кода. с нетерпением Жду!

Ответ: Добрый день. В статье это описано, читайте там, где говорится 'зайти в шаблон "Вид фотографий"'. То есть вдумайтесь, где система берет код, который в итоге отвечает за вид этих маленьких фото. Система отображает именно так, как Вы скажете ей это сделать в коде шаблона "Вид фотографий". А какой код туда писать - смотрите чуть внимательнее в статье.

2 26.05.08, 20:38 от evra (design)
По поводу таких изображений в новостях/статьях: можно использовать $IMG_URL1$ для создания шаблона вида материала. Один раз прописать там, также как в фотоальбоме, только проверить есть ли эта переменная вообще. <?if($IMG_URL1$)?><img src="$IMG_URL1$" width="80" height="80" /><?endif?> То есть получается, при добавлении материала, если есть картинка, то система ее выведет. Естественно, что код такой как в примере и подключение скриптов такое же, все все. Просто вместо маленького изображения в фотоальбоме используется вот этот код, что выше. Думаю, теперь все понятно, если нет, то задавайте вопросы, но что конкретно именно непонятно.

[1-10] [11-11]
Имя *:Комментарий
E-mail:
Сайт:
Код безопасности *: