Типовая динамическая страница: RSS канал для доски объявлений (настройки)
<?php
$shop = & singleton('shop');
/* Код информационной системы */
$shop_id = to_int($GLOBALS['LA']['ShopID']);
$GLOBALS['shop_item_path'] = $shop->GetItemPath($shop_id);
/* Код выводимой группы */
$shop_groups_id = $GLOBALS['LA']['ShopGroupsID'];
/* Число выводимых элементов в ленте */
$items_on_page = to_int($GLOBALS['LA']['ItemCount']);
/* Позиция, с которой начинается вывод элементов */
$items_begin = to_int($GLOBALS['LA']['ItemBegin']);
$property=array();
/* Показывать в формате Yandex:full-text */
$property['yandex:full-text'] = to_bool($GLOBALS['LA']['Fulltext']);
/* Удалять теги из RSS */
$property['strip-tags'] = to_bool($GLOBALS['LA']['StripTags']);
/* Заголовок RSS-канала */
if (!empty($GLOBALS['LA']['RssTitle']))
{
$property['title'] = to_str($GLOBALS['LA']['RssTitle']);
}
/* Описание RSS-канала */
if (!empty($GLOBALS['LA']['RssDescription']))
{
$property['description'] = to_str($GLOBALS['LA']['RssDescription']);
}
/* URL RSS-канала */
if (!empty($GLOBALS['LA']['RssURL']))
{
$property['link'] = to_str($GLOBALS['LA']['RssURL']);
}
/* Отображать изображение для информационного элемента в RSS */
//$property['show_image'] = to_bool($GLOBALS['LA']['ShowImage']);
$show_image = to_bool($GLOBALS['LA']['ShowImage']);
/* Изображение для RSS-канала (URL) */
if (!empty($GLOBALS['LA']['RssImage']))
{
$property['image']['url'] = to_str($GLOBALS['LA']['RssImage']);
$property['image']['title'] = to_str($GLOBALS['LA']['RssTitle']);
$property['image']['link'] = to_str($GLOBALS['LA']['RssURL']);
}
$param = array();
$param['items_begin'] = $items_begin;
$param['items_on_page'] = $items_on_page;
$param['items_field_order'] = 'shop_items_catalog_date_time';
$param['xml_show_group_type']='all';
$element = array () ;
$element['type'] = 0;
$element['name'] = 'shop_items_catalog_small_image';
$element['prefix'] = "AND (";
$element['if'] = "!=";
$element['value'] = "''";
$element['sufix']= ")";
$param['select'][] = $element;
$items = $shop->GetAllItems($shop_id,false,$param);
$rssw = & singleton('RssWrite');
$rssitems= array();
foreach ($items as &$item) {
// добавляем
$rssitem= array();
$group_path = '';
$group_path1 = '';
//$mas_group_path = '';
$group_id = $item['shop_groups_id'];
$mas_group_path = array();
$gr = $shop->GetGroup($group_id);
while ($gr['shop_groups_parent_id']!=0) {
$mas_group_path[] = $gr;
$gr = $shop->GetGroup($gr['shop_groups_parent_id']);
}
if (isset($gr)) {
$mas_group_path[] = $gr;
}
//$mas_group_path1 = $shop->GetShopGroupsToRoot($group_id, $shop_id);
if (is_array($mas_group_path) && count($mas_group_path) > 0)
{
$f = true;
foreach ($mas_group_path as $key => $value)
{
if ($f)
{
$group_path1 = $value['shop_groups_name'] . (intval($key) != 0 ? ' → ' : '' ) . $group_path1;
$f=false;
}
//$value['shop_groups_parent_id']==0;
$group_path = $value['shop_groups_path'] . '/' . $group_path;
}
}
// Путь по именам содержится в переменной $group_path
$rssitem['title'] = '<span class="category">'.$group_path1.'</span><br /><span class="name">'.$rssw->str_for_rss($item['shop_items_catalog_name']).'</span>';
$rssitem['link'] ="http://board.srs-vrn.ru/board/".$group_path.$item['shop_items_catalog_path'];
$t = strip_tags($item['shop_items_catalog_text']);
$t = substr($t,0,97);
$rssitem['description'] = '<span class="description">'.$rssw->str_for_rss($t).'</span>';
$rssitem['guid'] = $rssitem['link'];
if ( $show_image && !empty($item['shop_items_catalog_small_image'])) {
$rssitem['enclosure'][0]['url'] = '/upload/shop_'.$shop_id.'/item_catalog_'.$item['shop_items_catalog_item_id']."/".$item['shop_items_catalog_small_image'];
// как узнать размер файла пока не разобрался
$rssitem['enclosure'][0]['length']=1024;
}
$rssitems[] = $rssitem;
} // foreach
unset($items);
$rss = $rssw->CreateRSS($property,$rssitems);
echo $rss;
exit();
?>