Witajcie, odpowiedzi autora nie moge sie doczekac, pozatym nie chce juz rozwijac tego projektu. Niestety trafilem na problem.

Moze ktos z forumowiczow znalazlby rozwiazanie.

http://noface.nazwa.pl/t/ - testowe www
http://noface.nazwa.pl/t/functions_template.rar - klasa

Na wstepie napisze, ze w klasie na koncu skryptu tworze 3 obiekty, gora, menu i tresc glowna.

Przykladowe www z 2 podstronami, AAA i BBB. Kazda podstrona sklada sie z osobno generowanego pliku gory, menu, glownej zawartosci i stopki. Na podstronie BBB umiescilem przekierowanie na AAA, co ktores klikniecie w odnosnikBBB daje niepelna wygenerowana strone, pomaga dopiero kilkukrotne odswiezenie. Z tego co zauwazylem taki incydent nie zdarza sie w innych sytuacjach, tylko w czasie przekierowan ( heder() ).

Przyklad podstrony BBB

  1. <?php
  2.  
  3. $root_path = './';
  4.  
  5. include $root_path . 'includes/functions_template.php';
  6.  
  7. //-------- gora.php gora.php gora.php
  8.  
  9. include $root_path . 'gora.php';
  10.  
  11. //-------- menu.php menu.php menu.php
  12.  
  13. include $root_path . 'menu.php';
  14.  
  15. //-------- tresc glowna tresc glowna tresc glowna
  16.  
  17. header('location: index.php');
  18.  
  19. $template->assign_body('bbb.tpl', 'styl');
  20.  
  21. $template->assign_vars( array(
  22.    'fff' => 'ff',
  23.    ));
  24.  
  25. $template_gora->display_body();
  26. $template_menu->display_body();
  27. $template->display_body();
  28.  
  29. include $root_path . 'stopka.php';
  30. ?>


Z testow wynika, ze jak juz pojawi sie niepelnie wygenerowana strona to jest ona zbudowana od miejsca w podstronie AAA, w ktorym nastapilo przekierowanie w podstronie BBB (Obie podstrony sa takiej samej struktury). Jezeli przesune header("location... wyzej, czyli przed zaincludowanie menu.php, to w czasie bledu, strona AAA generowana jest od menu, brakuje gory. Mowimy caly czas o przypadku klikania w odnosnik BBB, ktory przekierowuje na AAA.

Kod
...
include $root_path . 'gora.php';

//-------- menu.php menu.php menu.php

header('location: index.php');
exit;

include $root_path . 'menu.php';

//-------- tresc glowna tresc glowna tresc glowna

$template->assign_body('bbb.tpl', 'styl');
...



Dodam, ze cache pliki w takich sytuacjach sa puste, tzn jezeli nie wygenerowala sie gora to plik cache gora ma 0KB.

Nie wiem o co chodzi, czy przy przekierowaniu pozostaja jakies informacje w pamieci, czy operacja na plikach nie moze odbywac sie tak szybko. Wg. mnie jezeli nastepuje header - przekierowanie i exit to strona na ktora prowadzi przekierowanie powinna spokojnie od zera ponownie sie budowac, bez wzgledu na to na jakim etapie budowy byla poprzednia strona.