Форум программистов, компьютерный форум, киберфорум
1С Битрикс
Войти
Регистрация
Восстановить пароль
 
blacksails
0 / 0 / 0
Регистрация: 29.05.2016
Сообщений: 13
1

Как обновить кеш компонента, после получения get-запроса?

15.07.2019, 17:35. Просмотров 426. Ответов 2

Здравствуйте, делаю некий парсер новостей инфоблока в мобильное приложение.

В мобильном приложении, я изменяю в ссылке (через гет запрос) значение from, чтобы при пролистывании создавались новые элементы - начиная с from 3 элемента.

а в шаблоне компонента я беру массив всех элементов обрезаю его и вывожу начиная с from 3 элемента.

Но дело в том, что мне приходится каждый раз обновлять шаблон компонента через меню разметки, иначе мой json не обновится и при указании в ссылке from=2, я получу старый from.

Подскажите пожалуйста, что можно сделать? Как можно получать каждый раз обновленный JSON в зависимости от from? Может есть функция обновления кеша или что-то еще?

Вот мой шаблон:

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
<?if(!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();
/** @var array $arParams */
/** @var array $arResult */
/** @global CMain $APPLICATION */
/** @global CUser $USER */
/** @global CDatabase $DB */
/** @var CBitrixComponentTemplate $this */
/** @var string $templateName */
/** @var string $templateFile */
/** @var string $templateFolder */
/** @var string $componentPath */
/** @var CBitrixComponent $component */
$this->setFrameMode(false);
?>
<?$cx=0?>
 
[
<?
 
$from = $_GET["from"];
 
    //$to = $_GET["to"];
 
$Massiv = array_splice($arResult['ITEMS'], $from, 3);
$count=count($Massiv);
$x = 0;
 
 
 
foreach($Massiv as $arItem):
$x++;
echo'{"src": "http://192.168.15.215';
echo $arItem['PREVIEW_PICTURE']['SRC'];
echo '"';
echo ",";
echo '"name":"';
echo $arItem["NAME"];
echo '"';
echo ",";
echo '"date":"';
echo $arItem["DISPLAY_ACTIVE_FROM"];
echo '"';
echo",";
echo '"previewText":"';
echo $arItem["PREVIEW_TEXT"];
echo '"';
echo ",";
echo '"detailUrl":"http://192.168.15.215';
echo $arItem["DETAIL_PAGE_URL"];
echo '"';
echo '}';
     if ($x!=$count) {
echo ","; 
}
endforeach;
 
?>
]

Мой JSON:
JSON
1
[ {"src": "http://192.168.15.215/upload/iblock/15e/15e7879109ca01e28f6dbe436b85e0f6.jpg","name":"9f","date":"11.07.2019","previewText":"9f","detailUrl":"http://192.168.15.215/about_the_university/news/600/"},{"src": "http://192.168.15.215/upload/iblock/d36/d3689e57ea53eed8e560c1843b781834.jpg","name":"8f","date":"11.07.2019","previewText":"","detailUrl":"http://192.168.15.215/about_the_university/news/599/"},{"src": "http://192.168.15.215/upload/iblock/419/4196c116e1c15c70cc6981f86c0fbaef.jpg","name":"7f","date":"11.07.2019","previewText":"7f","detailUrl":"http://192.168.15.215/about_the_university/news/598/"}]

JAVA:
Java
1
2
from= 1;
           JSON_URL = "http://192.168.15.215/vsuwtStudent/index.php?newsMobile=true&from="+from+"&clear_cache=Y";
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2019, 17:35
Ответы с готовыми решениями:

Обновить значение EditText после получения данных от диалогового окна
Здравствуйте. В моем приложении есть несколько EditText'ов. При нажатии на один из них я вызываю...

Редирект после получения POST запроса
Всем привет! Есть проблема. Для добавления новых вакансий искользую K-MVC public ActionResult...

Обновить datagridview из другой формы после запроса
Добрый вечер. Подскажите пожалуйста как можно обновит datagridview из другой формы после запроса....

Обнулить кеш компонента
Доброго времени суток, если я пропишу следующий код: Transform tr; void Start() { tr =...

2
soulilya
2 / 2 / 1
Регистрация: 08.10.2013
Сообщений: 69
15.07.2019, 19:29 2
Если у тебя такие проблемы, значит архитектура у тебя в корне не верная.
Пересмотри архитектуру взаимодействия.
0
voral
1043 / 771 / 165
Регистрация: 16.03.2008
Сообщений: 3,604
Записей в блоге: 1
16.07.2019, 07:57 3
А парсишь с чужого сайта что ли?
если да: ни как. Единственный шанс - привязать к постраничному разбиению, т.е. Ваше from - надо передавать как номер страницы
если нет: зачем парсить, проще вызвать компонент, можно со своим шаблоном. Ну, а в параметры шаблона добавить from - это и будет влиять на идентификатор кеша и проблем с ним не будет.
0
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.07.2019, 07:57

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

После получения php файлом запроса через ajax он его каверкает
было отправлено это SELECT * FROM KINOTEATR WHERE KINOTEATR.ADRESS LIKE '%21%' а пришло в...

Как очистить кеш после обработки формы?
Доброго времени суток Народ подскажите как очистить кеш после обработки формы?

Выполнение запроса на другой машине другим пользователем кеш
Добрый день. Подскажите пожалуйста правильно ли я понимаю что если я выполнил запрос к серверу на...

Как обновить запись использовав результат другого запроса
Всем доброго времени суток, подскажите пожалуйста, вот мне необходимо обновить запись на результат...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.