Как поставить сапу на сайт следующей конструкции...

12
Евгений Иванов
На сайте с 26.07.2006
Offline
272
899

Для примера приведу вырезки из php файликов сайта

Файл шаблона

<? $module->title(); ?>
<? $module->description(); ?>
<? $module->keywords(); ?>

Файл функций страниц -


function description()
{
global $config;

function keywords()
{
global $config;
echo('<meta name="keywords" content="');
if(KEYWORDS=='')
{
echo($config['title']['keywords']);
}//if(DESCRIPTION=='')
else
{
echo(KEYWORDS);
}//else(KEYWORDS=='')
echo('">');
}//function keywords()

function title()
{
global $config;
echo('<title>');
echo(TITLE);
echo('</title>');
}//function title()

Файл подключения к базе ну и вытаскивания всякой фигни

<?
class code{

function content()
{
global $config;
$table=$config['database']['prefix'].'mod';
$query=mysql_query("SELECT id FROM $table WHERE page = '".NAME."' AND module = 'code' LIMIT 0,1;");
$t=mysql_fetch_row($query);
$table=$config['database']['prefix'].'code';
$query=mysql_query("SELECT code FROM $table WHERE id = '$t[0]' LIMIT 0,1;");
$t=mysql_fetch_row($query);

eval($t[0]);

}//function content()

function title()
{
global $config;
echo('<title>');
echo($config['title']['title'].' - '.TITLE);
echo('</title>');
}//function title()

function keywords()
{
global $config;
echo('<meta name="keywords" content="');
if(KEYWORDS=='')
{
echo($config['title']['keywords']);
}//if(DESCRIPTION=='')
else
{
echo(KEYWORDS);
}//else(KEYWORDS=='')
echo('">');
}//function keywords()
}//class code
?>

config.php

$config['title']['title']='';
$config['title']['description']='описание';
$config['title']['keywords']=ключи';

Если в файле шаблона просто писать <? echo "asd"; ?> всё выводит, если в index.php внизу писать <? echo "asd"; ?> всё работает, вставляю код сапы - не работает :(

Wap.Click / Вап.Клик / Я - рядом!
A
На сайте с 14.05.2008
Offline
8
#1

Скиньте немного кода из index.php в личку.. Посмотрю

Беру сайты на обмен статьями (/ru/forum/301667) Верстка сайтов на ModX (/ru/forum/301167)
V2D2
На сайте с 02.07.2007
Offline
67
#2

больше кода надо :) нужен непосредственно вывод функции content()

Евгений Иванов
На сайте с 26.07.2006
Offline
272
#3

function content()
{
echo(TEXT);
}//function content()

function content()
{
global $config;
$table=$config['database']['prefix'].'mod';
$query=mysql_query("SELECT id FROM $table WHERE page = '".NAME."' AND module = 'code' LIMIT 0,1;");
$t=mysql_fetch_row($query);
$table=$config['database']['prefix'].'code';
$query=mysql_query("SELECT code FROM $table WHERE id = '$t[0]' LIMIT 0,1;");
$t=mysql_fetch_row($query);

eval($t[0]);

}//function content()

:)

V2D2
На сайте с 02.07.2007
Offline
67
#4

ну вообщето то же не то что надо, надо видеть всю структуру сайта

но как вариант попробовать так

define('_SAPE_USER', 'XXXXXXXXXXXXX'); 

require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape = new SAPE_client();
$tmp = $sape->return_links();

function content()
{
global $tmp;
echo(TEXT);
echo $tmp;
}//function content()
Евгений Иванов
На сайте с 26.07.2006
Offline
272
#5

есть индекс

есть класс соединения с базой страниц code

есть класс вывода из базы pages

есть шаблон

класс code

function content()
{
global $config;
$table=$config['database']['prefix'].'mod';
$query=mysql_query("SELECT id FROM $table WHERE page = '".NAME."' AND module = 'code' LIMIT 0,1;");
$t=mysql_fetch_row($query);
$table=$config['database']['prefix'].'code';
$query=mysql_query("SELECT code FROM $table WHERE id = '$t[0]' LIMIT 0,1;");
$t=mysql_fetch_row($query);

eval($t[0]);

}//function content()

класс pages

function content()
{
echo(TEXT);
}//function content()

шаблон

<? $m=MODULE; $module=MODULE; $module=new $m(); ?>
<? $module->title(); ?>
<? $module->description(); ?>
<? $module->keywords(); ?>

<? $module->content(); ?>

index.php

<?

require_once('global.php');
require_once('config.php');
require_once('class/class_pages.php');
$pages=new pages();

$action=$_GET['action'];
$action=explode('/',$action);

$mysql = MYSQL_CONNECT($config['database']['host'],$config['database']['login'],$config['database']['pass']) OR DIE("Не могу создать соединение ");
@mysql_select_db($config['database']['name'], $mysql) or die("Не могу выбрать базу данных ");
$id=1;

if($action[0]=='')
{
$id=1;
}//if($action[0]=='')
else
{

$ok=inj($action[0]);
if($ok==1)
{
$table=$config['database']['prefix'].'mod';
$query=mysql_query("SELECT id FROM $table WHERE page = '$action[0]' LIMIT 0,1;");
$t=mysql_fetch_row($query);
if($t[0]=='')
{
foreach($action as $index => $val)
{
if($val!='')
{
$ok=inj($val);
if($ok==1)
{
$table=$config['database']['prefix'].'pages';
$query=mysql_query("SELECT id FROM $table WHERE name = '$val' AND ref = '$id' AND active = '1' LIMIT 0,1;");
$t=mysql_fetch_row($query);
if($t[0]=='')
{
//$id=0;
}//if($t[0]=='')
else
{
$id=$t[0];
}//else($t[0]=='')
}//if($ok==1)
// echo("$index -> $val <br>");
}//if($val!='')
}//foreach($action as $index => $val)
}//if($t[0]=='')
else
{
$table=$config['database']['prefix'].'pages';
$query=mysql_query("SELECT id FROM $table WHERE name = '$action[0]' AND ref = '$id' AND active = '1' LIMIT 0,1;");
$t=mysql_fetch_row($query);
if($t[0]!='')
{
$id=$t[0];
}//if($t[0]!='')
}//else($t[0]=='')
}//if($ok==1)
}//else($action[0]=='')

if($id>0)
{
$table=$config['database']['prefix'].'pages';
$query=mysql_query("SELECT title,name,text,description,keywords,active,tpl,tp,module FROM $table WHERE id = '$id';");
$t=mysql_fetch_row($query);
if($t[5]=='1')
{
define('TITLE',$t[0]);
define('NAME',$t[1]);
define('TEXT',$t[2]);
define('DESCRIPTION',$t[3]);
define('KEYWORDS',$t[4]);
define('TPL',$t[6]);
define('TP',$t[7]);
define('MODULE',$t[8]);
if(MODULE!='pages')
{
require_once('class/class_'.MODULE.'.php');
}
require_once('templates/'.TPL.'/index.tpl');
}//if($t[4]=='1')
else
{
$pages->error(404);
}//else($t[4]=='1')
}//if($id>0)
else
{
$pages->error(404);
}//else($id>0)

mysql_close($mysql);


?>
V2D2
На сайте с 02.07.2007
Offline
67
#6

а то что я написал не получилось?

Евгений Иванов
На сайте с 26.07.2006
Offline
272
#7

неа ( в обще перестаёт сайт грузиться после того места где вставляеться саповская переменная

Anarchist
На сайте с 23.07.2008
Offline
185
#8

а если в код функции запихнуть?

может и туплю конечно... хз...

function content()
{

define('_SAPE_USER', 'XXXXXXXXXXXXX');
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');
$sape = new SAPE_client();
$tmp = $sape->return_links();
echo(TEXT);
echo $tmp;
}
V2D2
На сайте с 02.07.2007
Offline
67
#9

если очень актуально, пиши в личку, но надо будет полный фтп доступ

LepRiKonS
На сайте с 13.07.2007
Offline
44
#10

А инклудом не получается что ли?:)

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий