
PHP bufferovaní výstupu
Zdar ještě jednou a snad naposledy.
Mám poměrně rozsáhlý php skript, který generuje určitý výstup.
A já tento výstup potřebuji v systému umístit někam "dozadu".
Nebudu rozebírat podrobně důvody, které mě k tomuto vedou (jedná se o dočasnou tabulku, která v tom čase není dostupná).
Proto potřebuji do HTML prvku, který je generovaný již dříve doplnit poměrně složitý obsah (tlačítka, Java-skripty atd...)
Taktiku, kterou jsem si vyhlídl je následující:
1 ) Zabuferuji obsah výstupu do proměnné v PHP.
2 ) Tento obsah umístím po načtení stránky do konkrétního DIVu.
Metodu 2) Znám a vypadá takto:
<script>
$(document).ready(function() {
$('#boxuserdef_1').append(\'<? echo ob_end_flush();?> \');
</script>
Ovšem nevím, jak pozdržet obsah v PHP, aby se přestal posílat na výstup a poslal se až v bodě 2.
Důvodem, proč jsem se rozepsal, je , že možná někoho napadne to vymyslet lépe.
Pokud ne, prosím ukažte mi kód pro zapnutí bufferovaní a následně vystřelení bufferu v okamžiku, do místa kde potřebuji.
Předem díky i za to, že jste to vůbec četli.
Ja teda presne neviem o čo ide, ale ten DIV sa nedá na stránke skryť (hidden) a zobraziť ho až bude potrebné?
Ne, ne. Takto.
Systém se skládá z několika modulů.
Modul pro generování hlavičky..... levého obsahu, těla stránky atd.....
A já potřebuji dostat to, co se generuje až v čase modulu těla stránky do levého obsahu.
A levý obsah už je předem vygenerovaný (ale ne to co tam chci dodat).
Stačí mě příklad, jak pracovat s bufferingem php.
Vyzkoušel jsem:
Přiznám se, že přesně nerozumím co potřebuješ, jelikož jsem hodně unavený. Ale z toho co jsem pochytil - nebude řešení AJAX?
Načteš stránku kde bude nějaký
a potom až bude DOM ready, tak projedeš všechny .lazy-load a vyvoláš AJAX request na URL z data-route, na té URL provedeš danou akci/výstup a výstup vložíš do divu.
EDIT:
Jinak s bufferem se pracuje následovně
Nakonec jsem to vyřešil ryze klientskou cestou:
http://pc.poradna.net/q/view/1086267-jquery-dotaz- pro-pokrocile
Přesunul jsem obsah načteného DIVu do toho správného klonováním.
Oproti tvoji metodě je to o dost rychlejší, protože tam nepracuje Ajax.