Вопросы

На что повесить плагин уведомления админа о том, что юзер обновил профиль?

Добрый день.
Использую Office, после активации юзер должен заполнить обязательные поля. С этим все понятно. Нужно чтобы при обновлении профиля зарегистрированным пользователем, уже после описанных выше процедур, админу приходило уведомление что профиль обновился.
Ничего лучше чем повесить его на событие OnUserFormSave пока не придумал, но теперь мне валятся уведомления и когда юзер только зарегистрировался и когда заполнил обязательные поля и когда админ внес какие-то правки в его профиль. Подскажите, пожалуйста, как отфильтровать все эти события? Плагины только начинаю писать, простите за, возможно, туповатые вопросы.
Евгений
30 января 2020, 12:03
modx.pro
848
0

GeoLocation php 7.3

Добрый день! Сайт раньше работал на версии php 7.1, перевел на 7.3. После перевода перестал работать выбор города geoLocation. Разбор кода выявил что в процессоре components/gl/processors/web/getlist.class.php
if ($query) {
            $c->where(array(
                "{$this->objectType}.name_ru:LIKE"    => "%{$query}%",
                "OR:{$this->objectType}.name_en:LIKE" => "%{$query}%",
            ));
        }
данная конструкция не отрабатывает, и дебаг sql запроса выдает ( `glCity`.`name_ru` LIKE 0 OR `glCity`.`name_en` LIKE 0 )
т.е. переменную $query преобразует в ноль (0). Переменная $query приходит нормальная, преобразует в 0 ее xpdo. Как можно победить? Спасибо.
Владимир Бабусенко
30 января 2020, 11:46
modx.pro
790
0

Кнопка помочь проекту

Подскажите, пожалуйста, люди добрые!
Есть ли у MODX готовые дополнения с кнопкой помочь проекту. Искала, но не нашла.
Любовь
30 января 2020, 09:59
modx.pro
825
0

Разделить массив на четные и не четные элементы

Всем привет. Есть цикл который раскрывает migx tv.
{foreach $rows as $row}
  
    {/foreach}
не могу понять как в данном цикле разделить элементы на четные и нечетные. К примеру что бы элементы под номерами 1,3,5 имели один класс, а под номерами 2,4,6 другой.
Александр
30 января 2020, 09:46
modx.pro
1
1 931
0

301 редирект вложенных страниц

Есть страница (каталог): /old/ в которой находится еще множество страниц, например 85.html или p-s.html
Нужно сделать редирект со старой страницы каталога на новую, например /new/ и чтобы при переходе на внутренние странице 85.html и p-s.html перенаправлялась уже на новые, например: /new/85.html
anzerg
29 января 2020, 23:20
modx.pro
847
0

Проблема с установкой minishop2

Вовремя установки, возникает вот такая ошибка, не как не могу с ней разобраться:

Could not create table `site_ms2_options` SQL: CREATE TABLE `site_ms2_options` (`id` INTEGER unsigned NOT NULL AUTO_INCREMENT, `key` VARCHAR(255) NOT NULL DEFAULT '', `caption` VARCHAR(255) NOT NULL DEFAULT '', `description` TEXT NULL, `measure_unit` TINYTEXT NULL, `category` INT(10) unsigned NOT NULL, `type` VARCHAR(255) NOT NULL DEFAULT '', `properties` TEXT NULL, PRIMARY KEY (`id`), INDEX `key` (`type`), FULLTEXT `caption_ft` (`caption`), INDEX `category` (`category`)) ENGINE=InnoDB ERROR: Array ( [0] => HY000 [1] => 1709 [2] => Index column size too large. The maximum column size is 767 bytes. )

Заранее спасибо!
Николай
29 января 2020, 20:10
modx.pro
1 385
0

Не получается сделать запрос с условием OR для pdoResources

Здравствуйте/
Пытаюсь сделать фильтр из нескольких блоков, в одном из которых есть группа чекбоксов с возможностью множественного выбора. Код сниппета:
<?php
//Filter Fields Settings
$filter = array();

$tags = $_GET['tags'];
if($tags){
    $idx = 0;
    foreach ($tags as $tag){ 
        if($idx == 0){$idx= 1;$comma='';}else{$comma=' OR ';}
         $filter_tags .= $comma."sposob_filtr LIKE '%".$tag."%'";
    }
    $filter[] = $filter_tags;
}

if($_GET['mysum']) {
	$filter[] = 'min_sum_filtr<='.$_GET['mysum'];
	$filter[] = 'max_sum_filtr>='.$_GET['mysum'];
}

//End Settings
	print_r($filter);
//Sort
if($_GET['sortby']) {
	$sortby = $_GET['sortby'];
} else {
	$sortby = 'pagetitle';
}
if($_GET['sortdir']) {
	$sortdir = $_GET['sortdir'];
} else {
	$sortdir = 'asc';
}
//End Sort

//Offset
$offset = 0;
if($_GET['offset']){
	$offset = $_GET['offset'];
}

if($filter) {
	$where = $modx->toJSON(array($filter));
} else {
	$where = '';
}

$params_count = array(
	'parents' => $parents,
	'limit' => 0,
	'tpl' => '@INLINE ,',
	'select' => 'id',
	'includeTVs' => $fields,
	'showHidden' => '1',
	'where' => $where
	);

$count = $modx->runSnippet('pdoResources',$params_count);
$count = count(explode(',',$count))-1;
$modx->setPlaceholder('count',$count);

$params = array(
	'parents' => $parents,
	'limit' => $limit,
	'offset' => $offset,
	'tpl' => $tpl,
	'select' => 'id,pagetitle,introtext,content',
	'includeTVs' => $fields,
	'showHidden' => '1',
	'sortby' => $sortby,
	'sortdir' => $sortdir,
	'where' => $where
	);

$more = $count - $offset - $limit;
$lim = $more > $limit ? $limit : $more;

$button = '';
if($more > 0){
	$button = '<div class="ajax-filter-count" data-count="'.$count.'"><a href="#" class="ajax-more">Загрузить еще '.$lim.' из '.$more.'</a></div>';
}

return $modx->runSnippet('pdoResources',$params).$button;
Проблема в том, что если выбрать несколько чекбоксов и еще другое условие, то это второе условие не срабатывает (насколько я понял, это происходит из-за того, что OR в чекбоксах «перекрывает» новое условие). Переменная $filter, которая потом должна преобразовываться в json строку для where выглядит так:
Array ( [0] => sposob_filtr LIKE '%cash%' OR sposob_filtr LIKE '%visa%' [1] => min_sum_filtr<=100 [2] => max_sum_filtr>=100 )
Логично предположить, что группу условий с OR нужно взять в скобочки, но у меня не получается…
Что делать? (
Игорь
29 января 2020, 16:27
modx.pro
670
0

AjaxForm передать значение полей

Комрады, подскажите, как заполненные поля ajaxform затолкать в af_complete?
из серии:

$(document).on('af_complete', function(event, response) {
	[[+fi.name]]
});
нужно передать значение в стороний js и отправить по api

Голову уже сломал…
Георгий Графов
29 января 2020, 16:07
modx.pro
1 106
0

ms2gallery + fenom - Вывод конкретного фото по rank с другого ресурса

Здравствуйте!

С приходм fenom сайт стал работать гораздо шустрее.
Но сейчас появилась задача выводить фотографии на странице с другой страницы.

Т.е. на странице (id1) нужно вывести оригинал (большое фото) с номером (rank10) со страницы (id5)
Илья
29 января 2020, 15:18
modx.pro
1 129
0

addPackage called with an invalid package name.

В журнале ошибок
[2020-01-29 13:09:33] (ERROR @ /home/public_html/core/xpdo/xpdo.class.php: 513) addPackage called with an invalid package name.

Как найти что за package глючит? В интерете читал в базе данных отключить. А какая таблица отвечает за packages и как отключить?
Благодарю.
Сергей
29 января 2020, 13:11
modx.pro
1 659
0