Дмитрий

Дмитрий

С нами с 16 января 2018; Место в рейтинге пользователей: #937
Дмитрий
28 февраля 2018, 16:39
0
Ну я спецом даже пароль новый ставил и в модх указывал его. А зачем smtp запрещать?
Вот после установил обратно на почту tmweb и всё работает. Но блин в спам попадает.
Дмитрий
26 февраля 2018, 21:12
0
Что-то оказалось не верно. Был текущий месяц, а дата прошла, но не отображалось завершено. Я месяцы поставил ранее дней и вроде теперь правильно.
{if $_pls['tv.event_data'] != NULL}
Дата: {($date|date_format:"%Y %m %d") <= ($_pls['tv.event_data']|strtotime|date_format:"%Y %m %d")? ($_pls['tv.event_data']|date_format:"%d/%m/%Y"): 'завершено'}
{/if}
Дмитрий
26 февраля 2018, 17:23
1
0
Спасибо за подсказку.
{$_pls['tv.event_data']|strtotime|date_format:"%d %m %Y" <= ($date|date:"d/m/Y") ? ($_pls['tv.event_data']|date_format:"%d/%m/%Y") : 'Завершено'}
Дмитрий
24 февраля 2018, 19:41
0
Картинка, если что внешняя ссылка.
Дмитрий
22 февраля 2018, 22:32
0
Ссылки нет prntscr.com/iifrhy
Дмитрий
22 февраля 2018, 22:13
0
Есть решение?
Дмитрий
22 февраля 2018, 22:10
0
Подскажите как сделать это адекватно.
Ну посмотрел ссылку. Для Первая. Может условие как-то сделать, если сайт.ru/, то не отображать…
сайт.ru/
Дмитрий
22 февраля 2018, 12:17
0
Вот например на другой странице
<!--<img class="materialboxed" data-caption="[[+text]]" data-external="[[+photo_1280]]" src="[[pthumb? &input=`[[+photo_604]]` &options=`w=500&h=300&zc=1`]]">-->
            <img class="materialboxed" data-caption="[[+text]]" data-external="[[+photo_1280]]" src="[[phpthumbon? &input=`[[+photo_604]]` &options=`w=500&h=300&zc=1`]]">
Выводит заглушку. Я проверяю [[+photo_604]] — там рабочая ссылка.
Дмитрий
22 февраля 2018, 12:12
0
На одной странице заработало. На другой не хочет. Это из-за того, что конфликт между pthumb и phpthumbon?
Дмитрий
21 февраля 2018, 18:12
0
Подсказали решение.
$response = $result['response']['items'];

Вообщем. Работающий код с новой версией api теперь такой. Пагинация и кеширование(за это спасибо Алексею Ерохину).
<?php
// VK API
    //ini_set('error_reporting', E_ALL);
    //ini_set('display_errors', 1);
    //ini_set('display_startup_errors', 1);
    $owner_id = $modx->getOption('owner_id', $scriptProperties, '0'); // Группа
    $album_id = $modx->getOption('album_id', $scriptProperties, '0'); // Альбом
    $rev = $modx->getOption('rev', $scriptProperties, '1'); // 1 - новые сверху
    $extended = $modx->getOption('extended', $scriptProperties, '0'); // Расширенные поля
    $feed_type = $modx->getOption('feed_type', $scriptProperties, 'photo'); // photo, photo_tag
    $count = $modx->getOption('count', $scriptProperties, ''); // Количество загружаемых фото
    $class = $modx->getOption('class', $scriptProperties, '');
    $tpl = $modx->getOption('tpl', $scriptProperties, '@INLINE <li><img src="[[+src_bigxx]]"></li>');
    
    $response = $modx->cacheManager->get('vk_photos_'.$modx->resource->id, [xPDO::OPT_CACHE_KEY => 'vk_photos']);
    if(empty($response) || $request['refresh'] == 1) {
        // Получаем фото с ВК
        $query = file_get_contents('https://api.vk.com/method/photos.get?owner_id=-'.$owner_id.'&album_id='.$album_id.'&rev='.$rev.'&extended='.$extended.'&feed_type='.$feed_type.'&count='.$count.'&v=5.73');
        $result = json_decode($query, true); // Декодируем полученный json массив
        
        $response = $result['response']['items'];
        $photos= $modx->cacheManager->set('vk_photos_'.$modx->resource->id, $response, 3600, [xPDO::OPT_CACHE_KEY => 'vk_photos']);
    }
    
    $pdo = $modx->getService('pdoTools');
    
    $modx->setPlaceholder($totalVar, count($response));
    $response = array_slice($response, $offset, $limit, true);
    
    foreach ($response as $res) {    
        $res['class'] = $class;
        $output .= $pdo->getChunk($tpl, $res);
    }
    return $output;
Вывод описан тут vk.com/dev/photo
Дмитрий
21 февраля 2018, 17:54
0
Fatal error: Uncaught TypeError: Argument 2 passed to pdoTools::getChunk() must be of the type array, integer given, called in /home/o/oooakg/kulibin.club/public_html/core/cache/includes/elements/modsnippet/102.include.cache.php on line 27 and defined in /home/o/oooakg/kulibin.club/public_html/core/components/pdotools/model/pdotools/pdotools.class.php:403 Stack trace: #0 /home/o/oooakg/kulibin.club/public_html/core/cache/includes/elements/modsnippet/102.include.cache.php(27): pdoTools->getChunk('@INLINE <im...', 24) #1 /home/o/oooakg/kulibin.club/public_html/core/model/modx/modscript.class.php(70): include('/home/o/oooakg/...') #2 /home/o/oooakg/kulibin.club/public_html/core/model/modx/modparser.class.php(534): modScript->process(NULL) #3 /home/o/oooakg/kulibin.club/public_html/core/components/pdotools/model/pdotools/pdoparser.class.php(273): modParser->processTag(Array, true) #4 /home/o/oooakg/kulibin.club/public_html/core/model/modx/modparser.class.php(250): pdoParser->processTag(Array, true) #5 /home/o/oooakg/kulib in /home/o/oooakg/kulibin.club/public_html/core/components/pdotools/model/pdotools/pdotools.class.php on line 403
Дмитрий
21 февраля 2018, 17:40
0
Окажите пожалуйста консультацию modx.pro/help/14706/
Дмитрий
14 февраля 2018, 11:55
0
Работает, спасибо!
Дмитрий
14 февраля 2018, 11:47
0
А ну да, я же вызываю альбомы все и там прошу картинки.
Ну я поменял, но всё-равно одна превьюшка на всё.
<?php
//VK API
    $owner_id = $modx->getOption('owner_id', $scriptProperties, '0'); // Группа
    $album_id = $modx->getOption('album_id', $scriptProperties, '0'); // Альбом

    $response = $modx->cacheManager->get('vk_photos_preview_'.$modx->resource->$album_id, [xPDO::OPT_CACHE_KEY => 'vk_photos_preview']);
    if(empty($response) || $request['refresh'] == 1) {
        // Получаем превью альбома с ВК
        $query = file_get_contents('https://api.vk.com/method/photos.getAlbums?owner_id=-'.$owner_id.'&album_ids='.$album_id.'&need_covers=1&photo_sizes=1');
        $result = json_decode($query, true); // Декодируем полученный json массив
    
        $response = $result['response'];
        $alb_preview= $modx->cacheManager->set('vk_photos_preview_'.$modx->resource->$album_id, $response, 3600, [xPDO::OPT_CACHE_KEY => 'vk_photos_preview']);
    }
    
    foreach($response[0]['sizes'] as $pic){
        if($pic['width'] == 604)
            $preview = $pic['src'];
    }
    return $preview;
Дмитрий
14 февраля 2018, 11:28
0
У меня получается так, что превьюшка для всех альбомов одинаковая… А исправить не понимаю как…
Дмитрий
13 февраля 2018, 16:40
0
Да не заметил…
<?php
//VK API
    $owner_id = $modx->getOption('owner_id', $scriptProperties, '0'); // Группа
    $album_id = $modx->getOption('album_id', $scriptProperties, '0'); // Альбом
    $class = $modx->getOption('class', $scriptProperties, '');

    $response = $modx->cacheManager->get('vk_album_prev_'.$modx->resource->id, [xPDO::OPT_CACHE_KEY => 'vk_album_prev']);
    if(empty($response)) {
        /* Получаем превью альбома с ВК */
        $query = file_get_contents('https://api.vk.com/method/photos.getAlbums?owner_id=-'.$owner_id.'&album_ids='.$album_id.'&need_covers=1&photo_sizes=1');
        $result = json_decode($query, true); // Декодируем полученный json массив
    
        $response = $result['response'];
        $alb_preview= $modx->cacheManager->set('vk_album_prev_'.$modx->resource->id, $response, 3600, [xPDO::OPT_CACHE_KEY => 'vk_album_prev']);
    }
    
    $pdo = $modx->getService('pdoTools');
    
    $modx->setPlaceholder($totalVar, count($response));
    $response = array_slice($response, $offset, $limit, true);
    
    foreach($response[0]['sizes'] as $pic){
        if($pic['width'] == 604)
            $preview = $pic['src'];
    }
    return $preview;
Что-то я не верно сделал. Терь у разных альбомов одна превью.

Кстати, можно вместо '' писать null? $output = null;
$output = '';
Дмитрий
13 февраля 2018, 15:56
0
Я ещё делал сниппет для получения обложки альбома.
$owner_id = $modx->getOption('owner_id', $scriptProperties, '0'); // Группа
    $album_id = $modx->getOption('album_id', $scriptProperties, '0'); // Альбом
    $class = $modx->getOption('class', $scriptProperties, '');

    $query = file_get_contents('https://api.vk.com/method/photos.getAlbums?owner_id=-'.$owner_id.'&album_ids='.$album_id.'&need_covers=1&photo_sizes=1');
    $result = json_decode($query, true);
    
    $response = $result['response'];
    $pdo = $modx->getService('pdoTools');
    
    foreach($response[0]['sizes'] as $pic){
        if($pic['width'] == 604)
            $preview = $pic['src'];
    }
    return $preview;
Проверьте, правильно ли я делаю кеширование, спасибо:
$owner_id = $modx->getOption('owner_id', $scriptProperties, '0'); // Группа
    $album_id = $modx->getOption('album_id', $scriptProperties, '0'); // Альбом
    $class = $modx->getOption('class', $scriptProperties, '');

    $response = $modx->cacheManager->get('vk_album_prev_'.$modx->resource->id, [xPDO::OPT_CACHE_KEY => 'vk_album_prev']);
    if(empty($response)) {
        /* Получаем превью альбома с ВК */
        $query = file_get_contents('https://api.vk.com/method/photos.getAlbums?owner_id=-'.$owner_id.'&album_ids='.$album_id.'&need_covers=1&photo_sizes=1');
        $result = json_decode($query, true); // Декодируем полученный json массив
    
        $response = $result['response'];
        $alb_preview= $modx->cacheManager->set('vk_photos_'.$modx->resource->id, $response, 3600, [xPDO::OPT_CACHE_KEY => 'vk_album_prev']);
    }
    
    $pdo = $modx->getService('pdoTools');
    
    $modx->setPlaceholder($totalVar, count($response));
    $response = array_slice($response, $offset, $limit, true);
    
    foreach($response[0]['sizes'] as $pic){
        if($pic['width'] == 604)
            $preview = $pic['src'];
    }
    return $preview;
Дмитрий
07 февраля 2018, 12:32
0
Работает, только не понимаю как подключить чанк и передать туда параметр.
Только понял как переменную передать… {include 'GroupPicItemTpl' picurl=$_pls['pic-url-' ~ $n]}
Дмитрий
07 февраля 2018, 11:10
0
А на феноме подскажите как :)…
Дмитрий
06 февраля 2018, 15:22
0
Мне в феном лезть не хочется, а это в шаблоне всё рабочее.