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