XF 2.2 Расширение класса RegisterForm

Версия XenForo
2.2

Noon

Проверенные
Сообщения
16
Реакции
5
Баллы
30
Суть проста: программно отключить регистрацию.

Делаю:
1. Создаю аддон через cmd.php.
2. Создаю в папке addons/MyPlugins/ForbiddenRegistration/XF/Service/User файл RegisterForm.php.
3. Прописываю через class-extensions:

1610141094600.png


Содержимое RegisterForm.php:

PHP:
<?php
namespace MyPlugins\ForbiddenRegistration\XF\Service\User;

class RegisterForm extends XFCP_RegisterForm
{
    public function isValidRegistrationAttempt(\XF\Http\Request $request, &$error = null)
    {
        $error = \XF::phrase('forbidden_register');
        return false;
    }
}
?>

0 реакции, как регистрирует, так и регистрирует.
Также попробовал увеличить приоритет, чтобы исполнялся последним, но он должен вовсе перезаписать эту функцию.
 
Noon, вы пытаетесь расширить несуществующий класс.
Немного подробнее? Я нашёл примеры с расширением этого класса. Как определить расширяемый?

Всё понятно, там указан другой namespace:
PHP:
namespace XF\Service\User;

Для расширения использовать необходимо
PHP:
XF\Service\User\RegisterForm
Странно, что их административная панель не вывела никакого предупреждения о расширении несуществующего класса.
 
Немного подробнее? Я нашёл примеры с расширением этого класса. Как определить расширяемый?
Указанного вами в расширении класса нет в природе, зато есть XF:User\RegisterForm.
1610142829177.png
 
административная панель не вывела никакого предупреждения о расширении несуществующего класса
Не выводит, т.к. могут создаваться расширения классов для сторонних аддонов, которые могут быть и не установлены.
 
Странно, что их административная панель не вывела никакого предупреждения о расширении несуществующего класса.
И не должна. Рассчёт на то, что дополнение может расширять классы других дополнений, а они могут быть не установлены. Аналогично с модификациями шаблонов.
 
если у вас дополнения на конвеере, то можете попробовать эту штуку
тут есть подсказки и авто-создание файла для расширения
 
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу