IPB

Здравствуйте, гость ( Вход | Регистрация )

> Подключение PHP файла в шаблон, Подскажите
Ernest
сообщение Aug 23 2008, 18:42
IP: 10.10.0.0/16 | Сообщение #1


Пикачу, проголодался
*****

Группа: Members
Сообщений: 882
Регистрация: 20-August 04
Из: Красноярск
Пользователь №: 95



Вес:   4 кг  
Удалено: 18.41%


Есть четыре файла
Код
index.php
main.html
template.php
block.php


Что есть в index.php!?

Код
$tpl->load('main.html')


Этот код обрабатывает, template.php? находит этот файл получает его содержимое и выводит на экран, НО...
В файле main.html есть строка

Код
Сюда {block.php} нужно вставить php файл block.php


Сам файл block.php содержит вывод данных из массива.
Вопрос: Как же сделать, чтобы в main.html, вместо {block.php} - вставилась ссылка или что то вроде этого на файл block.php.

Чтобы, когда template.php получил содержимое файла main.html, нашёл там {block.php} и сделал так что именно в это место вставиться результат того, что произойдёт в block.php?

Уже час ломаю голову - не могу придумать.



---------------23rd August 2008 - 19:42-------------

Сори, у меня видимо крыша едет.

Решение:
В файл block.php организовать return со строкой результата!

В файле template.php при нахождении вхождения:
Код
$data = require_once "block.php";


$data вставить вместо вхождения.


--------------------
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов (1 - 2)
unnamed
сообщение Aug 23 2008, 19:06
IP: 10.10.0.0/16 | Сообщение #2


Новичок
*

Группа: Новичок
Сообщений: 24
Регистрация: 14-January 08
Из: вЋ›вЋівЋћ
Пользователь №: 10083



Вес:   5 кг  
Удалено: 20.00%


Правдо не совсем понял что ты имел ввиду, но держи:

CODE
<?php
error_reporting('0');
$temaplate = file_get_contents('./main.html');
function parse($template, $assigned=array())
{
 foreach( $assigned as $word => $replace)
{
 $template = preg_replace( "/\{$word\}/i", "$replace", $template );
}
 return $template;
}

$block = eval(file_get_contents('./block.php')); //  выполняем блок.пхп
// replace
$header = parse($temaplate, array(
     'block.php'  => $block
));

echo $header;

?>



То есть считываем файл main.html на предмет {var}, затем меняeм {var} на выполненый block.php

Думаю, на примере будет понятней:

Файл index.php:

CODE
<?php
error_reporting('0');
$temaplate = file_get_contents('./main.html');
function parse($template, $assigned=array())
{
 foreach( $assigned as $word => $replace)
{
 $template = preg_replace( "/\{$word\}/i", "$replace", $template );
}
 return $template;
}

$block = eval(file_get_contents('./block.php'));

$header = parse($temaplate, array(
     'block.php'  => $block
));

echo $header;

?>


Файл main.html:

CODE
<html>
<head>
<title>test</title>
</head>
<body>
{block.php}  
<br/><br/><br/><br/>
test test
main.html
</body>
</html>


Файл block.php:

CODE
error_reporting('0');
echo 'File block.php included!';


Собственно ничего сложного...




[Added]:
ой, не дочитал до конца, ты уже разобрался =)..

Сообщение отредактировал kib0rg - Aug 23 2008, 19:17


--------------------
Go to the top of the page
 
+Quote Post
Ernest
сообщение Aug 23 2008, 19:41
IP: 10.10.0.0/16 | Сообщение #3


Пикачу, проголодался
*****

Группа: Members
Сообщений: 882
Регистрация: 20-August 04
Из: Красноярск
Пользователь №: 95



Вес:   4 кг  
Удалено: 18.41%


Цитата(kib0rg @ Aug 23 2008, 20:06) *
Правдо не совсем понял что ты имел ввиду, но держи:

Код
<?php
error_reporting('0');
$temaplate = file_get_contents('./main.html');
function parse($template, $assigned=array())
{
 foreach( $assigned as $word => $replace)
{
 $template = preg_replace( "/\{$word\}/i", "$replace", $template );
}
 return $template;
}

$block = eval(file_get_contents('./block.php')); //  выполняем блок.пхп
// replace
$header = parse($temaplate, array(
     'block.php'  => $block
));

echo $header;

?>

То есть считываем файл main.html на предмет {var}, затем меняeм {var} на выполненый block.php

Думаю, на примере будет понятней:

Файл index.php:

Код
<?php
error_reporting('0');
$temaplate = file_get_contents('./main.html');
function parse($template, $assigned=array())
{
 foreach( $assigned as $word => $replace)
{
 $template = preg_replace( "/\{$word\}/i", "$replace", $template );
}
 return $template;
}

$block = eval(file_get_contents('./block.php'));

$header = parse($temaplate, array(
     'block.php'  => $block
));

echo $header;

?>


Файл main.html:

Код
<html>
<head>
<title>test</title>
</head>
<body>
{block.php}  
<br/><br/><br/><br/>
test test
main.html
</body>
</html>


Файл block.php:

Код
error_reporting('0');
echo 'File block.php included!';


Собственно ничего сложного...
[Added]:
ой, не дочитал до конца, ты уже разобрался =)..

Супер, мне твоё исполнение даже больше нравится!


--------------------
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Rambler's Top100
Текстовая версия Сейчас: 15th December 2025 - 20:46
Rambler's Top100