From dd3f47914b9304e2885ff2a387a31a8e2c3ac6b7 Mon Sep 17 00:00:00 2001 From: PrideWebDev <30594838+pridewebdev@users.noreply.github.com> Date: Mon, 28 May 2018 11:31:28 +0300 Subject: [PATCH 1/3] =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=20?= =?UTF-8?q?=D0=BA=D0=BB=D0=B0=D1=81=D1=81=20=D0=BF=D0=BE=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=B1=D0=BE=D1=80=D0=BA=D0=B5=20=D1=8D=D0=BB=D0=B5=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=BE=D0=B2=20=D0=B8=D0=BD=D1=84=D0=BE=D0=B1=D0=BB?= =?UTF-8?q?=D0=BE=D0=BA=D0=B0=20=D1=81=20=D1=82=D0=B5=D0=B3=D1=80=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D0=BC=20=D0=BA=D0=B5?= =?UTF-8?q?=D1=88=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ElemIblockCache.php | 68 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) create mode 100644 ElemIblockCache.php diff --git a/ElemIblockCache.php b/ElemIblockCache.php new file mode 100644 index 0000000..04ada9f --- /dev/null +++ b/ElemIblockCache.php @@ -0,0 +1,68 @@ + '/local/php_interface/ElemIblockCacheTable.php')); + * передаем поля, фильтр и сортировку в ElemIblockCacheTable::getElem($select, $filter, $order); + */ +class ElemIblockCacheTable +{ + /** + * @param array $select + * @param array $filter + * @param array $order + * @return array + */ + public static function getElem($select = array(), $filter = array(), $order = array()) + { + + $result = self::getElemSql($select, $filter, $order); + + return $result; + } + + /** + * @param array $select + * @param array $filter + * @param array $order + * @return array + */ + private static function getElemSql($select = array(),$filter = array(), $order = array()){ + + global $USER; + $obCache = \Bitrix\Main\Data\Cache::createInstance(); + $cacheLifetime = intval(36000); + $cacheID = md5(serialize($select.$filter.$order. $USER->GetUserGroupString())); + $cachePath = '/ElemIblockCacheTable'; + + if( $obCache->initCache($cacheLifetime, $cacheID, $cachePath) ){ + + $arElements = $obCache->getVars(); + + //echo 'Из кеша
'; + + }elseif(\Bitrix\Main\Loader::includeModule("iblock") && $obCache->StartDataCache()){ + + global $CACHE_MANAGER; + + $CACHE_MANAGER->StartTagCache($cachePath); + + $res = CIBlockElement::GetList($order, $filter, false, false, $select); + + while($ob = $res->GetNextElement()) + { + $arElements[] = $ob->GetFields(); + $CACHE_MANAGER->RegisterTag("iblock_id_" . $arElements["IBLOCK_ID"]); + + } + $CACHE_MANAGER->RegisterTag("iblock_id_new"); + $CACHE_MANAGER->EndTagCache(); + + $obCache->EndDataCache($arElements); + + //echo 'Без кеша
'; + + } + return $arElements; + } +} \ No newline at end of file From f636f3a140d140f4d5792d8058241f5e353c5420 Mon Sep 17 00:00:00 2001 From: Maksim Pugleev Date: Mon, 28 May 2018 11:37:53 +0300 Subject: [PATCH 2/3] =?UTF-8?q?=D1=81=D0=BE=D0=B7=D0=B4=D0=B0=D0=BD=20?= =?UTF-8?q?=D0=BA=D0=BB=D0=B0=D1=81=D1=81=20=D0=BF=D0=BE=20=D0=B2=D1=8B?= =?UTF-8?q?=D0=B1=D0=BE=D1=80=D0=BA=D0=B5=20=D1=8D=D0=BB=D0=B5=D0=BC=D0=B5?= =?UTF-8?q?=D0=BD=D1=82=D0=BE=D0=B2=20=D0=B8=D0=BD=D1=84=D0=BE=D0=B1=D0=BB?= =?UTF-8?q?=D0=BE=D0=BA=D0=B0=20=D1=81=20=D1=82=D0=B5=D0=B3=D1=80=D0=B8?= =?UTF-8?q?=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=BD=D1=8B=D0=BC=20=D0=BA=D0=B5?= =?UTF-8?q?=D1=88=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=D0=BC=20?= =?UTF-8?q?=D0=BF=D1=80=D0=B0=D0=B2=D0=BA=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ElemIblockCache.php | 1 - 1 file changed, 1 deletion(-) diff --git a/ElemIblockCache.php b/ElemIblockCache.php index 04ada9f..e113b90 100644 --- a/ElemIblockCache.php +++ b/ElemIblockCache.php @@ -61,7 +61,6 @@ private static function getElemSql($select = array(),$filter = array(), $order = $obCache->EndDataCache($arElements); //echo 'Без кеша
'; - } return $arElements; } From cc946b8851752d3205d427c77a44a62d1c98bb58 Mon Sep 17 00:00:00 2001 From: PrideWebDev <30594838+pridewebdev@users.noreply.github.com> Date: Mon, 28 May 2018 12:07:15 +0300 Subject: [PATCH 3/3] =?UTF-8?q?=D1=81=D0=BF=D0=B8=D1=81=D0=BE=D0=BA=20?= =?UTF-8?q?=D0=BD=D0=BE=D0=B2=D0=BE=D1=81=D1=82=D0=B5=D0=B9=20=D0=B2=20?= =?UTF-8?q?=D1=84=D0=BE=D1=80=D0=BC=D0=B0=D1=82=D0=B5=20rss?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- getLastNews.php | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) create mode 100644 getLastNews.php diff --git a/getLastNews.php b/getLastNews.php new file mode 100644 index 0000000..c428579 --- /dev/null +++ b/getLastNews.php @@ -0,0 +1,18 @@ +channel->item as $item) { + + $nom = $i+1; + + echo $nom.').'.$item->title."\n"; + echo 'Ссылка на новость'."\n"; + echo $item->description."\n"; + $i++; + if($i > 4){ + exit(); + } +} \ No newline at end of file