Всего 125 667 комментариев

Alexey
11 февраля 2021, 18:20
0
А так?

[[!dateLocale? &val=`[[+publishedon]]`]]
Николай Савин
11 февраля 2021, 18:18
0
Кто-нибудь может дать алгоритм как эту ошибку поймать у себя? Пофиксим, главное понять как ее увидеть
Алексей
11 февраля 2021, 17:53
0
почему-то не даёт скачать, ссылки битые, а так всё красиво на видео!
Приятной работы!
Скачать
Bitbucket
Сергей
11 февраля 2021, 17:36
0
Аналогичная проблема после обновления ModX на 2.8.1 и последние версии pdoTools 2.12.10-pl и minishop2 2.8.0-pl
Артур Шевченко
11 февраля 2021, 16:41
-1
Код вызова и полный код шаблона в студию. Можно ещё showLog приложить.
Aleksanders
11 февраля 2021, 15:51
0
Ребята, 3й день бьюсь и не могу разобраться, почему у меня в rss дата стоит на всех новостях:
<pubDate>Thu, 01 Jan 1970 03:33:40 +0300</pubDate>
Создал сниппет:
<?php
setlocale(LC_ALL, 'en_US');
return strftime($options,$input);
В tpl прописал:
[[+publishedon:dateLocale=`%a, %d %b %Y %H:%M:%S %z`]]
Пробовал сниппет такой:
<?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);
Всё равно на всех новостях дата 1970 год. Подскажите, как исправить?
Виноградов Тимур
11 февраля 2021, 15:24
0
Да, мне тогда помог форумчанин, а сейчас надо доработать немного.
Nik
Nik
11 февраля 2021, 15:05
0
Тоже показалось что когда-то я уже видел это
Виноградов Тимур
11 февраля 2021, 13:57
0
Может быть будет проще если отправлю скрины в мессенджере?
Там на самом деле чехарда есть с выводом этих авторов, не знаю что именно показывать лучше.
Александр Мельник
11 февраля 2021, 13:53
0
Тогда у вас неверно заполняются значения ТВ поля.
Если вы говорите что 89 это родитель статей, то почему вы его используете в EVAL привязке?
У вас вместо имен авторов, в ТВ поле значит попадают имена статей. (если быть совсем корректным то идентификаторы. )
Alexey
11 февраля 2021, 13:49
0
Прямо глаз режет тире в названии tv-поля. Могу ошибаться, но где-то видел пост, как раз связанный с такого плана именованием и проблемой в выполнении запроса.

Не зря же тире не входит в список разрешенных символов для именования переменных в php. Попробуйте сменить тире на нижнее подчеркивание.

И, да — LIKE в данном случае неуместен, полностью согласен с Артуром и Александром.
Александр Мельник
11 февраля 2021, 13:49
0
дело не только в равно.
во первых символ равно не нужно ставить, условие в json формате будет такое {«text»:«hello»}
Но у вас и без "=" мешанина в коде жуткая.
У вас 89 это родитель ресурсов, в которых хранятся имена авторов.
Но этот же родитель 89 у вас участвует в выборке, которая должна выводить новости.
Что-то странное у вас твориться и я по прежнему считаю, что пока вы детально со скринами не расскажите, что вы там напридумывали, никто вам не сможет помочь.
Виноградов Тимур
11 февраля 2021, 13:47
0
Моя почта:
mechmedia@yandex.ru
Телеграм:
@Timurkin

Если кто-то готов помочь за вознаграждение.
Виноградов Тимур
11 февраля 2021, 13:44
0
В шаблоне статьи автор выводится вот так:
<div class="row">
            [[#[[*autor-res]].autor-image:!empty=`
            	<div class="col-md-2 col-sm-2 col-xs-4">
            		<div class="autor-article">
            		<a href="[[~[[*autor-res]]]]"><img src="[[#[[*autor-res]].autor-image]]" class="img-circle"></a>
            		</div>
            	</div>
            `]]
            <div class="col-md-5 col-sm-5 col-xs-8">
            	<span itemprop="author" itemscope itemtype="http://schema.org/Person" class="author-title publishedby">
            		<a href="[[~[[*autor-res]]]]"><span itemprop="name">[[#[[*autor-res]].pagetitle]]</span></a>
            	</span>
            	[[#[[*autor-res]].autor-subject:!empty=`
            		<p>[[#[[*autor-res]].autor-subject]]</p>
            	`]]
            </div>
            <div class="col-md-5 col-sm-5 col-xs-12">
                <div class="info-article">
                   <div class="category">
                       <span itemprop="datePublished" class="publishedon">[[*publishedon:strtotime:date=`%d-%m-%Y`]]</span>
                    [[getCategoryLink]]
                  </div>
                </div>
            </div>    
            </div>
Виноградов Тимур
11 февраля 2021, 13:43
0
Пробовал ставить "=" по документации с where, не работает
Виноградов Тимур
11 февраля 2021, 13:42
0
Да, дело в том что автор как отдельное TV-поле используется, не как родная сущность users
Виноградов Тимур
11 февраля 2021, 13:41
0
&parents=`4,89`
4 — это родитель ресурсов автора — страницы автора
89 — это родитель(ресурс блог) — страницы блога, т.е. да, список статей
Nik
Nik
11 февраля 2021, 10:54
0
«Вывести статьи автора на странице автора» может быть так:
[[!pdoResources?                    
&parents=`8`                       
&depth=`10`                       
&limit=`6`                       
&includeTVs=`authors`                      
&tpl=`@INLINE  
<h2><a href="[[~[[+id]]]]">[[+pagetitle]]</a></h2>
<ul>
<li>Автор(ы): [[+tv.authors]]</li>  
</ul>`                      
&where=`{"createdby":[[!+modx.user.id]]}`                  
]]
Выводит список статей автора Сергей Н. на его странице, только значения свои подставьте. Или что-то другое имелось ввиду?
Наумов Алексей
11 февраля 2021, 10:54
0
ну вот, отлично!
Это правильно хранить свой кеш в отдельной папочке и управлять им как нужно!
Аркадий
11 февраля 2021, 10:47
0
Наумов Алексей, спасибо больше, у меня отдельного класса нет, но ответ помог реализовать то, что хотелось, сделал так:
$cacheName = "asn1cache-" . basename($file) . "-" . filesize($file) . "-" . date('d.m.Y-H.i.s', filemtime($file));
$cachePartition = "asn1";
$output = $modx->cacheManager->get($cacheName,array(xPDO::OPT_CACHE_KEY=>$cachePartition));
if (empty($output))
{
....

    // Устанавливаем бессрочный кэш
    $modx->cacheManager->set($cacheName, $output, 0,array(xPDO::OPT_CACHE_KEY=>$cachePartition));
}
return $output;
И соответственно плагин, чтобы кэш очищался:
<?php
switch ($modx->event->name) {
    case 'OnSiteRefresh':
        if ($modx->cacheManager->refresh(array('asn1' => array()))) {
            $modx->log(modX::LOG_LEVEL_INFO, $modx->lexicon('refresh_default') . ': ASN1');
        }
        break;
}
Кэш теперь сохраняется в папке /core/asn1 и очищается только при очистке всего кэша