<MyRusakov.ru />

WordPress 6 с Нуля до Гуру

WordPress 6 с Нуля до Гуру

Этот курс научит Вас созданию самых разных сайтов на самой популярной в мире CMS - WordPress. Вы увидите установку и настройку локального сервера, разбор каждой настройки, каждой кнопки и каждого пункта меню в панели WordPress.

Также Вы получите и всю практику, поскольку прямо в курсе с нуля создаётся полноценный Интернет-магазин, который затем публикуется в Интернете. И всё это прямо на Ваших глазах.

Помимо уроков к курсу идут упражнения для закрепления материала.

И, наконец, к курсу идёт ценнейший Бонус по тому, как используя ChatGPT и создавая контент для сайта, можно выйти на пассивный доход. Вы наглядно увидите, как зарегистрироваться в ChatGPT (в том числе, и если Вы из России), как правильно выбрать тему для сайта, как правильно генерировать статьи для него(чтобы они индексировались поисковыми системами) и как правильно монетизировать трафик на сайте.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Форум сайта MyRusakov.ru

Разделение дизайна и php
31.10.2011 05:13:00 Разделение дизайна и php Сообщение #1
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Михаил, вот решил переписать уже написанное, что бы и работать было комфортнее и что бы было всё так сказать по полочкам разложено.
Я прочитал о tpl, но мне кое что не понятно.
Как правильно выводить сами файлы шаблонизаторы?
и как вообще сделать взаимодействите файла обработчика и файла шаблонизатора?
Думаю объяснил понятно мою проблему) Заранее спасибо)
Профиль
31.10.2011 12:21:52 Разделение дизайна и php Сообщение #2
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Вам будет достаточно использования подобной функции:
protected function getTemplate($name) {
ob_start();
include ("templates/".$name.".tpl";
$text = ob_get_clean();
return $text;
}

Здесь принимается название файла шаблона, а возвращается содержимое tpl-файла. А далее, всё, что нужно - это заменить через str_replace() все элементы на нужный HTML-код (либо текст).
Профиль
31.10.2011 21:09:27 Разделение дизайна и php Сообщение #3
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Спасибо))Буду работать))
Профиль
31.10.2011 23:10:23 Разделение дизайна и php Сообщение #4
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Михаил, я так понимаю это метод для класса?
Профиль
31.10.2011 23:13:14 Разделение дизайна и php Сообщение #5
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Да, это метод из класса, который занимается обработкой файлов-шаблонов. Причём у этого класса целая армия классов-наследников, каждый из которых отвечает за свою страницу (главная страница, страница со статьёй, страница с добавлением сообщения на форум и так далее).
Профиль
31.10.2011 23:14:46 Разделение дизайна и php Сообщение #6
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Я не могу понять, как и откуда взять переменную $name
Профиль
31.10.2011 23:16:20 Разделение дизайна и php Сообщение #7
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Или же это свойства класса?
Профиль
31.10.2011 23:18:15 Разделение дизайна и php Сообщение #8
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Это названия файла-шаблона. Например, Вы назвали файл user_panel.tpl. Значит, Вам нужно передавать параметр "user_panel".
Профиль
31.10.2011 23:24:06 Разделение дизайна и php Сообщение #9
brussens

brussens

Мега-мастер

Мега-мастер

Дата регистрации:
11.10.2011 22:50:07

Сообщений: 438

Ну вот вообшем вот так получается?
Сам класс:
<?php
class PAGEConstruct {
protected $name;
protected function __construct($name) {
$this->name = $name;
}
protected function getTemplate($this->name) {
ob_start();
include ("/tpl/".$this->name.".tpl";
$text = ob_get_clean();
return $text;
}

}
?>

index.php
<?php
require_once "/classes/class.pageconstruct.php";
$footer = new PAGEConstruct('footer');
echo $footer->getTemplate();
?>

Правильно, или что то не так?
Профиль
31.10.2011 23:28:56 Разделение дизайна и php Сообщение #10
Admin

Admin

Администратор

Администратор

Дата регистрации:
27.05.2010 21:23:42

Сообщений: 3063

Не то, чтобы неправильно, но я это делаю, например, по-другому. Вся сборка страниц идёт в отдельных классах (1 базовая страница - 1 класс), а не в index.php. А в index.php анализируется только GET-запрос и создаётся соответствующий объект нужного класса. А дальше вызывается метод у этого объекта, который и возвращает весь код страницы. Затем этот код просто выводится на страницу.
Профиль