Closed Loadir closed 3 years ago
Отличная идея
Так себе идея. Тогда уж вообще убрать файлы манифестов.
Например, есть компонент "Поиск". Он содержит хуки компонентов "Контент" и "Альбомы" для вывода списка найденных в них записей. Чтобы компонент "Поиск" выводил записи из стороннего компонента, например "Форум", надо в папку system\controllers\search\hooks положить файл forum_before_item.php.
Идея работы CMS в том, что НЕ нужно так делать. Это нужно делать в своём компоненте.
И если два (и более) разработчика будут вносить правки в один файл манифеста, то работать будет тот компонент чей разработчик последним вносил правки.
Разработчики должны творить каждый в своём компоненте. Когда куча разных разработчиков накидает хуков, понять какой хук чей будет крайне сложно.
Идея работы CMS в том, что НЕ нужно так делать. Это нужно делать в своём компоненте.
Идея отказа от файла манифест мне понравилась, в остальном согласен что каждый должен на своем компоненте работать.
Используемая версия InstantCMS: Любые из последних
Идея большинству пользователей InstantCMS будет незаметна. Заметят лишь разработчики дополнений.
Суть идеи в том, чтобы можно было добавлять хуки без изменения файлов manifest.php. Например, есть компонент "Поиск". Он содержит хуки компонентов "Контент" и "Альбомы" для вывода списка найденных в них записей. Чтобы компонент "Поиск" выводил записи из стороннего компонента, например "Форум", надо в папку system\controllers\search\hooks положить файл forum_before_item.php. А чтобы система смогла обработать этот файл, надо прописать его название в файле system\controllers\search\manifest.php. И если два (и более) разработчика будут вносить правки в один файл манифеста, то работать будет тот компонент чей разработчик последним вносил правки.
Можно сделать так, чтобы файл manifest.php получал информацию о всех файлах в папке hooks своего компонента. Например подобным кодом: