Сайт сообщества | Клуб пользователей | О проекте

Имя
Пароль
ПравилаРегистрацияСправка
Сообщения за деньПоиск

Вернуться   Клуб пользователей портальной системы RUNCMS > Портал > Модули и блоки

 
 
Опции темы Опции просмотра
arka вне форума arka
Зам старшего участника

Аватар для arka

| Цитировать Старый #1 09-28-2006, 02:55

Один из вариантов решения проблемы транслирования заголовков с других сайтов.

Проверено, кодировки 1251 поддерживаются. Скрипт выводит только текст, без картинок (но думаю это не столь принципиально, тем более, что многие каналы картинки вообще не дают)

Внимание! Скрипт и его идея - http://lastrss.webdot.cz/

(я лишь немного адаптировал и описываю практическую часть для широкого круга нуждающихся )

Изначальная потребность:


- возможность интеграции любого RSS канала в любом месте (свой блок или HTML content);
- возможность оперирования с каждым RSS каналом в отдельности, как группируя несколько каналов вместе, так и по отдельности;
- исключение зависимости RSS канала от какого-либо модуля;
- исключение использования базы данных

Решение:

1. Скачиваем приложенный файл.
2. У себя на сервере, создаем любую новую папку.
3. В созданную папку копируем прилагаемый файл.
4. Продумываем - какие RSS каналы нам нужны и соответственно - записываем на бумажке линки к RSS (или в блокноте)
5. Открываем блокнот и создаем php файл, со следующим содержанием

Код:
<?php 
function ShowOneRSS($url) { 
global $rss; 
if ($rs = $rss->get($url)) { 
echo '<font color="#BC8439"><strong>'.$rs['title']."</a></strong></font>";      
foreach ($rs['items'] as $item) { 
echo '<br><br><a href="'.$item['link'].'" target="_blank" title="'.$item['description'].'">'.$item['title'].'</a>'; 
} 
if ($rs['items_count'] <= 0) { echo "<li>Ошибка</li>"; } 
} 
} 
// =============================================================================== 
// include lastRSS 
include "lastRSS.php"; 
// List of RSS URLs 
$rss_left = array( 
'http://www.overclockers.ru/rss/lab.rss' // путь к нужному каналу
); 
// Create lastRSS object 
$rss = new lastRSS; 
// Set cache dir, cache interval and character encoding 
$rss->cache_dir = './temp'; 
$rss->cache_time = 1200; // (5 seconds) 
$rss->cp = 'windows-1251'; 
$rss->items_limit = 3; // число отображаемых новостей
// Show all rss files 
foreach ($rss_left as $url) ShowOneRSS($url); 
?>
6. Настраиваем, соответственно, путь к RSS и число отображаемых новостей, цвет заголовка (в данном примере - #BC8439)

7. Если есть необходимость сгруппировать несколько каналов для показа, то вместо

Код:
$rss_left = array( 
'http://www.overclockers.ru/rss/lab.rss' 
);
вставляем

Код:
$rss_left = array( 
'http://www.overclockers.ru/rss/lab.rss',
'http://www.overclockers.ru/rss/lab2.rss'
);
и так далее - любое количество заголовков (!), но в последнем случае - запятой нет(внимательно с запятыми ! )

7.Сохраняем файл в созданной папке (там же, где и lastRSS.php) под любым запоминающимся именем, например myrss.php

8. Подготовительная часть закончена.
9. Интеграция.
10. Первый вариант: Администрирование - Блоки - Свой блок -
Настраиваем где и кому мы будем показывать блок
В контент блока вставляем

Код:
include("путь к файлу myrss.php");
можно указать сокращенный путь и полный путь, например

Код:
include("http://www.site.info/rss/myrss.php");
указываем тип контента PHP

Готово !

11. Второй вариант - интеграция в HTML (если кто использует, я например в определенных случаях использую)

В нужном месте просто прописываем строчку, например

Код:
<td valign="top"><? include("http://www.site.info/rss/myrss.php"); ?>  </td>
или короткий путь

Готово !

12. Далее, для удобства оперирования (ну... лично мне так было удобнее ) создаем столько php файлов, сколько нам необходимо различных самостоятельных rss каналов. И, соответственно, оперируем (интегригруем) каждым php файлом отдельно.
Например, нам нужно иметь возможность независимо управлять rss каналами с 9 сайтов. Тогда - создаем myrss.php, myrss2.php, myrss3.php и т.д. Или же - чтобы не запутаться, создаем overclock.php, lentaru.php, politru.php, ferra.php и т.д.

ВСЕ!
Оперируя, "включая" созданные файлы - мы оперируем RSS каналами!
Главное - все созданные файлы должны находиться в одной папке с файлом lastRSS.php (который мы не трогаем)

P.S. Настройка цвета и способа вывода может быть произведена в рамках создаваемого файла.

P.P.S Всем мучавшимся до сих пор, от проблем с кодировками встроеного в роню ридера, и от проблем с невозможностью свободного оперирования с каждым из каналов - просьба радостно отписаться о работе вышеописанной системы
Вложения
Тип файла: rar lastRSS.rar (2.5 Кбайт, 92 просмотров)
Оценка сообщения (репутация)
+2 Michael-XIII положительно: Правильно. Меньше слов - больше дела!
+0 zxcoff положительно:

Последний раз редактировалось arka, 09-28-2006 в 16:23


Оказавшись на любой вершине, ты стоишь над пропастью…
Ежи Лец

Право, нотариат
  Сообщения: 353 c 11.05.2006 | Репутация: 19
 


Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Рейтинг@Mail.ru Хостинг провайдер Majordomo. Powered by: vBulletin Version 3.0
Copyright ©2000-2024, Jelsoft Enterprises Ltd.
Все разделы прочитаны - Руководство форума - Архив - Вверх
Rambler's Top100
Output: 287.74 Kb. compressed to 285.69 Kb. by saving 2.05 Kb. (0.71%)
Page generated in 0.19703 seconds with 12 queries