Статьи

Создайте Slick Flickr Gallery с SimplePie

Я давно хотел написать учебник, и API всегда вызывали у меня особый интерес. Так что с недавним набегом моей жены на фотографию, я решил, что учебник Flickr будет первым такси вне очереди! Использовать RSS, Flickr и jQuery вместе было довольно весело.




конечный продукт

Итак, мы собираемся коснуться нескольких технологий для этого урока. Мы будем использовать

RSS-канал от Flickr, немного PHP и немного jQuery, чтобы сделать вещи красивыми и интерактивными! Что ж

используйте SimplePie для обработки RSS-канала, так как

делает жизнь намного проще, и может использоваться в любых других проектах, где используются RSS-каналы.

Создайте файл с именем «index.php» и начните с довольно простой HTML-структуры для размещения

различные компоненты нашего канала Flickr.

Довольно стандартные вещи, обратите внимание, что мы добавили классы для верхнего и нижнего колонтитула, но не более

главное, альбом-обертка. Это div, где мы будем выводить все изображения, которые приходят в

из нашего канала Flickr.

Создайте две новые папки с именами «include» и «cache», затем загрузите

href = «http://simpliepie.org/» target = «_ blank»> SimplePie

и скопируйте его в папку «includes».

SimplePie ловко хранит кэшированную версию вашего канала Flickr локально, чтобы ускорить будущее

посещения. Примечание: если вы не делаете это в Windows, не забудьте убедиться, что папка «кеш»

доступно для записи.

Вставка этого кода в самый верх вашего файла «index.php» дает нам доступ к SimplePie

библиотека для обработки RSS-канала для нас. Также вторая и третья строки создают новый объект фида

на основе RSS-URL для вашего канала Flickr.

Теперь мы можем начать засорять наш HTML фрагментами PHP для вывода информации с нашего Flickr

подача. Вот некоторые из ключевых функций, которые предоставляет SimplePie:

Каждый элемент, возвращаемый get_items (), также имеет свой собственный get_title () и т. Д., Чтобы получить различные

элементы. Для получения полного списка функций, доступных для SimplePie, проверьте

href = «http://simplepie.org/wiki/reference/start» targt = «_ blank»> Документация SimplePie

,

Итак, первыми функциями, которые мы будем вызывать в нашем скрипте, будут заголовок и заголовок:

Прежде чем мы сможем начать просмотр фотографий в ленте, нам нужно написать две короткие функции.

Первый находит тег изображения в описании фотографии в RSS-ленте. Вы можете

напишите эту функцию между существующими тегами PHP в верхней части скрипта.

Вторая функция позволяет выбрать размер изображения для извлечения из Flickr, но

настройка имени файла в теге изображения. Эта функция также должна быть помещена между существующим PHP

теги в верхней части скрипта.

Теперь мы можем просматривать фотографии в ленте RSS и выводить их. Мы будем использовать цикл для

просмотрите каждый элемент в ленте.

Чтобы объяснить этот фрагмент кода, при прохождении цикла мы выводим новый div, который мы можем стилизовать позже.

Внутри каждого div мы используем функции, которые мы написали ранее, чтобы получить определенный размер изображения (я выбрал

квадрат для удобства укладки). Мы также выводим заголовок каждой фотографии перед выводом

сама фотография и дата под каждой фотографией.

Теперь пришло время придать альбому стиль! Итак, во-первых, чтобы дать базовую структуру для базы

HTML структура, я установлю некоторые шрифты, ширину, поля и т. Д. Также немного стиля для сортировки выравнивания

изображения значка канала Flickr. Не забудьте связать свой файл таблицы стилей в разделе заголовка

Ваш HTML в первую очередь.

Затем вставьте эти правила CSS в ваш файл «style.css»:

Затем какой-нибудь стиль, который будет применен к каждому из фото divов:

Теперь, чтобы добавить немного интерактивности, мы добавим немного jQuery. Я думаю, что было бы неплохо иметь

эффект парения, а также возможность щелкнуть изображение и увидеть увеличенную версию. Включить скрипт jQuery

файл, который вы можете получить из последней версии

целевых = «_blank»> jquery.com

также создайте себе «script.js» и включите его в

путь.

Первый бит jQuery, добавляемый в ваш файл «script.js», это $ (document) .ready () для обработки

все, что вы хотите сделать jQuery, после загрузки документа.

1
2
3
$(document).ready(function() {
    $(‘.photo’).fadeTo(0, 0.5);
}

Это приведет к исчезновению каждого div с классом «.photo» до 50%, как только документ будет полностью загружен

и готово. Затем мы заставим изображения загореться, когда на них наведет курсор мыши.

1
2
3
4
5
6
7
8
9
$(document).ready(function() {
    $(‘.photo’).fadeTo(0, 0.5);
     
    $(‘.photo’).hover(function(e) {
        $(this).stop().fadeTo(‘slow’, 1.0);
    }, function(e) {
        $(this).stop().fadeTo(‘slow’, 0.5);
    });
});

Эти дополнительные 5 строк сообщают jQuery, чтобы каждая фотография при наведении курсора исчезала до 100%, и когда мышь

снова гаснет, затухает до 50%. (Спасибо Майк Шнайдер и Саймон в комментариях для некоторых
здесь изменения)

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

Для этого мы будем использовать Thickbox, построенный на jQuery.

Скачайте Thickbox , а затем

включите его в заголовок вашего файла «index.php», как показано выше.

Как только они будут включены, отредактируйте следующие строки, чтобы определить URL-адрес к полному изображению, и добавьте

ссылка с классом «Thickbox». Это активирует Thickbox, и он должен просто работать, я также добавил

название, которое обеспечивает заголовок.

Это оно! Теперь у вас должен быть скрипт, который отображает канал Flickr для вас и позволяет вам

нажмите на них и увидите увеличенную версию. Наслаждайтесь!