Есть ли способ сделать шаблон, но не визуализировать его в пластинах Stack Overflow

Есть ли способ в тарелки PHP, где я могу сделать шаблон в контроллере, но сделать его с помощью другого контроллера. Скажем, у меня есть два контроллера. HeaderController и SearchController.

SearchController

class Search extends \system\core\BaseController
{
public function Index()
{
$data['text_search'] = 'Search..';

// This $this->template->render down below is what I don't want now
// okay asign the data but do not display the template yet
echo $this->template->render('common/search', $data);
}
}

Фиктивный SearchController должен назначить $ data для шаблона search.tpl, но не отображать / отображать шаблон.

Это где я буду называть вышеупомянутый контроллер

HeaderController

class HeaderController extends \system\core\BaseController
{
public function Index()
{
// Some codes

// Call / load the SearchController and asign it to $data['search']
$data['search'] =  $this->load->controller('common/SearchController');

// and then pass all $data and render/display it.
echo $this->template->render('common/header', $data);
}
}

Есть ли способ сделать это?

0

Решение

На самом деле проблема заключается в том, что вы используете echo в вашем классе. Если ваши «контроллеры» (ну, на самом деле они кажутся комбинацией зрения и контроллера) были return либо содержание, либо Response экземпляр класса, тогда ваша проблема должна исчезнуть.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]