Как добавить на сайт новости?

#
Как добавить на сайт новости?
Как добавить на сайт новости, с других сайтов, если у них нет rss???
Модератор
#
Re: Как добавить на сайт новости?
Владимир,
необходимо написать свой программный код для данного функционала, т.к. требуемый функционал не относится к функциям HostCMS
#
Re: Re: Как добавить на сайт новости?
А если есть rss? импорт возможен?
Модератор
#
Re: Как добавить на сайт новости?
Александр,
Возможен. класс RssRead. Описание методов в API
#
Re: Как добавить на сайт новости?
Вот как должно быть:
Описания методов RssRead::ReadRSS
ReadRSS( string $url, [array $param = array()] );
Принимаемые параметры
$url
URL ресурса
$param
массив дополнительных параметров, необязательный параметр


Вот что получилось:
ReadRSS(string http://news.yandex.ru/index.rss);

Parse error: syntax error, unexpected T_STRING in /home/res/www/site4/public_html/structure/Modules/Module6.php on line 2

Как нужно исправить???
Модератор
#
Re: Как добавить на сайт новости?
Выдержка из новой документации к HostCMS 3.3

Цитата:

Импорт RSS-каналов (импорт на сайт новостей, статей и т.д.)
Импорт RSS-каналов наиболее часто происходит с некоторой периодичностью. Периодичность вызова организуется с помощью Cron/crontab .
Необходимо создать файл, который будет вызываться с некоторой периодичностью и осуществлять импорт данных из RSS-канала.
Файл будет начинаться с подключения основных классов и инициализации модулей.
/* Подключаем основные классы */
require_once('main_classes.php';

/* Загружаем модули */
$GLOBALS['kernel']->LoadModules();
Чтение RSS-канала осуществляется с использованием метода ReadRSS класса RssRead().
Пример импорта RSS-канала показан ниже.

<?php

/* Подключаем основные классы */
require_once('main_classes.php';

/* Загружаем модули */
$GLOBALS['kernel']->LoadModules();

/* Адрес RSS-канала */
$url = 'http://www.vsesmi.ru/rss/all/';

/* Идентификатор информационной системы, в которую помещаются элементы */
$infsys_id = 21;

/* Группа, в которую помещается новый элемент */
$infgroup_id = 0;

$rss = new RssRead();

$result = $rss->ReadRSS($url);

$InformationSystem = new InformationSystem();

$DateClass = new DateClass();

/* Цикл по полученным элементам */
for($i = 0; $i < count($result['items']) - 1; $i++)
{
   /* Если не найдено элементов с таким-же именем */
   if (mysql_num_rows(
   $InformationSystem->GetExternalInformationSystemItem(array('information_items_name'=>$result['items'][$i]['title'],
   'information_blocks_id'=>$infsys_id))) == 0)
   {
      /* Форимруем полный путь к источнику материала */
      $link = $result['items'][$i]['link'];

      /* Заголовок */
      $title = $result['items'][$i]['title'];
      
      /* Дата */
      $desc = $result['items'][$i]['desc'];
      
      /* Описание элемента */
      $text = $result['items'][$i]['desc'];
      
      /* Тест элемента */
      $date = $DateClass->DateUnixToSQL(strtotime($result['items'][$i]['pubdate']));

      /* Вставка элемента */
      $InformationSystem->InsertInformationItems(0, 0, $infsys_id, $infgroup_id, $date, $title, $desc, 1, $text, '', 0, $_SERVER['REMOTE_ADDR']);
   }
}

?>
#
Re: Как добавить на сайт новости?
А когда это можно будет посмотреть в "Демо-версии"???
И так как я думаю что это многим интересно, то может расскажете подробней:
Цель: Создать информационную систему, типа новостной и пополнять ее автоматически из http://news.yandex.ru/index.rss.
Начало:
1) Создаем Обычную информационную систему (стр 28).
2) В структуре сайта:
Динамическая страница: "Пример импорта RSS-канала выше"
Настройки динамической страницы выводим стандартно:
<?
# ID Информационной системы
$InformationSystem_id=25;

# Количество записей на страницу
$items_on_page=5;

# Создаем экземпляр объекта Информационные системы
$InformationSystem = new InformationSystem();

# Изменяем параметры страницы (заголовок, описание и т.п.)
$InformationResult = $InformationSystem->ShowInformationSystemPageConfig($InformationSystem_id,$items_on_page);
?>

И ничего не получам....
Модератор
#
Re: Как добавить на сайт новости?
Фисечко Дмитрий Михайлович,
а сам импорт выполнили? были ли ошибки?
#
Re: Как добавить на сайт новости?
Нет. ничего не получилось.
И я знаю почему, я не разобрался с:
Необходимо создать файл, который будет вызываться с некоторой периодичностью и осуществлять импорт данных из RSS-канала.
Файл будет начинаться с подключения основных классов и инициализации модулей.
/* Подключаем основные классы */
require_once('main_classes.php';

/* Загружаем модули */
$GLOBALS['kernel']->LoadModules();
Чтение RSS-канала осуществляется с использованием метода ReadRSS класса RssRead().


Я не понял какой файл, как создать и как к нему обращаться.
А если нет правильного начала, глупо ждать удачного конца.

Вот что получилось:
Fatal error: Cannot redeclare class templates in /home/public_html/modules/Templates/Templates.class.php on line 0
Модератор
#
Re: Как добавить на сайт новости?
Фисечко Дмитрий Михайлович,
как создать файл прочитайте в руководстве к Вашему FTP-менеджеру.

Файл размещаете например в корне сайта. вызываете как http://адрес_сайта/имя_файла.php
Авторизация