Изменить шаблон формы

InstantCMS 2.X
#1 11 февраля 2023 в 10:55

Привет. Подскажите, можно ли поменять шаблон формы опций компонента в админке. То есть сейчас она тут \templates\modern\assets\ui\form_fields.tpl.php. И где файл, который обрабатывает сабмит этой формы?

#2 11 февраля 2023 в 20:06

 Lora, в движке есть метод для вывода формы renderForm в классе template

Его вы вызываете в шаблоне файла опций docs.instantcms.ru/dev/controllers/backend/options В этом случае придется использовать свой экшн обработки опций компонента

В него можно дополнительным параметром передать имя файла шаблона формы github.com/instantsoft/icms2/blob/7466b7a9a7cb318225d7865b8c8f552167cd6b4c/system/core/template.php#L2431

Например, form_my

Затем в шаблоне модерн (так как он является родительским для admincore) создаете такой файл на основе обычного form. Или в admincore. Или в default (он родительский для всех шаблонов) И в нем уже подменяете ссылку на свой шаблон списка полей формы github.com/instantsoft/icms2/blob/7466b7a9a7cb318225d7865b8c8f552167cd6b4c/templates/admincoreui/assets/ui/form.tpl.php#L35

И где файл, который обрабатывает сабмит этой формы?

Lora

В вашем экшене, а если используете стандартный путем добавления

  1. public $useDefaultOptionsAction = true;

то тут github.com/instantsoft/icms2/blob/7466b7a9a7cb318225d7865b8c8f552167cd6b4c/system/core/backend.php#L208

Добавлено спустя 4 минуты

Перечитал, сумбурно получилось :)

Если кратко, используйте свой экшн опций, и свой шаблон для вывода формы. В этом шаблоне при renderForm передайте свое имя формы в атрибутах. Создайте этот файл формы, и в нем заинклудьте свой шаблон полей. 

#3 12 февраля 2023 в 19:36

Перечитал, сумбурно получилось :)

Zau4man

Это точно). Но спасибо за ссылку на доки. Не смог её найти. Теперь всё более менее понятно).

Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.