И это все бесплатно. Для сравнения: за 200 Мбайт дискового
пространства для своего сайта я плачу хостеру 4 доллара в месяц. А дисковое
пространство, которое LiveJournal предлагает бесплатно, стоит около
11 долларов в месяц. Выгодно^Еще как!
Да, согласен, что если вы хотите создать серьезный проект, тогда
возможностей Живого журнала будет маловато. Но, с другой стороны, он позволяет
вам хранить свои фотографии. Идея предельно проста: все данные, кроме
фотографий, вы размещаете на обычном хостинге, а фотографии, которые
занимают много места, вы помещаете на LiveJournal.
Узнать практически все о Живом журнале можно, прочитав список вопросов
и ответов по адресу:
bttp://www.livejournal.com/support/faq.bml
? частности, в 68-м вопросе рассматривается, как можно встроить
LiveJournal в ваш сайт:
bttp://www.livejournal.com/support/faqbrowse.bml?faqid=68
208
Часть IV. Разработка собственной CMS
Более подробно несколько способов такой интеграции рассмотрены здесь:
http://community.livejournal.com/howto_in_ru/1507.html
Рис. 17.1. Создание учетной записи на http://www.livejournal.com/
Но у всех этих способов два недостатка:
1. Интеграция осуществляется с помощью фреймов, а их использовать,
мягко говоря, нежелательно. Рекомендуется отказаться от фреймов,
поскольку они являются пережитком прошлого, да и в дизайн современного сайта
они не вписываются.
2. Ничего не сказано об интеграции фотогалереи, а она интересует нас в
первую очередь. Если бы нам хотелось сделать блог, то мы могли бы создать
его собственными силами, не прибегая к помощи LiveJournal (или хотя бы
просто установить на свой сайт уже готовый сценарий блога, каких в сети
очень много).
Глава 17. Интеграция CMS с LiveJoumal
209
17.2. Интеграция фотогалереи
LiveJoumal и сайта
После того как вы создадите свой аккаунт, редактировать свои фотогалереи
можно с помощью команды меню LiveJoumal Фотографии | Редактировать
галереи (рис. 17.2).
Рис. 17.2. Редактирование галерей
Просмотреть свои загруженные фотографии вы и другие пользователи могут
по адресу http://picsJivejournalxom//.
На рис. 17.3 представлена моя галерея (как она выглядела до интеграции в
сайт).
Как интегрировать фотогалереи в сайт? Первое, что приходит в голову,—
это запросить по HTTP адрес http://pics.livejournal.com// и
210
Часть IV. Разработка собственной CMS
вывести его в дизайне сайта. Как говорят психологи, первая мысль — самая
удачная. Так и сделаем. Предположим, что у нас есть основной сценарий
сайта index.php, который выводит нужные страницы в зависимости от
значения переменной $р. Договоримся, что если $раде содержит значение
fgaieryf, то будет выведена наша галерея (листинг 17.1).
Рис. 17.3. Фотогалерея до интеграции в сайт
if ($p==MgaleryM)
{
// Переменная $page теперь содержит HTML-код галереи.
$page = join(f f,file(fhttp://pics.livejournal.сот//f));
}
Глава 17. Интеграция CMS с LiveJoumal
211
Увидеть галерею в дизайне нашего сайта можно по адресу:
http:///index.php?page=galery
Все бы хорошо, но при первом же просмотре фотографии происходит
переход с нашего сайта на сайт Живого журнала. Конечно, нам хочется, чтобы
фотографии открывались в окне нашего сайта. Поэтому нам необходимо
заменить все ссылки галереи, содержащиеся в коде, на ссылки вида:
http:///index.php?page=view_url&u=
Тогда при открытии фотографии ее адрес будет передан нашему сценарию
index.php, который отобразит фотографию как нужно. В листинге 17.2
представлен фрагмент файла index.php, который обеспечивает вывод галереи и
отдельных фотографий.
if ($p==»galery»)
{
// Переменная $text теперь содержит HTML-код галереи.
// Нам остается вывести переменную $text в нужном месте,
// чтобы не нарушить дизайн сайта.
$page = join(‘f,file(f http://pics.livejournal.сот//f));
$page = str_replace(fhref=»http://f,
fhref=»http:///index.php?page=view_url&u==http://’,$page);
}
if ($p==»view_url»)
{
// Получаем переданный URL
$page = join(ff,file($u));
// Опять производим замену URL
$page = str_replace(fhref=»http://’,
fhref=»http:///index.php?page=view_url&u=http://’,$page);
}
Окончательный результат представлен на рис. 17.4 и 17.5.
212 Часть IV.
5th Фев 2011
|
Теги:
|