diff --git a/CCachedIBlockElement.php b/CCachedIBlockElement.php new file mode 100644 index 0000000..89e3ca9 --- /dev/null +++ b/CCachedIBlockElement.php @@ -0,0 +1,20 @@ +class CCachedIBlockElement extends CIBlockElement +{ + public static function GetList($arOrder=array("SORT"=>"ASC"), $arFilter=array(), $arGroupBy=false, $arNavStartParams=false, $arSelectFields=array(), $cache_time) + { + $obCache = new CPHPCache(); + $cache_id = md5(serialize(array($arOrder, $arFilter, $arGroupBy, $arNavStartParams, $arSelectFields))); + $cache_path = 'CachedIBlockElement'; + if ($cache_time > 0 && $obCache->InitCache($cache_time, $cache_id, $cache_path)) { + $arElements = $obCache->GetVars(); + } elseif ( $obCache->StartDataCache() ) { + $arElements = array(); + $rElements = parent::GetList($arOrder, $arFilter, $arGroupBy, $arNavStartParams, $arSelectFields); + while($arElement = $rElements->Fetch()){ + $arElements[] = $arElement; + } + $obCache->EndDataCache($arElements); + } + return $arElements; + } +} diff --git a/getLastNews.php b/getLastNews.php new file mode 100644 index 0000000..3c126a9 --- /dev/null +++ b/getLastNews.php @@ -0,0 +1,30 @@ +loadXML($content); +$xpath = new DOMXpath($dom); + +$elements = $xpath->query('*/item'); +foreach($elements as $key => $element){ + $nodes = $element->childNodes; + foreach ($nodes as $node) { + switch ($node->nodeName) { + case "title": + $title = $node->nodeValue; + break; + case "link": + $link = $node->nodeValue; + break; + case "description" : + $description = $node->nodeValue; + break; + } + } + echo "$title\n$link\n$description\n"; + if ($key == 4) { + break; + } + echo "#\n"; +} +?>