Саша Пекшев · 16 января 2015, 15:49 Это надо найти и заменить в снипите JSONDerulo //----------------------------------------------------------- // YouTube API V2 uploads //----------------------------------------------------------- } elseif( $feed == 'youtubev2uploads' ) { $feedUrl = 'http://gdata.youtube.com/feeds/api/users/{username}/uploads?max-results={limit}&start-index={offset}&alt=json'; $JSON = file_get_contents("https://gdata.youtube.com/feeds/api/users/".$users."/uploads?v=2&alt=jsonc&max-results=0"); $JSON_Data = json_decode($JSON); $total = $JSON_Data->{'data'}->{'totalItems'}; $totalVar = $modx->getOption('totalVar', $scriptProperties, 'total'); $modx->setPlaceholder($totalVar,$total); if (empty($offset)) {$offset = '1';} else{$offset++;} $startIndex = $offset; //$modx->getOption('startIndex', $scriptProperties, 1); $videoParams = $modx->getOption('videoParams', $scriptProperties, '?fs=1'); $excludeEmpty = explode(',', $modx->getOption('excludeEmpty', $scriptProperties, 'link')); $feeds = explode(',', $modx->getOption('users', $scriptProperties, '')); foreach ($feeds as $username) { $cacheId = 'jsonderulo-youtubeuploadsfeed-'.$cacheName.'-'.$username; if (($json = $modx->cacheManager->get($cacheId)) === null) { if ($ch === null) { $ch = curl_init(); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); } curl_setopt_array($ch, array( CURLOPT_URL => str_replace(array('{username}', '{limit}', '{offset}'), array($username, $limit, $startIndex), $feedUrl), )); $json = curl_exec($ch); if (empty($json)) { continue; } //$modx->cacheManager->set($cacheId, $json, $cacheTime); } $feed = json_decode($json); if ($feed === null) { continue; } $feeditems = $feed->feed; foreach ($feeditems->entry as $video) { foreach ($excludeEmpty as $k) { if ($video->$k == '') { continue 2; } } $videoId = substr($video->id->{'$t'},42); $videoContent = $video->content->{'$t'}; $videoContent = str_replace("\n"," ",$videoContent); $rawFeedData[] = array( 'published' => strtotime($video->published->{'$t'}), 'picture' => $video->{'media$group'}->{'media$thumbnail'}[0]->url, 'title' => $video->title->{'$t'}, 'ytlink' => $video->link[0]->href, 'embedlink' => 'https://www.youtube.com/embed/' .$videoId. $videoParams, 'videoId' => $videoId, 'content' => $videoContent, 'author' => $video->author[0]->name->{'$t'}, ); } } foreach ($rawFeedData as $image) { $output .= $modx->getChunk($tpl, $image); } И вызов сниппета [[!pdoPage? &elementClass=`modSnippet` &element=`JSONDerulo` &limit=`5` &feed=`youtubev2uploads` &tpl=`jd.youTube` &users=`YOUTUBE-CHANNEL` &cacheTime=`10` &cacheName=`youtube.cache` &pageLimit=`13` ]] <div class="paging"> <ul class="pagination"> [[!+page.nav]] </ul> </div>и я кстати с youtube еще описание видео забираю в оригинале этого тоже нету Вопросы / Подружить JSONDerulo с pdoPage 6 +1 2
Aliaksandr Katlou · 16 января 2015, 14:58 purecss.io Для разработчиков / Twitter Bootstrap vs Uikit 70 0 1
Андрей · 13 января 2015, 18:34 из моих Яндекс Новостей (в чанке rss): <pubDate>[[!ShowDate_en? &val=`[[+publishedon]]`]] +0600</pubDate>сниппет ShowDate_en: <?php setlocale(LC_ALL, 'en_US.UTF-8'); if ( $val == '' ) $val=time(); if ($format == '' ) $format = "%a, %d %b %Y %H:%M:%S"; return strftime($format, $val); Вопросы / Дата на латинице для RSS-ленты 10 +1 3
Василий Наумкин · 09 января 2015, 10:40 Какие именно директории занимают место можно посмотреть командой du --si --max-depth=1 ~/www На данный момент, как я вижу, 6 Гб занимает кэш ресурсов, который хранится в 13 601 файле. du --si --max-depth=1 ~/www/core/cache На вашем новом тарифе доступно 16 гигабайт SSD, так что должно хватить еще на долго. Вопросы / Постоянно растет занятое место на диске. 10 +2 1
Василий Наумкин · 30 декабря 2014, 16:06 Если у товаров несколько цветов, то получится ерунда. А вообще, все JSON поля копируются в msProductOption. Так что нужно просто присоединить этот класс и сортировать по нему: [[!msProducts? &parents=`0` &leftJoin=`{ "msProductOption":{ "class":"msProductOption", "on":"msProductOption.key = 'color' AND msProductOption.product_id = msProduct.id" } }` &select=`{ "msProduct":"*", "msProductOption":"value as color" }` &sortby=`msProductOption.value` &sortdir=`ASC` &tpl=`@INLINE <p>[[+pagetitle]] [[+color]]</p>` &showLog=`1` ]]Источник вдохновения — bezumkin.ru/training/course2/3006/ Вопросы / minishop2 сортировка по полю color 11 +1 1
Сергей Скат · 24 декабря 2014, 16:26 Кому интересно и кто айдет вопрос, mFilter2 уже отдает все результаты в json которые можно вертеть как угодно, вот мой код для реализации ленты <script> var xhr_is_sent = false; //флаг отправки $(window).scroll(function() { if ($(window).scrollTop() == $(document).height() - $(window).height()) { var url = '/assets/components/msearch2/action.php'; if (!xhr_is_sent) { //отправляем запрос только если завершился предыдущий xhr_is_sent = true; $.post(url, { action: 'filter', pageId: '1', 'tv|area': '50,310393', 'tv|price': '1500,49300', page: '8', key: window.mse2Config.key // в это переменной содержится ключ , я так и не понял зачем он нужен но для каждого генерируется свой собственный },function(data){ $('#mse2_results').append($.parseJSON(data).data.results); xhr_is_sent = false; }); } } }); </script>всем удачи, и всем спасибо кто помог в решении вопроса Вопросы / Как сделать ajax ленту совместно с mFilter2 ? 15 0 2
Виктор Долгий · 10 декабря 2014, 18:35 Вот, собственно: <?php $pdo = $modx->getService('pdoFetch'); $id = $modx->getOption('id', $scriptProperties, $modx->resource->id); $rank = $modx->getOption('rank', $scriptProperties, 0); $size = $modx->getOption('size', $scriptProperties, '360x270'); $res = $pdo->getObject('msResourceFile', array('resource_id' => $id, 'rank' => $rank, 'path:LIKE' => '%/'.$size.'/'), array('loadModels' => 'ms2gallery','select' => 'url') ); return $res ? $res['url'] : '';Параметр &size=`360x270` (например). Новые дополнения и их версии / [ms2Gallery] Версия 1.3.0 - сниппет ms2GalleryResources 48 +1 1
Василий Наумкин · 08 декабря 2014, 11:32 Не знаю. Специально проверил и вот такие на выходе плейсхолдеры: Источник файлов вот такой: [{"w":120,"q":90,"zc":"0","bg":"000000"},{"h":270,"q":90,"zc":"0","bg":"000000"}] Новые дополнения и их версии / [ms2Gallery] Версия 1.3.2 - картинки на странице 36 +1 1
Василий Наумкин · 24 ноября 2014, 15:48 А какое именно из всех изображений ресурса, первое? Вот тебе простейший сниппет: <?php $pdo = $modx->getService('pdoFetch'); $id = $modx->getOption('id', $scriptProperties, $modx->resource->id); $rank = $modx->getOption('rank', $scriptProperties, 0); $res = $pdo->getObject('msResourceFile', array('resource_id' => $id, 'rank' => $rank), array('loadModels' => 'ms2gallery','select' => 'url') ); return $res ? $res['url'] : ''; Вызывать как-то так: [[ms2GalleryImage?id=`[[*id]]`]] Новые дополнения и их версии / [ms2Gallery] Версия 1.3.0 - сниппет ms2GalleryResources 48 +1 2
Василий Наумкин · 08 ноября 2014, 05:25 Именно поэтому всегда нужно делать так: $doc = ''; if ($parent = $modx->getObject('modResource', $input)) { $doc = $parent->get($options); } return $doc; Вопросы / REVO - ошибка 500 после смены шаблона у ресурса 11 +1 2
[videoGallery] Видео галерея YouTube, Vimeo Невозможно установить пакет с подписью: videogallery-1.4.0-beta Ошибка установки Error в /core/packages/videogallery-1.4.0-beta/modCategory/7fc931a7772edc9752c16e9c41eb5e52.reso...
mxBoard: канбан-доска для команд, людей и ИИ-агентов в MODX 3 Привет, добавил пользователя в группу mxBoard(4), создал токен. Добавляю все в postman пишет: rest: { «success»: false, «message»: «Недействительный токен.», «data...
Релиз miniShop2 ver. 4.4.1 & 4.4.2 Подскажите пожалуйста, может я что-то не знаю или упустил. Но есть ли решение по глюку с radio? Указываешь свое radio c одинаковым name и в результате при переключении получаешь вс...
Плагин EnvBadge: визуальный индикатор окружения в админке MODX3 Расскажите пожалуйста как вы настраиваете сайт на MODX 3 чтобы был dev, prod, stage. Можете описать workflow? Допустим у меня 80% — это магазины, там клиенты, продажи, все онлай...
MaxNotify Обновление компонента 1.3.0-pl (22.07.2026) — добавлено автоматическое получение полей через msOrder->toArray(); — массивы и объекты безопасно пропускаются; — стандартные...
MyFavorites MyFavorites — 3.0.0-beta Первая версия для MODX Revolution 3.x — компонент полностью переписан с нуля (PHP >= 8.4, namespaced-ядро MODX 3, PSR-4, сервис-ориентированная архит...
И вызов сниппета
и я кстати с youtube еще описание видео забираю в оригинале этого тоже нету
сниппет ShowDate_en:
На данный момент, как я вижу, 6 Гб занимает кэш ресурсов, который хранится в 13 601 файле.
На вашем новом тарифе доступно 16 гигабайт SSD, так что должно хватить еще на долго.
Так что нужно просто присоединить этот класс и сортировать по нему:
Источник вдохновения — bezumkin.ru/training/course2/3006/
всем удачи, и всем спасибо кто помог в решении вопроса
Параметр &size=`360x270` (например).
Источник файлов вот такой:
Вызывать как-то так: