Для того, чтобы вносить изменения на сайт, работающий на Joomla, нужно понимать, как работает Joomla, какие файлы что делают, и где эти файлы расположены. В этой статье мы рассмотрим, где находится файл index.php
шаблона сайта, чтобы в дальнейшем вносить его кое-какие изменения, влияющие на отображение информации и для внесения которых не предусмотрены настройки через админку Joomla. Поэтому вносить их нужно непосредственно в код.
index.php
— это файл шаблона сайта, который служит конструктором для сборки того, что отображается на сайте. Находится он в директории шаблонов templates
, которая лежит в корне сайта на сервере. Именно в папке templates
лежат папки всех установленных шаблонов Joomla. Папки с шаблонами имеют названия шаблонов (и это удобно). В каждой папке шаблона в её корне и лежит файл index.php
.
Я сейчас использую шаблон protostar
, поэтому, чтобы было понятнее рассмотрим на его примере структуру файлов и папок именно этого шаблона:
.
├── administrator
├── bin
├── cache
├── cli
├── components
├── images
├── includes
├── language
├── layouts
├── libraries
├── media
├── modules
├── plugins
├── templates
│ ├── protostar
│ │ ├── css
│ │ │ ├── offline.css
│ │ │ └── template.css
│ │ ├── html
│ │ │ ├── com_config
│ │ │ │ ├── config
│ │ │ │ │ ├── default_metadata.php
│ │ │ │ │ ├── default.php
│ │ │ │ │ ├── default_seo.php
│ │ │ │ │ └── default_site.php
│ │ │ │ └── templates
│ │ │ │ ├── default_options.php
│ │ │ │ └── default.php
│ │ │ ├── com_wrapper
│ │ │ │ └── wrapper
│ │ │ │ ├── default-20161225-185138.php
│ │ │ │ └── default.php
│ │ │ ├── layouts
│ │ │ │ └── joomla
│ │ │ │ ├── content
│ │ │ │ │ ├── associations.php
│ │ │ │ │ ├── blog_style_default_item_title.php
│ │ │ │ │ ├── blog_style_default_links.php
│ │ │ │ │ ├── categories_default_items.php
│ │ │ │ │ ├── categories_default.php
│ │ │ │ │ ├── category_default.php
│ │ │ │ │ ├── icons.php
│ │ │ │ │ ├── info_block
│ │ │ │ │ │ ├── author.php
│ │ │ │ │ │ ├── block.php
│ │ │ │ │ │ ├── category.php
│ │ │ │ │ │ ├── create_date.php
│ │ │ │ │ │ ├── hits.php
│ │ │ │ │ │ ├── modify_date.php
│ │ │ │ │ │ ├── parent_category.php
│ │ │ │ │ │ └── publish_date.php
│ │ │ │ │ ├── intro_image.php
│ │ │ │ │ ├── options_default.php
│ │ │ │ │ ├── readmore.php
│ │ │ │ │ └── tags.php
│ │ │ │ ├── form
│ │ │ │ │ └── field
│ │ │ │ │ ├── contenthistory.php
│ │ │ │ │ └── user.php
│ │ │ │ ├── html
│ │ │ │ │ ├── batch
│ │ │ │ │ │ ├── access-20161225-184743.php
│ │ │ │ │ │ ├── access-20161225-185146.php
│ │ │ │ │ │ ├── access.php
│ │ │ │ │ │ ├── item-20161225-184743.php
│ │ │ │ │ │ ├── item-20161225-185146.php
│ │ │ │ │ │ ├── item.php
│ │ │ │ │ │ ├── language-20161225-184743.php
│ │ │ │ │ │ ├── language-20161225-185146.php
│ │ │ │ │ │ ├── language.php
│ │ │ │ │ │ ├── tag-20161225-184743.php
│ │ │ │ │ │ ├── tag-20161225-185146.php
│ │ │ │ │ │ ├── tag.php
│ │ │ │ │ │ ├── user-20161225-184743.php
│ │ │ │ │ │ ├── user-20161225-185146.php
│ │ │ │ │ │ └── user.php
│ │ │ │ │ ├── formbehavior
│ │ │ │ │ │ ├── ajaxchosen-20161225-184743.php
│ │ │ │ │ │ ├── ajaxchosen-20161225-185146.php
│ │ │ │ │ │ ├── ajaxchosen.php
│ │ │ │ │ │ ├── chosen-20161225-184743.php
│ │ │ │ │ │ ├── chosen-20161225-185146.php
│ │ │ │ │ │ └── chosen.php
│ │ │ │ │ ├── sortablelist-20161225-184743.php
│ │ │ │ │ ├── sortablelist-20161225-185146.php
│ │ │ │ │ ├── sortablelist.php
│ │ │ │ │ ├── tag-20161225-184743.php
│ │ │ │ │ ├── tag-20161225-185146.php
│ │ │ │ │ ├── tag.php
│ │ │ │ │ ├── treeprefix-20161225-184743.php
│ │ │ │ │ ├── treeprefix-20161225-185146.php
│ │ │ │ │ └── treeprefix.php
│ │ │ │ └── system
│ │ │ │ ├── message-20161225-184825.php
│ │ │ │ ├── message-20161225-185155.php
│ │ │ │ └── message.php
│ │ │ ├── mod_articles_latest
│ │ │ │ ├── default-20161219-161324.php
│ │ │ │ └── default.php
│ │ │ ├── mod_custom
│ │ │ │ └── default.php
│ │ │ ├── modules.php
│ │ │ └── pagination.php
│ │ ├── images
│ │ │ ├── logo.png
│ │ │ └── system
│ │ │ ├── rating_star_blank.png
│ │ │ ├── rating_star.png
│ │ │ ├── sort_asc.png
│ │ │ └── sort_desc.png
│ │ ├── img
│ │ │ ├── glyphicons-halflings.png
│ │ │ └── glyphicons-halflings-white.png
│ │ ├── js
│ │ │ ├── application.js
│ │ │ ├── classes.js
│ │ │ └── template.js
│ │ ├── language
│ │ │ └── en-GB
│ │ │ ├── en-GB.tpl_protostar.ini
│ │ │ └── en-GB.tpl_protostar.sys.ini
│ │ ├── less
│ │ │ ├── icomoon.less
│ │ │ ├── template.less
│ │ │ ├── template_rtl.less
│ │ │ └── variables.less
│ ├── system
│ │ ├── component.php
│ │ ├── css
│ │ │ ├── editor.css
│ │ │ ├── error.css
│ │ │ ├── error_rtl.css
│ │ │ ├── general.css
│ │ │ ├── offline.css
│ │ │ ├── offline_rtl.css
│ │ │ ├── system.css
│ │ │ └── toolbar.css
│ │ ├── error.php
│ │ ├── html
│ │ │ └── modules.php
│ │ ├── images
│ │ │ ├── calendar.png
│ │ │ ├── j_button2_blank.png
│ │ │ ├── j_button2_image.png
│ │ │ ├── j_button2_left.png
│ │ │ ├── j_button2_pagebreak.png
│ │ │ ├── j_button2_readmore.png
│ │ │ ├── j_button2_right.png
│ │ │ └── selector-arrow.png
│ │ ├── index.php
│ │ ├── offline.php
│ │ ├── component.php
│ │ ├── error.php
│ │ ├── favicon.ico
│ │ ├── index.php
│ │ ├── offline.php
│ │ ├── templateDetails.xml
│ │ ├── template_preview.png
│ ├── └── template_thumbnail.png
│ └── index.html
└── tmp
Если записать коротко, то путь от корня сайта до файла index.php
шаблона protostar
будет таким:
./templates/protostar/index.php
Всё хорошо, если понятно, но может быть вообще не понятно для тех, кто привык пользоваться админкой для работы с сайтом. А то, что есть какой-то там сервер, никого не волнует. Так вот, спешу порадовать: доступ к файлу index.php
шаблона возможен и через админку. Для этого нужно:
- Зайти в админку
- Перейти в «Мастер шаблонов»
- Выбрать шаблон сайта, файл
index.php
которого интересует
В итоге мы увидим файл index.php
в списке файлов шаблона:
Как работать с файлом index.php
, внося в него изменения: непосредственно на сервере, у себя на локальном компьютере, потом закачивая файл с изменениями на сервер или через админку Joomla, каждый выбирает способ наиболее ему удобный.
Заберите ссылку на статью к себе, чтобы потом легко её найти!
Раз уж досюда дочитали, то может может есть желание рассказать об этом месте своим друзьям, знакомым и просто мимо проходящим?
Не надо себя сдерживать! ;)