171 похожих чатов

``` <?Php // VK API // ver. 1.0

$access_token = ($modx->getOption('vk_access_token')?: '-1'); // Токен приложения ВК
$owner_id = ($modx->getOption('vk_group_id')?: '-1'); // Id группы
$post_id = $modx->getOption('post_id', $scriptProperties, '0'); // Пост
$extended = $modx->getOption('extended', $scriptProperties, '1'); // Расширенные поля
$class = $modx->getOption('class', $scriptProperties, '');
$tpl = $modx->getOption('tpl', $scriptProperties, '@INLINE <li><img src="[[+photo.sizes.7.url]]"></li>');
$skip_imgages = $modx->getOption('skip_img', $scriptProperties, ''); // Строка со значениями картинок, которые нужно пропустить

$response = $modx->cacheManager->get('vk_photos_'.$modx->resource->id, [xPDO::OPT_CACHE_KEY => 'vk_photos']);
if(empty($response) || $request['refresh'] == 1) {
$ch = curl_init();
$options = [
CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_RETURNTRANSFER => true,
CURLOPT_URL => 'https://api.vk.com/method/wall.getById?&access_token='.$access_token.'&posts=-'.$owner_id.'_'.$post_id.'&v=5.120'
];
curl_setopt_array($ch, $options);
$result = json_decode(curl_exec($ch), true); // Декодируем полученный json массив
curl_close($ch);

$response = $result['response'][0]['attachments'];
$photos = $modx->cacheManager->set('vk_photos_'.$modx->resource->id, $response, 86400, [xPDO::OPT_CACHE_KEY => 'vk_photos']);
}

$pdo = $modx->getService('pdoTools');

$modx->setPlaceholder($totalVar, count($response));
$response = array_slice($response, $offset, $limit, true);

$skip_imgages = str_replace(' ', '', $skip_imgages); // Вырезать из строки со значениями пропуска картинок пробелы
$skip_imgages_arr = explode(",", $skip_imgages); // Создать массив значений номеров изображений, которые нужно пропустить
//$modx->log(modX::LOG_LEVEL_ERROR, "skip_imgages_arr: " . print_r($skip_imgages_arr, 1), 'FILE');

if ($response) {
$idx = 0; // Счётчик - индекс в массиве вывода
foreach ($response as $res) {
if (!in_array($idx + 1, $skip_imgages_arr)) {
$res['class'] = $class;
$res['idx'] = $idx;
$output .= $pdo->getChunk($tpl, $res);
}
$idx++;
}
}
return $output;

1 ответов

9 просмотров

Ну закардкодил под pdoPage и правда)) $modx->setPlaceholder($totalVar, count($response)); Сейчас в пустой плейсхолдер пишешь, не знаю выходит ли это боком, ну я бы поправил от греха.. $response = $modx->cacheManager->get('vk_photos_'.$modx->resource->id Кэшируешь относительно id текущего ресурса, а не переданных в сниппет данных. Казалось бы это на вкус и цвет, но есть вариант что в этом и дело, не зависимо от того, что передашь в сниппет, ключ кэша будет одинаковый!

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
31
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Где можно найти примеры эффективного "асинхронного" tcp сервера на C? Я видел select, kqueue, poll, epoll и т.д. Ввод-вывод неблокирующий, но обработка клиентов блокирующая
#
10
Книга Юрова В.И пойдёт для обучения?
Botsman
24
Всем доброго дня, ребят подскажите пожалуйста, если в курсе по ассемблеру используется MASM32, могу ли я использовать FASM? В чем явная разница и будет ли у меня все работать?
Botsman
17
Hi Everyone! To all Are you Looking for Interview Support at the Lowest Price? Look no further! Then contact us 👉We offer Interview Support :-for a low cost variety of tech...
Rambabu Nallamilli
3
Hello experts, Could someone kindly tell me how to run vacuum inside a plpgsql function? If you have any link please share. Thank you
Amol Palav
10
И ещё вопрос: можно ли типа как на дос как-то запариться и с помощью прерываний выводить текст, вместо функции printf ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
34
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
7
Карта сайта