Евгений Webinmd

Евгений Webinmd

С нами с 07 января 2013; Место в рейтинге пользователей: #23

Не могу понят в чем ошибка при работе хука

Стоит задача:
необходимо сделать регистрацию пользователей без подтверждения по email. Т.е. пользователь проходит регистрацию, автоматически авторизируется и его редиректит на другую страницу.

Решил использовать для этих целей дополнение Login.

Регистрация:
[[!Register?
    &submitVar=`registerbtn`
    &activation=`0` //тут активирую нового пользователя без подтверждения
    &activationResourceId=`4` //сюда хочу редиректить
    &postHooks=`autoLogin` //пост хук который должен автоматом авторизовать юзера
    &usergroups=`Users`
    &validate=`nospam:blank,
      password:required:minLength=^8^,
      password_confirm:password_confirm=^password^,
      fullname:required,
      phone:required,
      email:required:email`
    &usernameField=`phone`
    &placeholderPrefix=`reg.`
    &successMsg=`Регистрация прошла успешно`
]]

// тут код формы регистрации
Вот собственно сам снипет autoLogin:

<?php
$username = $hook->getValue('phone'); //получаю логин для авторизации
$password = $hook->getValue('password'); //получаю пароль
$data = array( //формирую массив мараметров для процессора
    'username' => $username,
    'password' => $password,
    'rememberme' => false,
    'login_context' => 'web',
  );
  
$response = $modx->runProcessor('/security/login', $data); //ну и пытаюсь авторизироваться
return true;
Регистрация проходит успешно все ок. А вот авторизация прям ни в какую. Может просто уже ночь и я что-то пропустил… но перепроверил не раз да и по логике вроде все верно…

Тыкните носом в ошибку пожалуйста) А то уже нервов не хватает. Буду премного благодарен!
Evgesha
19 июня 2017, 23:26
modx.pro
1
814
+3

settingsWidget - настройки в панели управления

Это маленькое дополнение предназначено для показа выбранных настроек на панели управления MODX.


Добавить виджет на панель: Панели — Default — Редактировать панель — Добавить виджет — Быстрые настройки.
В системной настройке settingswidget_keys указать через запятую список ключей настроек. Например, так:
site_name,site_status,emailsender,error_page
Эти перечисленные настройки и будут отображаться в виждете.

Дополнение целиком и полностью бесплатно и доступно в Modstore: settingsWidget.
DocentBF
19 июня 2017, 21:14
modx.pro
14
4 007
+19

Импорт свойств в Minishop2 версий 2.4.* из CSV

Возникла сейчас необходимость импортировать товары для текущей версии MS2.
Попробовал штатный скрипт импорта из CSV, оказалось, что свойства товаров (созданные не плагином) не обрабатываются.

Возможно кому-то пригодиться данное простенькое решение.
Алексей Шумаев
27 мая 2017, 23:05
modx.pro
12
3 401
+8

Видео с MODX Meetup Almaty 2017



Не так давно прошел MODX Meetup Almaty 2017. Теперь мы все можем посмотреть доклады участников.
Михаил
26 мая 2017, 04:18
modx.pro
4
6 099
+23

Тест вложенности ресурса в контейнер [с блекджеком и плюхами]

Проверить, есть ли контейнер в списке родителей ресурса, можно разными способами:

  • Можно сделать это используя карту ресурсов, которую MODX создаёт для каждого контекста после обновления кеша. Для этого необходимо воспользоваться методом $modx->getParentIds. Таким образом нагрузка и время затрачиваемое на проверку будет минимальным.

  • Не заморачиваться и сделать всё исключительно на Fenom, без модификаторов. Тут мы тоже можем воспользоваться методом $_modx->getParentIds, который Василий услужливо вынес в список доступных в Fenom.

  • Можно даже извратиться до того, что на каждую такую проверку получать объект через getObject('modResource') + получать объекты его родителей через getOne('Parent'). К слову, что будет в случае, если нам, к примеру, надо проверить 50 товаров на странице на вложенность в определённую категорию?
    Ради интереса, я воспроизвёл подобную ситуацию на тестовом сайте Modhost:
    1. Без каких-либо проверок 50 товаров в списке категории выводятся за 0,0282 сек.
    2. С подобной проверкой, за 0.1304 сек.
    3. С проверкой, которую мы рассматриваем в этом посте, за 0.0307 сек.

    А потом заказчики сходят с ума, почему их сайт так долго открывается...
Павел Гвоздь
26 апреля 2017, 05:28
modx.pro
17
4 265
+15

Как изменить цену в корзине исходя из веса?

В корзине особенная логика формирования цены должна быть, и она зависит от веса (weight), а не от количества.
Если в коротко, то при достижении веса например в 400 грамм суммарно для всех товаров в корзине должна применяться для всех них скидка в 20% например.

Это нестандартная задача, обычно оптовые цены зависят от количества, а не от веса.

Я вижу решение проблемы из двух этапов:
  1. бэкэнд из плагина
  2. фронтэнд на js-кэллбэке
По первому нашел много старых примеров, например тут и тут, но все они нерабочие и плагин ругается в логи.
Василий Столейков
06 апреля 2017, 04:38
modx.pro
4
4 496
0

Пример добавления анимации к mFilter2

В ответ на вопрос по анимированию работы фильтров mFilter2, выкладываю пример решения данной задачи (демо).

Максим Кузнецов
28 марта 2017, 10:30
modx.pro
13
2 737
+13

Удаление старых версий пакетов

Многие пользователи знают, что MODX хранит кучу старых версий дополнений, чтобы вы могли откатиться на них в любое время.

Но, это требуется крайне редко, а место пакеты занимают. Их можно удалять вручную, но это довольно утомительно, поэтому я набросал несложный консольный скрипт для автоматического удаления.

Скрипт нужно положить в корневую директорию и запустить. Он выберет все установленные версии, кроме самой последней, и корректно удалит их через родной процессор.

Судя по коду этого процессора, никак повредить системе он не может, потому что деинсталляцию самого пакета не делает, а только удаляет файлы версии. Но, в любом случае, использовать на свой страх и риск!
Василий Наумкин
24 марта 2017, 06:35
modx.pro
40
4 239
+24

[modHelpers] Версия 1.4.0. Мобильность, очереди...

Всем привет!
В данной версии добавленный функционал коснулся в основном программистов. Но есть пара фич и для работы с сайтом — проверка запроса на «мобильность» и очереди для почтовых уведомлений.

Для отладки добавил функцию print_str(). Работает как print_r, но дополнительно делает ещё ряд манипуляций — объекты переводит в массивы (при наличии метода toArray), массивы оборачивает в тег pre, для null-евых переменных выводит «NULL», для булевых — «TRUE» или «FALSE» вместо 1 и ''. А также может оборачивать вывод тегами HTML или применять шаблон для вывода. Например, выводить желтым шрифтом на синем фоне.

Сергей Шлоков
23 марта 2017, 07:13
modx.pro
4
1 804
+9

Импорт в MODX Tickets из Wordpress

В очередной раз понадобилось перенести блог из Вордпресса в MODX. Раньше я для этого пользовался хитрым костылём с Articles. Сейчас он не работает, поэтому пришлось чинить. Доделывать мне его лень, так что это опять костыль. Но у меня он сработал.

Скачиваем файл, создаём новый сниппет, например, wpimport, вставляем в него текст из файла, и настраиваем всё параметры прямо в коде (я предупреждал — костыль!)

  • На 20-й строке указываем путь к файлу, экспортированному из WP.
  • На 100-й строке появляется функция, которая расставляет теги абзаца, которых в файле WP нет.
  • 115-я строка — ID родителя (куда будем импортировать?)
  • 119-я — ID шаблона для постов.
  • На 126 устанавливается class_key Tickets. Если хотите, можете сделать ModResource.
  • Со 132-й строки пробуем скопировать все изображения из WP в папку, указанную на 152-й строке. Попутно меняем css классы у картинок на bootstrap.
  • На 180-й строке пытаемся поменять href у ссылок, внутри которых были картинки.
  • 199 – Сохраняем в интротекст всё, что перед катом.
  • 209,210 — вызываем функции, которые сохраняют description и keywords в соответстующие ТВ, если в WP вы использовали All In One SEO Pack. ТВ для сохранения указаны в самом конце.
  • ТВ для тегов на 339-й строке.
Денис Дыранов
21 марта 2017, 12:39
modx.pro
10
2 391
+12