Mamy tabele w bazie danych o nazwie "content". W tej tabeli znajdują się kolumny takie jak:
Kod
value | id | tpl
Gdzie:
I. value to wartość treści
II. ID chyba wiadomo
III. Nazwa przydzielonego szablonu
Teraz przykład zastosowania mojej koncepcji a więc dodajemy sobie nowy rekord o wartości kolumny "value":
Kod
title: Nazwa artykuły;
text: Jakiś tekst
author: autor
create-date: 28.08.2005
contact: php.diwi@gmail.com
text: Jakiś tekst
author: autor
create-date: 28.08.2005
contact: php.diwi@gmail.com
Tak więc moja wizja jest taka. W katalogu templates gdzie trzymamy szablony znajdują się podfoldery o nazwach page_"nazwa_szablonu". Wewnątrz każdego takiego podfolderu mamy 2 pliki:
-config.inc
-template.tpl
config.inc przechowuje informacje na temat elementów danej strony, przykładowa budowa dla wyżej wymienionej treści będzie wyglądać tak:
Kod
title | varchar;
text | big_varchar;
author | varchar;
create-date | date_format;
contact | varchar;
text | big_varchar;
author | varchar;
create-date | date_format;
contact | varchar;
Co to oznacza ? A więc część przed znakiem "|" to nazwa elementu a po tym znaku to rodzaj wartości (Przyda się to potem przy tworzeniu formularza do dodawania treści) Dzięki takiemu rozwiązaniu możemy budować podstrony składającą się z bardzo dużej ilości elementów bez ograniczenia związanego z określonymi polami w formularzu dodawania treści.
Co do drugiego pliku template.tpl to odpowiada on za wyświetlanie informacji i może on dla powyższego przykładu wyglądać tak:
Kod
<b>{content.title}</b>
<p>{content.text}</p>
<br />
<span>Autor: <a href="mailto:{content.contact}">{content.autor}</a></span>
<br /><br />
Data dodania: {content.creation-date}
<p>{content.text}</p>
<br />
<span>Autor: <a href="mailto:{content.contact}">{content.autor}</a></span>
<br /><br />
Data dodania: {content.creation-date}
Niestety co do szablonów to ich zawartość jest przydzielana na stałe ale można tworzyć nowe dlatego jest to dosyć elastyczne rozwiązanie.
I teraz pytanie do was czy taka koncepcja jest dobra i czy iść w tą stronę ?
Pozdrawiam