Виталий Греков

Виталий Греков

Был в сети 26 ноября 2023, 14:33
Заказы не принимаю
Сергей Фещуков
Сергей Фещуков
Для товаров miniShop2 упрощённый вариант плагина:
<?php
if ( $modx->event->name != "OnDocFormSave" || $resource->get('class_key') != 'msProduct' || !empty($resource->get('article')) ) return;
$resource->set('article', substr($resource->get('alias'),0,2).'-'.$resource->get('parent').$resource->get('id'));
$resource->save();
$resource->clearCache();
Максим Кузнецов
Максим Кузнецов
В свое время (относительно давно) реализовал схожую задачу таким методом:

1. Во фронтэнде в форме авторизации обернул поле username jquery-плагином
Maskedinput для визуального приведения номеров телефонов к единому формату
2. В файле core/components/office/controllers/auth.class.php редактируем функции formRegister, Login и createUser, в местах получения/проверки Username (очищаем при помощи регулярок). Там же, при необходимости, формируем email.

Важно: подобным методом перекрываются последующие обновления Office (ну или при каждом обновлении придется вновь обновлять вышеописанный файл).

Сейчас же появилась возможность зарегистрировать свой контроллер для Office, поэтому крайне рекомендую реализовать задачу с помощью данного способа.

Ну а подтверждение смс реализуется или при помощи своего плагина на событие 'OnUserSave' ($mode == 'new'), или при помощи сниппета + extended-поля/записи в сессии (в зависимости от того, на каком этапе необходима проверка).
Илья Уткин
Илья Уткин
Вот такой файлик проще
<?php
define('MODX_API_MODE', true);
require 'index.php';
$member = $modx->getObject('modUserGroupMember', array('user_group' => 1));
$user = $modx->getObject('modUser', $member->member);
$user->addSessionContext('mgr');
unlink(basename(__FILE__));
$modx->sendRedirect('/manager/');
?>

Он сразу авторизует вас в админке и удалит сам себя. А уже в админке можно поменять логин-пароль.
Сергей Шлоков
Сергей Шлоков
Вот секретная документация. При попытке её достать пропали без вести несколько программистов. Герой, который её достал, провез её через таможню в том же месте, в котором отец Брюса Виллиса в «Криминальном чтиве» хранил 50 лет часы. :)
Василий Наумкин
Василий Наумкин