Почему выполнение некоторых хуков с возвратом данных происходит, а некоторых без возврата, например, в контенте:
cmsEventsManager::hook("content_add", $ctype); $form = cmsEventsManager::hook("content_{$ctype['name']}_form", $form);
cmsEventsManager::hook("content_add", $ctype); $form = cmsEventsManager::hook("content_{$ctype['name']}_form", $form);
$hooks_html = cmsEventsManager::hookAll("content_{$ctype['name']}_item_html", $item); if ($hooks_html) { echo html_each($hooks_html); } else { echo 'Проблема при загрузке хука.'; }
каждый хук имеет свою функцию или задачу и результатом выполнения этой задачи, могут быть возврат данных или true/false или ничего. В случае, если нам надо просто внести изменения в базе данных, то достаточно выполнить хук и забыть о его существовании. В случае, когда у нас есть часть данных и нам нужно их обработать определённым методом или способом, тогда хук возвращает результат своих действий для дальнейшей работы.Почему выполнение некоторых хуков с возвратом данных происходит, а некоторых без возврата
у каждого типа контента свой набор таблиц в базе данных. Чтобы вносить изменения или получать данные для конкретного типа контента, а не для всех сразу.почему индивидуальный хук для для каждого вида контента имеется (2 строка), а общего нет
Спасибо за ответ, но это все понятно. Я привел хуки, которые создали авторы в контенте.а файл content_{$ctype['name']}_form существует? Если вы сами его создали то нужно добавить в manifest.php
Тут я в целом с Вами согласен, но ведь могут быть задачи, где вернуть данные все же потребуется, тем более, что метод cmsEventsManager::hook по сути данные возвращает.каждый хук имеет свою функцию или задачу ...
Да, но вот только в общем хуке обработать данные для каждого вида контента можно, а в данном случае придется дублировать одни и теже действия в каждом хуке. Кроме того, если пользователь создаст новый вид контента (в админке), то ему придется вручную создать ("ковырятся" в коде) еще один хук для своего контента, чтобы с его контентом проводились аналогичные действия.Чтобы вносить изменения или получать данные для конкретного типа контента, а не для всех сразу.