переопределение контроллера joomla com_users

Я не могу переопределить контроллер com_users (Joomla 3.4). (Я хочу, если менеджер может сделать регистрацию пользователя на сайте после того, как он вошел в систему. Поэтому я хочу видеть форму регистрации, если я вошел на сайт.)

Если я изменяю исходный файл, он работает нормально, но я не хочу изменять исходный файл. Я попробовал 2 плагина переопределения для этого (Переопределение MVC, Переопределить мастер). Эти плагины переопределяют файл, но после того, как я нажимаю кнопку регистрации, я получаю следующее сообщение об ошибке:

Неустранимая ошибка: невозможно переопределить класс UsersController в D: \ wamp \ www \ mysite \ components \ com_users \ controller.php в строке 136

Это тот же файл.
Я изменил строку class UsersController extends JControllerLegacy к этому class UsersController extends UsersControllerDefault, Потому что я читаю это Вот.
В чем разница? Почему это не работает таким образом? : /

2

Решение

  1. Если у вас установлен плагин переопределения MVC, обязательно "Make Extendable" установлен в да в бэкэнде (плагины: система — переопределение MVC)
  2. Я советую вам поместить все переопределения (html, code и т. Д.) В ваш каталог шаблонов, поэтому создайте файл контроллера как: templates/YOUR_TEMPLATE/code/com_users/controller.php
  3. Наконец, в этом файле контроллера вы переопределяете его так, как это было упомянуто:
    class UsersController extends UsersControllerDefault {

Это должно сделать свое дело.

0

Другие решения

Это случилось со мной тоже. Проблема заключалась в том, что я также переопределял субконтроллер (внутри папок контроллеров)

Я должен был добавить

$bufferContent = str_replace('extends UsersController','extends UsersControllerDefault',$bufferContent);
$bufferContent = str_replace('require_once', '//require_once', $bufferContent);

после

$bufferContent = str_replace($originalClass,$replaceClass,$bufferFile);

Это хак и будет работать только переопределение com_user. Вам нужно изменить первую строку, чтобы отразить ваш правильный класс компонента.

0

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector