У меня есть компонент, который некоторое время успешно создавал и отображал меню. Теперь я должен предусмотреть специальный случай, который разделяет всю ту же логику, но требует немного работы перед тем, что уже существует. То, что я хотел бы сделать, это создать новое действие компонента, которое выполнит необходимую предварительную обработку, добавит к общей логике, чтобы завершить вычислительную часть, а затем визуализировать через существующий шаблон частично (когда все сказано и сделано, это все еще меню любой другой - это займет немного больше работы, чтобы построить его).
К сожалению, я не могу найти способ сделать это.
Вот разбивка файла / кода высокого уровня, которая у меня есть сейчас:
#
# navigation/actions/components.class.php
#
public function executeMenu() {
/**
* This method runs most of the menus and does most of the work
* that's required of the special case.
*
* Once complete, of course, it renders through navigation/templates/_menu.php
*/
}
public function executeSpecialMenu() {
/**
* Do some preparatory work and delegate to executeMenu()
* to finish up and render the menu. I'd like this action
* to render through the _menu.php partial as well.
*/
}
#
# templates/layout.php
#
<?php include_component( 'navigation', 'menu', array( 'menu' => 'Entity Type' ) ) ?>
/** SNIP */
<?php include_component( 'navigation', 'SpecialMenu' ) ?>
Любой вклад будет высоко ценится.