Всего 123 784 комментария

Василий Наумкин
29 декабря 2012, 19:06
1
0
Крайне полезно делать
$c->prepare();
echo $c->toSql();
die;
Будет дамп SQL запроса, который можно загонять для проверки в phpmyadmin.
Дмитрий Баданин
29 декабря 2012, 19:01
0
Журнал пустой. Ошибок нет.
Дмитрий Баданин
29 декабря 2012, 19:01
0
Вот так
$c->select($this->modx->getSelectColumns('TdTypes','TdTypes'))
как раз получилось.
Только поле name таблицы TdTypes затерло поле name таблицы TdItems при выводе. Видимо в алиасах дело. Поразбираюсь, спасибо за помощь.
Василий Наумкин
29 декабря 2012, 18:40
1
0
Попробуй еще
$c->select($this->modx->getSelectColumns('TdTypes','TdTypes'));
Василий Наумкин
29 декабря 2012, 18:37
0
Смотри лог, по любому выбираешь несуществующий столбец.

xPDO такие ошибки пишет в системный журнал.
Дмитрий Баданин
29 декабря 2012, 18:31
0
Попробовал строкой. В консоль попало только это
{"total":"1","results":[]}
Если закомментировать строку с select, то выводится это
{"total":"1","results":[{"id":14,"enabled":1,"created":"-1-11-30 00:00:00","updated":"-1-11-30 00:00:00","ended":"-1-11-30 00:00:00","cid":3,"tid":3,"fid":0,"name":"\u0422\u0435\u0441\u0442\u043e\u0432\u044b\u0439","description":""]}}
Функция целиком выше.
Василий Наумкин
29 декабря 2012, 15:27
0
xPDOQuery::select() принимает только строку. В документации была опечатка, уже поправил.

То есть:
$c->select('id,name,TdTypes,updated,enabled');
Дмитрий Баданин
29 декабря 2012, 13:51
0
Вот такой код не срабатывает — results 0.
public function prepareQueryBeforeCount(xPDOQuery $c) {			
		$c->select(array('id','name','TdTypes','updated','enabled'));
		$c->innerJoin('TdTypes','TdTypes','TdItems.tid=TdTypes.id');
		return $c;
    }
Пробовал и такой вариант:
$c->select(array('columns'=>array('id','name','TdTypes','updated','enabled')));
и такой
$c->select('id','name','TdTypes','updated','enabled');
Может быть определяю неверно, может не в той функции определяю. Подскажи, пожалуйста.
Василий Наумкин
29 декабря 2012, 13:33
0
Да, конечно нужно не только объединить таблицы, но и выбрать из них нужные данные.
Дмитрий Баданин
29 декабря 2012, 13:25
0
Немного неясно как делать соединения.
Сделал innerJoin как в последнем примере. Смотрю в консоли — поля связанной таблицы по-прежнему не возвращает. Может быть нужно в $c->select прописывать в классе getlist?
Алексей Хребтов
29 декабря 2012, 10:13
0
Чтобы не плодить тем, спрошу здесь.
В заметках про версию 0,3,0 написано
«При регистрации нового юезра добавлена проверка по email. Если такой адрес уже есть — учетка приклеится к нему.»
Я через минишоп, делаю заказ, создается пользователь с указанным email. Потом логинюсь через HybridAuth с провайдера у которого учетка с этим же email. В итоге имею 2 пользователей с одинаковым email-ом (разные логины).
Минишоп в качестве логина подставляет email, а HybridAuth берет у провайдера логин.
Как не создавать пользователя если уже такой есть email?
Алексей Хребтов
29 декабря 2012, 08:47
0
В том и проблема что ошибок не было. Хотя была одна, когда вызывал снипет HybridAuth с провайдером которого уже удалил.<cut/>
А так по логике и не должно было быть ошибок в системном журнале, т.к. ошибка direct_uri_mismatch происходила на стороне сервисов (Гугл, Яндекс) и до моего сайта ответ не доходил. А вот с мейлом когда ключ создал некорректно, и появлялся белый экран, почему не появилась запись в журнале не могу понять.
Василий Наумкин
28 декабря 2012, 23:24
0
Юля, не мучайтесь — на Windows это работать не будет. Ну или будет, но через одно место и после многих танцев с бубном.

Если нет желания покупать GNU/Linux тестовую площадку в интернетах, ознакомьтесь хотя бы с виртуальной машиной.

Учитывая, что 99% сайтов MODX работают на Linux — эти знания себя ещё окупят!
Yulia Udacheva
28 декабря 2012, 23:17
0
Через cmd скачать удалось, а запустить нет
Василий Наумкин
28 декабря 2012, 20:47
0
Очень рад!

На будущее — все ошибки должны быть в системном журнале.
Алексей Хребтов
28 декабря 2012, 20:27
0
Да Василий, все получилось. Спасибо.
с Mail.ru тоже разобрался, сначала белый экран был при попытке авторизации, создал в настройках новый ключ, и заработало. Подозреваю что в первый раз при создании ключа не писал ha.keys., поэтому и не срабатывал провайдер.
Василий Наумкин
28 декабря 2012, 19:09
0
Плагином на OnUserFormSave можно самому задавать любой пароль только что созданному юзеру.

Там будет переменная $mode, которая для нового юзера равна new.
Пётр Молчанов
28 декабря 2012, 17:44
0
Значит придется генерит новый пароль для уже существующих юзеров. Как-то перехватить пароль при регистрации пользователя можно, учитывая, что региться будут через HybridAuth?
Василий Наумкин
28 декабря 2012, 17:29
0
А иначе увёл базу хэшей, раскодировал и получил базу паролей юзеров.

Можно уже тогда сразу, в открытом виде хранить.