Где и как найти и отредактировать нужный элемент на UserCMS
Шаг 1: определить тему сайта
Для этого в админке смотрим страницу настройки
Шаг 2: определить компонент текущей страницы
Если это админка(бэкенд)
то все проще, смотрим урл и в нем есть название компонента, если главная то компонент Pages.
К примеру: если урл такой /admin/pages/add, то компонент "pages" и экшн add. Понятное дело начало "admin" - мы отбрасываем, это и означает что мы в админке.
К примеру: если урл такой /admin/menus_manager, то компонент menus_manager и экшн index.
, то все несколько иначе, поскольку в админке урл точно соответствует компоненту, то во фронтенде - компонент gallery может быть активирован на урл: /photos
Поэтому мы тоже сначала смотрим урл и находим соответствующий урл на главной в админке в списке активированных компонентов, если такого урла там нет, значит компонент PAGES, в том числе и для главной страницы.
К примеру: если урл такой
, то компонент pages, поскольку ни один компонент на такой урл не активирован, но зато есть обычная страница на таком урле.
Для понимания рассмотрим скриншот:
Фактически по данному скриншоту ясно, что если страница не начинается на forum, map, novosti, theme, galereya то значит сейчас запущен компонент Pages.
К примеру для страниц которые начинаются на novosti или novosti/2017 то вызывается компонент news
Теперь важно понять
где лежит файл компонента
(хотя возможно его мы и трогать не будем, но знать нужно).
Как мы определили название компонента, значит мы можем найти и его контроллер, то есть где есть основной код и логика модуля.
Файл находится по адресу:
/modules/components/front_end/имя_компонента/controller_component_имя_компонента.php
то есть если компонент news, то его контроллер
/modules/components/front_end/news/controller_component_news.php
Как вариант если этот файл пустой, то значит он в ядре находится, поэтому просто спереди добавляем user_cms
/user_cms/modules/components/front_end/news/controller_component_news.php
Шаг 3: определяем файл темы
По умолчанию файл темы: index.tpl, так и будет в 99% случаев.
То есть файл темы
а если тема из ядра (их всего две: default или default_admin), файл темы тут (как обычно приставка user_cms):
Но файл темы можно изменить
, чаще всего это делается если компонент Pages, для этого нужно на странице редактирования страницы открыть вкладку вид и посмотреть поле: файл темы, периодически бывает для главной создают другой файл темы
, например main.tplсоответственно он находится по адресу:
Шаг 4: открываем файл темы
Определили файл темы, открываем его.
И ищем нужный нам элемент, который мы хотим отредактировать.
К примеру нам нужно поменять телефон в шапке, чаще всего он в файле темы, поэтому мы его с легкостью и меняем в самой теме, также периодически меню сайта (боковое или вернее) тоже может быть в теме, их мы тоже меняем прям тут, или даже с помощью компонента: Менеджер тем, откройте его и поймете что к чему.
Шаг 5: Редактирование компонента
что если наш код очутился вдруг не в теме, а по логике вещей генерируется вместо такого кода (который мы увидели в теме) : [ component ]
Вот тут то нам и понадобится знать расположение компонента (см. Шаг 2), также где расположен контроллер компонента есть папка views, там html код, обычно он и нужен.
если править надо PHP код, то открывайте контроллер и ищите нужный экшен.
Шаг 6: Редактирование блока
что если наш код очутился вдруг не в теме, а по логике вещей генерируется вместо такого кода (который мы увидели в теме) : [ position=left_side ]
Вот тут то нам и понадобится знать расположение блока (см. Шаг 2), аналогичная логика как с компонентами, только в папке blocks
Только нужно узнать какой блок активирован в данной позиции, для этого открываем страницу Модули (в админке) и смотрим блоки, которые активированы в данной позиции (из примера выше, позиция у нас left_side).
Если в данной позиции активировано несколько блоков, то их можно поменять местами (используя стрелочки в столбце Порядок загрузки) и таким образом понять в каком блоке наш элемент.
Название блока узнаем при наведении на текст block в столбце тип, в нашем случае вывелось слово "menu", то есть у нас блок menu, соответственно он (по аналогии с компонентами) находится тут:
/modules/blocks/
/controller_block_
menu
.php
или в ядре
/user_cms/modules/blocks/
/controller_block_
menu
.php
Шаг 6: Редактирование плагина
что если наш код очутился вдруг не в теме, а по логике вещей генерируется вместо такого кода (который мы увидели в теме) : { plugin:feedback=43 }
Вот тут то нам и понадобится знать расположение плагина (см. Шаг 2 или шаг 6), аналогичная логика как с блоками, только в папке plugins
Понять какой это плагин легко, его имя (папка) между двоеточием и знаком равно, то есть в нашем случае плагин feedback.
Соответственно он (по аналогии с блоками) находится тут:
/modules/plugins/
/controller_plugin_
feedback
.php
или в ядре
/user_cms/modules/plugins/
/controller_plugin_
feedback
.php
Шаг 7: Редактирование аддонов или хелперов
Аддоны и хелперы редко приходится редактировать (изменять), аддоны находятся в папке addons (кэп!!), понять какие в данный момент аддоны запущены можно открыв страницу Модули.
Хелперы всегда вызываются из контроллеров, находятся они в папке /user_cms/helpers/, пользовательские хелперы тут: /modules/helpers/
Шаг 7: Редактирование ядра
Бывает нужно и ядро отредактировать.
В юзерцмс есть три файла которые друг друга наследуют:
1. пользовательский (самый последний) - /modules/core.php, он наследуюется с ядра сборки
2. ядро сборки (например версия usercms для работы с MySQL), находится тут: /user_cms/user_cms_core_edition.php, оно наследуется с главного ядра
3. главное ядро /user_cms/user_cms_core.php, в нем весь смак!
Конечно когда вы понимаете
.
Видеоурок по теме смотреть на Ютуб -