Внесение изменений в файлы ядра Joomla! часто необходимо, но есть как правильный, так и неправильный способ это сделать.
Неправильный способ - это напрямую редактировать файлы Joomla. Если вы поступаете именно так, то вы потеряете все ваши изменения при следующем обновлении вашего сайта.
Правильный путь заключается в использовании переопределение. В этой статье мы покажем вам, что такое переопределение результатов и как вы можете использовать его, чтобы безопасно редактировать компоненты, модули и языки.
Введение в Переопределение
- Что? Переопределение - это файл или запись базы данных, которая загружается вместо обычного файла ядра.
- Где? В Joomla, переопределение почти всегда помещается внутри файлов вашего шаблона.
- Кто? Почти каждый дизайнер шаблонов использует переопределение. Если вы купили шаблон или скачали бесплатный шаблон, на 99% есть шанс, что шаблон будет использовать переопределение, чтобы помочь в разработке вашего сайта.
- Как? Читайте дальше и узнаете, как переопределить модули, компоненты и языки.
1) Переопределение модуля
Вот модуль формы входа, и именно на его примере мы собираемся произвести изменение. Мы собираемся удалить кнопку Запомнить меня.
- Войдите в файлы вашего сайта и перейдите в /модули / папка.
- Вам нужно найти папку / mod_login /.
- Внутри папки / mod_login /, вы должны найти / tmpl / папку. Если её нет, ваш модуль не будет поддерживать переопределение.
- Внутри / tmpl / папки, обратите внимание на расположение файла для модуля. В простых модулей его часто называют default.php. Сделайте копию этого файла.
- Перейдите в папки / шаблоны / (templates).
- Откройте папку для текущего шаблона. В этом примере, наш шаблон / beez_20 /.
- Откройте папку / html/.
- Внутри / html / папки, создайте новую папку с таким же именем, как и у папки исходного модуля. В данном случае это / mod_login /.
- Загрузите файл макета в эту новую папку.
Теперь Вы можете редактировать файл макета. На этом примере, закомментируйте линии с 49 по 54 из default.php.Сохраните файл и ваши изменения будут видны:
2) Переопределение компонента
Давайте посмотрим на почти такую же задачу, но на этот раз с компонентом. Мы собираемся удалить кнопку Запомнить меня в логин окне нашего компонента.
- Войдите в файлы вашего сайта и перейдите в / компоненты / папка.
- Вам необходимо найти папку/ com_users /.
- Внутри папки / com_users, вы должны найти папку / просмотры /. Если её нет, ваш компонент не будет поддерживать переопределения.
- Внутри папки / просмотры /, вы можете найти несколько подпапок. Обычно каждой из них дано логическое имя, в соответствии с частью компонента, которую они изменяют.
- Просмотрите содержание этих папок, а также / tmpl / папки. Обратите внимание на расположение файла, который вы хотите изменить. В нашем случае это файл /login/tmpl/default_login.php.
- Перейдите в папку / шаблоны / (folders).
- Откройте папку для текущего шаблона. В этом примере, наш шаблон / beez_20 /.
- Откройте папку / html /.
- Внутри / html / папки, создайте новую папку с таким же именем, что и у папки исходного компонента. В данном случае это / com_users /.
- Создайте подпапку внутри / com_users /, сочетающуюся с папкой исходного компонента. В данном случае это / login/.
- Загрузите файл макета в эту новую папку.
Теперь Вы можете редактировать файл макета. В этом примере, закомментируйте линии от 47 до 50 из default_login.php.
Сохраните файл и ваши изменения будут видны:
3) Переопределение языка
В то время как модули и компоненты должны быть изменены с помощью файла, язык на вашем сайте вы можете изменить с помощью Joomla администратора.
В этом примере мы собираемся изменить пункт "Нет учетной записи?"
- Перейдите в Расширения> Менеджер языков> Переопределение.
- Нажмите кнопку Создать.
- Введите "Нет учетной записи?" и нажмите кнопку Поиск.
- Ниже вы увидите результаты поиска. Нажмите на тот результат, который вы хотите переопределить.
- Введите новую фразу в текстовом поле.
- Нажмите кнопку Сохранить и закрыть.
- Вы увидите переопределение, показанное ниже:
- Перейдите во внешний интерфейс вашего сайта и вы увидите, что переопределение в настоящее время функционирует: