Попытка написать свой движок @ DeForum.ru
DeДверь  
Логин:  
Пароль:  
  Автологин  
   
Разместить рекламу
Письмо админу
Правила | FAQ | *Поиск | Наша команда | Регистрация | Вход
 
 
 Страница 1 из 1 [ Сообщений: 6 ] 
*   Список форумов / Начинка и техника / Программирование для WWW » ответить » создать топик « | »
Автор Сообщение
Gush Муж.
новый человек
0
Сообщения: 78
Зарегистрирован: 13.07.04
Откуда: Мурманск
Заголовок сообщения: Попытка написать свой движок
Сообщение Добавлено: 11 Январь 2005, 21:52:31 
Всем привет.
Пишу движок для сайта. В таблице pages находятся страницы сайта с включёнными в них модулями. Названия модулей обособляются двойными фигурными скобками: {{ и }}.
Например страница с id = 1 может выглядеть вот так:

{{head}}
Текст раздела.
{{foot}}


В таблице modules хранится содержимое модулей.
В index.php сайта на этом движке есть такие строки:

Код:
$result = mysql_query("SELECT * FROM `pages` WHERE `id` = '$id'", $db);
$page_content = mysql_result($result,0,"content");
$result_page = mysql_query("SELECT * FROM `modules`", $db);
while ($row = mysql_fetch_row($result_page)) {
$mod = "{{" . $row[0] . "}}";
$page_content = str_replace($mod, $row[1], $page_content);
}
echo $page_content;


Всё прекрасно работает, если сайт статичен (только HTML).
Вопрос:

Как реализовать вставку php-кода (например голосования) так, чтобы админ сайта мог указывать ссылку на него, как и на другие модули? Типа {{vote}}.

Возможно, include, require_once, create_function... Но у меня не получилось из-за того, что echo не обрабатывает php-код, а выводит его текстом. Может что-то поменять в самой структуре вывода данных? Не использовать echo? Тогда как?
Long Муж.
SubAdmin
Теоретик
17
Сообщения: 4362
Зарегистрирован: 25.04.01
Откуда: Москва
Сообщение Добавлено: 12 Январь 2005, 13:26:24 
1. eval
2. ob_start
зы. задавая подобный вопрос в контексте "пишу свой движок" ты показываешь, что "движок", который напишешь будет мягко говоря фиговенький. не морочь себе и людям голову - используй любой темплейтный движок, благо их количество давно перевалило за десятки.

_________________
Мудрость не всегда приходит с возрастом. Бывает, что возраст приходит один.
Gush Муж.
новый человек
0
Сообщения: 78
Зарегистрирован: 13.07.04
Откуда: Мурманск
Сообщение Добавлено: 12 Январь 2005, 13:39:13 
Спасибо за совет и за функции. Глянем.
А можно по-подробнее описать процесс вывода страниц из MySQL в нормальных движках?
Long Муж.
SubAdmin
Теоретик
17
Сообщения: 4362
Зарегистрирован: 25.04.01
Откуда: Москва
Сообщение Добавлено: 12 Январь 2005, 13:49:29 
Gush, а есть принципиальная разница откуда выводить информацию?

_________________
Мудрость не всегда приходит с возрастом. Бывает, что возраст приходит один.
Gush Муж.
новый человек
0
Сообщения: 78
Зарегистрирован: 13.07.04
Откуда: Мурманск
Сообщение Добавлено: 12 Январь 2005, 19:50:35 

Long писал(а):
Gush, а есть принципиальная разница откуда выводить информацию?


Нет. Главное условие - удобство для админа: он должен указать лишь ссылку на голосование {{vote}}. А то будет инфа инклудиться или браться из базы - не важно. Проблема здесь в том, чтобы вклинить эту инфу в объединение модулей (которые хранятся в MySQL). Код см. выше.
Gush Муж.
новый человек
0
Сообщения: 78
Зарегистрирован: 13.07.04
Откуда: Мурманск
Сообщение Добавлено: 13 Январь 2005, 01:57:43 
Всё, проблема решена. Пересмотрел процесс вывода инфы. Всем спасибо. :gent:
*   Список форумов / Начинка и техника / Программирование для WWW « | » » ответить » создать топик
 Страница 1 из 1 [ Сообщений: 6 ] 
Показать сообщения за:   Поле сортировки  
Найти:
Перейти:  
Уровень доступа: Вы не можете начинать темы. Вы не можете отвечать на сообщения. Вы не можете редактировать свои сообщения. Вы не можете удалять свои сообщения. Вы не можете добавлять вложения.
cron


ООО ДеФорум
При использовании материалов сайта ссылка на DeForum.ru — обязательна.
Проект Павла Батурина ©2001-2077; // Powered by phpBB © 2013 phpBB Group
Rambler's Top100