зашел на ирбис посомтрел про буферизацию и попробовал сделать у себя.
<?php
ob_start();
$salutation = "sdssdsdkl";
/**
* Подключаем шаблон приветствия
* Includes a salutation template
*/
$content = ob_get_contents();
ob_end_clean();
/**
* Подключаем шаблон
* Includes a template
*/
include './index.php';
шаблон грузится, но данные не передаются?? в чем может быть проблема?
Спустя 31 минута, 39 секунд (17.05.2011 - 00:30) Krevedko написал(а):
а что ты хотел ?
ты пишешь echo $content ? а что должно выводится ? ничего. У тебя же только присвоение переменной.
обычно буферизация используется с инклюдами. сунул инклюд в буфер, а потом пишешь в нужном месте echo $content; и вуаля...постоянно пользуюсь этим, чтобы вывести хтмл код между хидером и футером, так как ненавижу резать сайт на хидер, контент и футер. У меня обычно хидер-футер в одном и между ними контент. И нету равной верстки
ты пишешь echo $content ? а что должно выводится ? ничего. У тебя же только присвоение переменной.
обычно буферизация используется с инклюдами. сунул инклюд в буфер, а потом пишешь в нужном месте echo $content; и вуаля...постоянно пользуюсь этим, чтобы вывести хтмл код между хидером и футером, так как ненавижу резать сайт на хидер, контент и футер. У меня обычно хидер-футер в одном и между ними контент. И нету равной верстки
Спустя 59 минут, 40 секунд (17.05.2011 - 01:30) inpost написал(а):
quickxyan
Буфер твой работает. Ты ничего не вывел, поэтому переменная пустая.
Буфер твой работает. Ты ничего не вывел, поэтому переменная пустая.
Спустя 7 часов, 29 секунд (17.05.2011 - 08:31) quickxyan написал(а):
в шаблоне. завтыкал выложить. когда-то делал именно копипастя у ирбиса - все получалось в буфер писалось, а сейчас что-то не пойму.
<div align="left" style="margin-left:20px; margin-right:20px; margin-top:50px;">
<?php echo $content ?>
</div>
Спустя 1 минута, 26 секунд (17.05.2011 - 08:32) Krevedko написал(а):
и что ты хочешь чтобы выводило ? если у тебя в буфере только присвоение переменной. я тебе уже выше написал, инпост тебе написал...
Спустя 16 минут, 20 секунд (17.05.2011 - 08:48) quickxyan написал(а):
Krevedko
а разве, то что присваивается переменным не пишется в буфер для вывода или надо сделать так?
а разве, то что присваивается переменным не пишется в буфер для вывода или надо сделать так?
<?php
ob_start();
$salutation = "sdssdsdkl";
echo $salution;
$content = ob_get_contents();
ob_end_clean();
/**
* Подключаем шаблон
* Includes a template
*/
include './index.php';
Спустя 2 минуты, 40 секунд (17.05.2011 - 08:51) linker написал(а):
quickxyan
"Буфер вывода", а теперь логически подумай, что нужно сделать чтобы что-то туда попало? Конечно же нужно что-то напечатать на экране (echo, print, printf и т.д.)
"Буфер вывода", а теперь логически подумай, что нужно сделать чтобы что-то туда попало? Конечно же нужно что-то напечатать на экране (echo, print, printf и т.д.)
Спустя 5 минут, 6 секунд (17.05.2011 - 08:56) quickxyan написал(а):
тогда промашка ясна. спасибо!
Спустя 56 минут, 2 секунды (17.05.2011 - 09:52) quickxyan написал(а):
все работает, но вот тут возникает вопрос.
если пишу
выводится в шаблон и еще выводится перед макетом.
если пишу
$text="text";
echo $text;
выводится в шаблон и еще выводится перед макетом.
Спустя 14 минут, 48 секунд (17.05.2011 - 10:07) linker написал(а):
А ты думал как, что первое вывелось, то и отобразилось. Ты же не недоумеваешь когда пишешь
echo "Hello ";, то у тебя выводится Hello world, а не world Hello. Нет никакой разницы.
echo "world";
Спустя 9 минут, 56 секунд (17.05.2011 - 10:17) quickxyan написал(а):
бррр ничего не понимаю)
я хотел в один шаблон вставлять разные страницы.
я наверное жестко туплю, но никак не пойму в чем суть. если без echo, то на страницу ничего не выводится, если с ним, то выводится 2 раза. один там где надо, а другой переед шаблоном.
что я тут делаю не так?
я хотел в один шаблон вставлять разные страницы.
я наверное жестко туплю, но никак не пойму в чем суть. если без echo, то на страницу ничего не выводится, если с ним, то выводится 2 раза. один там где надо, а другой переед шаблоном.
что я тут делаю не так?
Спустя 7 минут, 36 секунд (17.05.2011 - 10:24) linker написал(а):
ob_start();
echo 'world';
$c = ob_get_contents();
ob_end_clean();
echo 'Hello ' . $c;
Спустя 1 минута, 17 секунд (17.05.2011 - 10:26) Krevedko написал(а):
$text="text";
echo $text;
пиши в буфер. тогда echo $content в середине шаблона выведет текст в середине
echo $text;
пиши в буфер. тогда echo $content в середине шаблона выведет текст в середине
Спустя 30 минут, 21 секунда (17.05.2011 - 10:56) quickxyan написал(а):
все по примеру linker заработало, но все равно не пойму почему у меня не работало, ведь все то же было.
ну и ладно главное, что заработало.
Огромное спасибо Krevedko, linker и inpost
ну и ладно главное, что заработало.
Огромное спасибо Krevedko, linker и inpost
Спустя 8 минут, 42 секунды (17.05.2011 - 11:05) Krevedko написал(а):
ну вообщем ты понял. эхи внутри буфера не выводятся, зато потом ты можешь все это дело записать в переменную и выводить там, где тебе надо. а ведь их может быть много и тут начинается самое интересное. можно и меню боковое так выводить и контент например
Спустя 27 минут, 53 секунды (17.05.2011 - 11:33) quickxyan написал(а):
Krevedko
у меня нету бокового меню) я вот еще немного попишу и выставлю в раздел ОЦЕНИТЕ. чтобы мне по рукам надавали и расказали, что неправильно
у меня нету бокового меню) я вот еще немного попишу и выставлю в раздел ОЦЕНИТЕ. чтобы мне по рукам надавали и расказали, что неправильно

_____________
печатаю со скоростью 320 минут в знак...
плюсуем карму не стесняемся