instantsoft / icms2

Self-hosted Site Management System
https://instantcms.ru
GNU General Public License v2.0
294 stars 120 forks source link

Отрисовка полей из своей директории #1255

Closed GoodMade closed 3 years ago

GoodMade commented 3 years ago

Сейчас чтобы пдгружать поля из своей директории (например system/obj/fields), мне нужно вносить правки в файл autoload.php. А чтобы подгрузить файлы шаблонов хотябы отдельно от общего списка файлов-полей но в своей директории внутри директории полей мне нужно редактировать функцию renderFormField в файле template.php. Хотелось бы иметь возможность подгружать поля из своих директорий. Например: system/controllers/obj/fields templates/default/controllers/obj/fields

fuzegit commented 3 years ago

Сейчас чтобы пдгружать поля из своей директории (например system/obj/fields)

Зачем? Для полей есть своя директория.

А чтобы подгрузить файлы шаблонов хотябы отдельно от общего списка файлов-полей но в своей директории внутри директории полей мне нужно редактировать функцию renderFormField в файле template.php.

Зачем?

Помимо вообще всей целесообразности всего этого, кто мешает подключать поля, шаблоны, вообще всё что угодно откуда угодно вручную? Тем более подключение шаблонов возможно откуда угодно и как угодно.

Если есть вопросы по подключению, можете задать их на форуме. На текущий момент я не вижу ни одной причины, чтобы править как renderFormField, так и autoload

GoodMade commented 3 years ago

У меня есть компонент. В котором аналогично типам контента и полям есть типы объектов и поля. Тут у меня функции и поля, копии с компонента content, но для типов контента они не предназначены, предназначены только для работы внутри компонента. Поэтому наличие их в общем списке с полями типов контента повлечёт ярый гнев пользоватлей моего компонента )) Я не могу подгрузить шаблон поля со своей директории, потому что за его отрисовку отвечает функция внутри системного файла, и как повлиять на на нё без правки этого файла, я не знаю.

https://prnt.sc/v7yjtz https://prnt.sc/v7yktr

Впрочем, расположение шаблонов полей моего компонента в системной директории шаблонов полей на вывод в списке полей типов контента не повлияют, а правка autoload для расположения php файлов полей в своей директории можно чситать компромиссом ))

fuzegit commented 3 years ago

Я не вижу причин для правок системных файлов вообще. Тем более функции рендера формы. Если уж так нужна автозагрузка, подключите автолоад от composer, InstantCMS умеет его подхватывать.