Как изменить форму входа в Joomla?

Мне было интересно, как вы можете изменить текст в форме входа в Joomla. Например:

с имя пользователя до Usr, от пароль до Pwd, и другой текст тоже.

возможно, этот вопрос задавали раньше, но я ничего не мог найти.

кто-нибудь знает, как это сделать?

2 ответов


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

правильный способ сделать это (как указано в adjamaflip), через языковые файлы.

главная страница входа для Joomla находится через компонент "com_users", хотя есть также модуль "mod_login", упомянутый hbit. Этот процесс будет работать для обоих, у них просто будут немного разные файлы и строки для переопределения (вы, вероятно, захотите переопределить оба).

Если вы посмотрите на шаблоны для любого компонента или модуля, вы увидите, что у них есть разделы кода, такие как:

<?php echo JText::_('MOD_LOGIN_VALUE_USERNAME') ?>
<?php echo JText::_('COM_USERS_LOGIN_USERNAME_LABEL') ?>

это в основном говорит "вставить переведенный текст для WHATEVERSTRING здесь". Этот переведенный текст хранится в соответствующем языковом файле, который будет находиться в '/language/LANG/LANG.com_users.ini ' для 'com_users' компонент, etc. LANG по умолчанию является "en-GB", поэтому, вероятно, для вас в " /language/en-GB/en-GB.com_users.ini ' вы найдете строку типа:

COM_USERS_LOGIN_USERNAME_LABEL="User Name"

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

для обработки обновлений они добавили новая функция в Joomla 1.6 для переопределения языков. Вы можете добавить переопределения для любого языкового файла (любого компонента/модуля/etc) в отдельное расположение переопределений в '/language/overrides/LANG.переопределение.ini'. Например, добавьте строку:

COM_USERS_LOGIN_USERNAME_LABEL="Usr"

Теперь вы переопределили эту языковую строку. Добавьте строки для 'MOD_LOGIN_VALUE_USERNAME' и т. д., чтобы переопределить модуль входа и другие строки по мере необходимости.

Теперь, если вы обновите Joomla, вы получите любые изменения в этом логине шаблоны, но не потеряет ваши текстовые изменения. Вы можете применить этот же процесс для каждого языка, на котором предоставляется ваш сайт, переопределения будут жить счастливо бок о бок. Это также будет работать для сторонних компонентов и модулей, если они используют 'JText::_()' для вывода строк - какими они должны быть.


Вы делаете это с так называемого замена шаблона. Вы в основном копируете файл (где происходит вывод вашей формы) в каталог шаблонов вашего активного шаблона. Для формы входа в систему вы должны быть такими:

скопировать

[для Joomla]/модули/mod_login/tmpl по/по умолчанию.в PHP

до

[joomla] / templates/[шаблон, который вы используете]/html/mod_login / default.в PHP

важно создать (если нет) и используйте каталог "html"в каталоге шаблонов. Затем измените новое значение по умолчанию.php так, как вы хотите. Идея заключается в том, что вы не редактируете основные файлы, так как это плохая практика.

вот дополнительная информация о переопределениях шаблонов:как переопределить выход из Joomla! ядро