Joomla портал
seo seo Subscribe
seo
0
seo

Разработка собственной CMS

// Выводим статьи

foreach ($chan['items1] as $item)

{

echo «

$item[title]

$item[description]«;

}

}

else {

echo «Ошибочка! Пустой канал или неправильный формат

файла
$url\n
«;

}

}

?>

Рис. 16.2. Результат работы сценария import.php

Гпава 16. Работа с RSS: получаем новости на сайт 201

Наш сценарий позволяет указать не один, а несколько RSS-файлов: они будут

выведены по очереди. Сначала мы выводим данные из заголовка RSS-канала:

название канала, ссылку, описание канала и информацию об авторских

правах. Затем выводим сами новости: заголовок, описание и ссылку, по которой

можно перейти на сайт-источник новостей и прочитать интересующую

новость подробнее. Зная формат RSS-файла (см. разд. 16.2), вы можете вывести

дополнительные элементы заголовка или статьи, например дату публикации

статьи (рис. 16.2).

16.4. Подключение файла

import.php к сайту

16.4.1. Интеграция с нашей CMS

Сначала нужно определиться, где вы хотите выводить новости. Новости

можно выводить или на главной странице, или на отдельной странице сайта.

Если вы хотите вывести новости на главной странице, тогда найдите в in-

dex.php следующий фрагмент кода:

if (!isset($p)) {

$q = «select * from static where id=\»main\» limit 1″;

$r = mysql_query($q);

$row = mysql_fetch_array($r);

$page = $row[content^ ;

}

Данный фрагмент нужно заменить следующим фрагментом:

if (!isset($p)) {

$page = join(»,file(«http://$SERVER_N???/import.php»));

}

Переменная окружения $server_name содержит имя вашего сайта, например

www.dkws.org.ua. Но иногда (если сервер неправильно сконфигурирован и

эта переменная устанавливается неверно) вместо $server_name лучше явно

Указать имя сайта.

Если вы хотите выводить новости на отдельной странице, то первым делом

отредактируйте шаблон page.tpl, добавив в него ссылку:

HOBOCTM

202

Часть IV. Разработка собственной CMS

Затем откройте index.php и, как обычно, после последней закрывающей фи*

гурной скобки добавьте следующий код:

elseif($p==Mlenta») {

$page = join(»,file(«http://$SERVER_NAME/import.phpM));

}

Измененные версии файлов page.tpl и index.php вы найдете вместе с

остальными файлами в каталоге Glava_16. При закачке файлов на сервер обратите

внимание на регистр букв файла lastRSS.php — регистр не должен быть

изменен (т. е. не нужно преобразовать все символы в нижний регистр), иначе

код работать не будет!

16.4.2. Интеграция

с произвольной CMS

Тут все зависит от сайта и от его «движка». Если вы используете какую-

нибудь готовую CMS, то, возможно, вам придется преобразовать данный

файл в модуль для вашей системы. Этот вариант мы рассматривать не будем,

поскольку систем управления контентом очень много и описать создание

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

Joomla!, PHP-Nuke и Slaed уже описано.

Если же движок для сайта разрабатывали вы сами, тогда все намного проще.

Вам в нужном месте потребуется просто подключить файл import.php:

include «import.php»;

Если же вы написали сложную систему вывода страниц и такое подключение

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

иначе. Сначала следует получить вывод сценария import.php, а затем вывести

результат его работы в нужном месте:

// Укажите ваше имя сервера

$txt = join(‘·,file(‘http://dkws.org.ua/import.php’));

// Переменную $txt следует вывести в нужном месте,

// чтобы не нарушить дизайн сайта

Обратите внимание: результат вывода сценария import.php необходимо

получать только согласно протоколу HTTP, если просто указать имя файла

(import.php), то функция file () прочитает его с диска, а не по HTTP, и в

результате вместо новостей будет выведен исходный код сценария.

Гпава 16. Работа с RSS: получаем новости на сайт

203

16.5. Создание граббера новостей

Наш сценарий импорта новостей работает просто превосходно. Но ссылки на

полное описание статьи уводят пользователей с нашего сайта на сайт-

источник новостей.

seo
5th Фев 2011
Теги:
seo

Написать ответ

seo
 
Все права защищены © 2023 Joomla портал
 
 
seo