Этот вопрос закрыт для ответов, так как повторяет вопрос В чем идея и как работают шаблоны?

Как вложить шаблон в шаблон (исправить мою ошибку проектирования в коде)?

Вот рабочий код.
Но код работает некорректно, а именно не выполняет вложение шаблонов, а выводит сначала кнопку, потом страницу, потом окно.
А идея заключалась в том, чтобы вложить в страницу окно, а в окно вложить кнопку.
Итого у нас будет html страница, на которой будет отображено div "окно", внутри которого будет кнопка - ссылка.
Говоря проще - я собираю интерфейс из шаблонов.
Как вложить шаблон в шаблон (исправить мою ошибку проектирования в коде)?
class HTML
{

// Это составные части
// Страница
static function ShowHTMLPage($htmlPageTitle='', $htmlPageСontent='') {
return include_once $_SERVER['DOCUMENT_ROOT'].'/templates/HTML.html';
}

//  "Окно"
static function ShowWindow($windowTitle='', $windowContent='', $windowFooter='') {
return include_once $_SERVER['DOCUMENT_ROOT'].'/templates/Window.html';
}

// Кнопка
static function ShowButton($buttonHref='#', $buttonText='') {
return include_once $_SERVER['DOCUMENT_ROOT'].'/templates/Button.html';
}



//  Показать окно с сообщением (собираем шаблоны)
static function ShowInformationMessage($messageText='', $buttonHref='#') {
$windowTitle='Сообщение';
$windowFooter=HTML::ShowButton($buttonHref, 'Ok');
$htmlPageСontent = HTML::ShowWindow($windowTitle, $messageText, $windowFooter);
return HTML::ShowHTMLPage($windowTitle, $htmlPageСontent);
}

}


Вызываем
/*
Всё верно подгружается, ошибок нет - но мы видим:
сначала  отдельно:
html код  кнопки
html  код окна
html  код страницы
*/
include_once __DIR__.'/classes/classes.php';
HTML::ShowInformationMessage('Текст сообщения');
  • Вопрос задан
  • 102 просмотра
Решения вопроса 1
usdglander
@usdglander Куратор тега PHP
Yipee-ki-yay
Ответы на вопрос 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
Я же уже отвечал на этот вопрос. С готовым примером кода, где как раз и показано, как вкладывать шаблоны друг в друга.
А вас настолько подкосила детская проблема с путями к файлам на кривом сайте, что сам ответ вы, похоже, даже не прочитали. Зачем было спрашивать?
Ответ написан
Ваш ответ на вопрос

Вопрос закрыт для ответов и комментариев

Потому что уже есть похожий вопрос.
Похожие вопросы