|
|
|
| Подскажите пожалуйста как добавить в обычную переменную целую кучу кода?
Например Цикл и возможно ли это? И как еще с вашей точки зрения это правильно или нет? Или лучше искать другие варианты? | |
|
|
|
|
|
|
|
для: PAUELL
(07.11.2008 в 01:02)
| | "как добавить в обычную переменную целую кучу кода?"
Как еще можно сформулировать Ваш вопрос? | |
|
|
|
|
|
|
|
для: PAUELL
(07.11.2008 в 01:02)
| | не легче ли просто юзнуть функцию?) | |
|
|
|
|
|
|
|
для: PAUELL
(07.11.2008 в 01:02)
| |
$str = "if($a=='qwe') { echo 'УРА!';} else { echo 'Няка!'; }";
eval($str);
|
| |
|
|
|
|
|
|
|
для: DEM
(07.11.2008 в 01:33)
| | Меня просто интересует как это отразиться на производительность да и вообще... | |
|
|
|
|
|
|
|
для: PAUELL
(07.11.2008 в 01:39)
| | Объясните сначало, для чего Вам нужно именно в переменную сувать код? От чего пляшите и к чему хотите прийти в итоге? Всегда есть более разумная альтернатива.. | |
|
|
|
|
|
|
|
для: lorenberg
(07.11.2008 в 01:50)
| | Такс...
Все дело в том что имеется движок (точнее создается), в котором имеется смена оформления. Суть в том что каждый модуль имеет свой титл, ключевые слова (ну конечно еще в зависимости от контента, смотря чего добавили в админке). Этот модуль подключается с помощью include в главном файле index.php где уже аналгично подключаются файл с мета-тегами и файл с дизайном.
В файле дизайн в определенном месте вставлена переменная $content соответственно через которую должен выводиться результат работы модуля.
Все дело в том что в файле модуля извлекаются титлы и ключевые слова и т.д. даже еслия просто вставлю модуль в центр дизайна то не получится вывод титлов. т.е. тилы надо как то отдельно и повыше.
На данном примере все идеально подходит. А если это будет какая-нибуть гостевая книга или каталог с крупногабаритным кодом. Придется выводить код в переменную. Вот собственно и вопрос.
Код главного файла index.php:
<?// Устанавливаем соединение с базой данных
require_once("inc/config.php");
// Подключаем SoftTime FrameWork
require_once("inc/class.config.php");
// Подключаем файл настроек движка
require_once("inc/cms.config.php");
// Получаем параметры из строки запросов
$mod = $_GET['mod'];
$file = $_GET['file'];
// Проверяем правильность переменных $mod и $file
if (!isset($mod) || ($mod=="") || (!file_exists ("mod/".$mod))){$mod = "general";}
if (!isset($file) || ($file=="") || (!file_exists ("mod/".$mod."/".$file.".php"))){$file = "index";}
// Подключаем модуль
require_once ("mod/".$mod."/".$file.".php");
// Подключаем мета-теги
require_once("inc/meta_tegs.php");
// Подключаем тоформление сайта
require_once("themes/".$thema."/index.php");
?>
|
Код одного модуля:
<?
$mname = "Главная страница";
// Извлекаем из базы данных контент станицы
$query = "SELECT * FROM options";
$options = mysql_query ($query);
if (!$options) {
puterror("Ошибка какая-то...");
} else {
// Если ошибок нет, то выводим контент страницы в переменные
$g = mysql_fetch_array($options))
$title = $g['title'];
$keywords = $g['keywords'];
$description = $g['description'];
$content = $g['content']
}
?>
|
| |
|
|
|
|
|
|
|
для: PAUELL
(07.11.2008 в 02:03)
| | А почему бы просто там где должно быть
echo $content;
не использовать include_once "название модуля";
??? | |
|
|
|
|
|
|
|
для: DEM
(07.11.2008 в 02:16)
| | Дак и я про то же, но никак да бы видите в этом модуле выводятся в переменные титлы а они получаются ниже мета-тегов
<?
$mname = "Главная страница";
// Извлекаем из базы данных контент станицы
$query = "SELECT * FROM options";
$options = mysql_query ($query);
if (!$options) {
puterror("Ошибка какая-то...");
} else {
// Если ошибок нет, то выводим контент страницы в переменные
$g = mysql_fetch_array($options))
$title = $g['title'];
$keywords = $g['keywords'];
$description = $g['description'];
$content = $g['content']
}
?>
|
а именно
$title = $g['title'];
$keywords = $g['keywords'];
$description = $g['description'];
|
файл мета тегов:
<?php
// Мета-теги
$meta_tegs = <<<HTML
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="expires" content="0">
<meta name="Document-State" content="Dynamic">
<meta name="Resource-Type" content="document">
<meta name="robots" content="ALL">
<meta name="author" content="$author">
<meta name="description" content="$description">
<meta name="keywords" content="$keywords">
<title><? echo $title; ?></title>
HTML;
?>
|
В этом то вся и загвостка! | |
|
|
|
|
|
|
|
для: PAUELL
(07.11.2008 в 02:24)
| | А почему бы не брать все эти параметры модуля сазу в файле с мета-тегами? Там проводить проверку какой модуль выбран и т.д., ну и в зависимости от этого и соединяться с БД и брать инфу по ужному модулю... | |
|
|
|
|
|
|
|
для: DEM
(07.11.2008 в 02:46)
| | Хорошо спасибо попробую, но хочу спросить а можно ли будет просто большой код просто вывести под одноименную функцию и просто вставлять потом в дизайне? | |
|
|
|
|
|
|
|
для: PAUELL
(07.11.2008 в 03:00)
| | конечно, если я правильно понял вопрос ;) | |
|
|
|