Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Zarządzanie treścią HTML przy użyciu PHP
gargamel
post
Post #1





Grupa: Zarejestrowani
Postów: 278
Pomógł: 35
Dołączył: 25.06.2010

Ostrzeżenie: (0%)
-----


Jeśli temat był poruszany, to nie krzyczcie bo nawet nie bardzo wiem pod jakim hasłem szukać (IMG:style_emoticons/default/blink.gif)

Niech każda strona serwisu będzie oparta na szablonie:

  1. layoutTop();
  2.  
  3. //Tutaj CSS i JS
  4.  
  5. layoutMid($pageTitle);
  6.  
  7. //Tutaj treść stronki
  8.  
  9. layoutBot();

layoutTop(), layoutMid() oraz layoutBot() to zdefiniowane w innym pliku funkcje wyświetlające HTMLa
Wszystko byłoby proste gdyby ten wyświetlany HTML był niezmienny.
On jednak zależy od tego jakie argumenty w ową funkcję wstawimy.
Np funkcja layoutMid($pageTitle) wygląda następująco:
  1. function layoutMid($pageTitle){
  2. echo "<title>".$pageTitle."</title>\n";
  3. echo "</head>\n";
  4. echo "<body>\n";
  5. }

Do tej pory te przykładowe 3 funkcje były zdefiniowane w pliku .php. Zaistniała jednak konieczność dodania możliwości modyfikacji ich z poziomu strony.
I tak jak wcześniej mówiłem gdyby nie to że w dużej mierze wyświetlany HTML jest uzależniony od przekazanych argumentów (w rzeczywistości jest ich dużo więcej, a funkcje zawierają instrukcje warunkowe itp...) to wrzuciło by się do bazy odpowiedni tekst i po sprawie. Tu jednak jak wiadomo samo to nie wystarczy.

Myślałem o rozwiązaniu tego na zasadzie preg_replace.
Do bazy zapisywało by się np:
  1. <title>[:::TITLE:::]</title>
  2. </head>

a funkcja layoutMid przez preg_replace zamieniałaby [:::TITLE:::] na to co otrzymałaby w $pageTitle.
Rozwiązanie to jednak wydaje mi się raz że dość toporne, 2 że w funkcjach są też instrukcje warunkowe i samo preg_replace już by nie wystarczyło.

Nie chce też od nowa koła wynajdywać, tylko zmodyfikować co mi do modyfikacji było dane najmniejszym nakładem pracy.
Wdzięczny będę więc za wszelakie hasła pod którymi rozwiązania problemu mam szukać, bądź naprowadzenie na jakąś technologię która mi w tym pomoże.
Go to the top of the page
+Quote Post
r4xz
post
Post #2





Grupa: Zarejestrowani
Postów: 673
Pomógł: 106
Dołączył: 31.12.2008

Ostrzeżenie: (0%)
-----


http://www.phpro.org/tutorials/Model-View-...roller-MVC.html ?

  1. <?php
  2.  
  3. class indexController extends baseController {
  4.  
  5. public function index() {
  6. /*** set a template variable ***/
  7. $this->registry->template->welcome = 'Welcome to PHPRO MVC';
  8.  
  9. /*** load the index template ***/
  10. $this->registry->template->show('index');
  11. }
  12.  
  13. }
  14.  
  15. ?>


a potem w pliku masz np.

  1. <title><?php echo $welcome; ?></title>


i jak zrobić to umiejętnie to nawet ta drobna mieszanka php + html razem wygląda przejrzyście

Ten post edytował r4xz 16.02.2011, 21:11:28
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 13:15