Володя

Володя

С нами с 18 декабря 2012; Место в рейтинге пользователей: #4
Володя
13 июля 2018, 15:13
+1
Спасибо! Поправил в новой версии.
Володя
11 июля 2018, 12:31
+2
попробовал авторизацию через гитхаб, гугл, вк, яндекс — работает.
Володя
11 июля 2018, 11:29
0
2 — добавил пример с выводом информации о событиях userevents.vgrish.ru/events/zapis-5.html
Володя
11 июля 2018, 11:28
1
0
Добрый день.
1- можно переопределить getReservedEventsCriteria, в нем прописать свою логику
пример
<?php
/** @var modX $modx */
/** @var array $scriptProperties */
/** @var UserEvents $UserEvents */
switch ($modx->event->name) {
    case 'OnMODXInit':
        $corePath = $modx->getOption("userevents_core_path", null,
            $modx->getOption("core_path", null, MODX_CORE_PATH) . "components/userevents/");
        $UserEvents = $modx->getService("userevents", "UserEvents", $corePath . "model/userevents/",
            array("core_path" => $corePath));
        if (!$UserEvents) {
            return "Could not load userevents class!";
        }
        $UserEvents->addExtension('event', 'getReservedEventsCriteria', function ($data = array()) use (&$modx, &$UserEvents) {
            $filter = isset($data["filter"]) ? $data["filter"] : array();
            $reserve = isset($data["reserve"]) ? $data["reserve"] : true;
            $id = isset($data["id"]) ? (int)$data["id"] : null;
            $resource = isset($data["resource"]) ? (int)$data["resource"] : null;
            $start = isset($data["start"]) ? $data["start"] : null;
            $end = isset($data["end"]) ? $data["end"] : null;
            if (!is_null($id)) {
                $filter["Event.id:!="] = $id;
            }
            if (!is_null($resource)) {
                $filter["Event.resource"] = $resource;
            }
            if (!is_null($reserve)) {
                $filter["Status.reserve"] = $reserve;
            }
            $c = $modx->newQuery("UserEvent");
            $c->setClassAlias("Event");
            $c->leftJoin("UserEventStatus", "Status");
            $c->where($filter);
            $c->andCondition("(IF(startdate > '$start', startdate, '$start')) < (IF(enddate < '$end', enddate, '$end')) ",
                null);
            $c->sortby("IF(startdate > '$start', startdate, '$start')", "ASC");
            
            // добавить логику
            return $c;
        });
        break;
}
Володя
11 июля 2018, 11:23
+1
Отличное обновление, спасибо!
Володя
07 июля 2018, 09:23
+1
так нужно прежде проверить получен ли объект
if ($paro = $modx->getObject('modResource', $par)) {
	$parpar = $paro->get('parent');
}
Володя
05 июля 2018, 09:25
0
в вашем случае лучше/ проще добавить этот html в шаблон.
Не нужно ломать голову над плагином, не будет возможных проблем с кэшированием контента…
Если пользуете феном, всю логику можно поместить в чанк, если нет написать простой сниппет обертку.
Володя
03 июля 2018, 11:36
0
Ищу проблему!
возможно у вас не включен pdoParser для обработки страниц, либо обработка чанка с ссылкой занимается сниппет который не дружит с pdo.
Если ошибок нет — то и проблем не должно быть. Просто проанализируйте что где вызывается…
Володя
03 июля 2018, 10:59
+1
<a href="javascript:;" data-fancybox data-type="iframe" data-src="[[~49]]&pagetitle={$pagetitle}" rel="nofollow" class="call-me">Окно</a>
да, так.

Так не отрабатывает
{$.request.pagetitle}
пример был написан для синтаксиса феном, если вы его не пользуете, попробуйте как
[[!#REQUEST.pagetitle]]
и ссылку соответственно тож поменять как
[[~49]]&pagetitle=[[*pagetitle]]
Володя
03 июля 2018, 10:40
+1
с помощью get параметра в ссылке на iframe. Например
http://site.ru&pagetitle={$pagetitle}

В чанке AjaxForm считываете как
{$.request.pagetitle}
Володя
02 июля 2018, 12:03
2
+4
$c = $modx->newQuery("modUser");
$alias = $modx->getTableName("modUser");
$c->setClassAlias($alias);
$c->where(array(
    "{$alias}.active" => 0,
    "{$alias}.createdon:<"  => strtotime('-365 day')
    
));
$c->query['command']= "DELETE {$alias}";
$c->prepare();
$c->stmt->execute();
Володя
01 июля 2018, 12:52
0
Все на месте

Далее если нажмете экспорт появится окно с выбором типа файла экспорта.
Володя
01 июля 2018, 12:04
0
Добрый день.
Мне нужно под каждым товаром показать у скольких людей он в избранном.

добавить разметку вида
<span class="msfavorites-total-user" data-data-list="default" data-data-id="44"></span>
пример msfavorites.vgrish.ru/several-lists.html
Володя
01 июля 2018, 12:01
0
Добрый день.
Извините за глупый вопрос, но как именно делается экспорт в файл?
зайти в раздел заказы, выбрать/ отфильтровать нужные и нажать экспорт.
Володя
29 июня 2018, 11:44
1
0
$c->InnerJoin('msOrderAddress', 'msOrderAddress','msOrder.address = msOrderAddress.id');
Володя
28 июня 2018, 11:58
0
можно например так gist.github.com/vgrish/3a01ea308a6f7c440d08272e56195167
$c = $modx->newQuery('modUser');
$c->InnerJoin('modUserProfile', 'Profile');
$c->InnerJoin('msOrder', 'msOrder', 'modUser.id = msOrder.user_id');
$c->where(array(
    'modUser.active' => 1,
));
$c->groupby('modUser.id');
$c->select($modx->getSelectColumns('modUser', 'modUser', '', array('id')));
$c->select($modx->getSelectColumns('modUserProfile', 'Profile', '', array('fullname')));
 
$fp = fopen(MODX_BASE_PATH.'users.csv', 'w');
fputcsv($fp, array('id', 'name'));
if ($c->prepare() && $c->stmt->execute()) {
   while($row = $c->stmt->fetch(PDO::FETCH_ASSOC)) {
       fputcsv($fp, $row);
   }
}
fclose($fp);
Володя
27 июня 2018, 14:56
0
Добрый день. На данный момент такого функционала нет.