Witam. Jestem w trakcie tworzenia własnego cmsa tylko i wyłącznie na swoje potrzeby. Używam systemu rainTPL oraz prymitywnego modelu mvc. Wydaję mi się że dotychczasowe pisanie skryptu nie jest funkcjonalne. I teraz proźba. Czy moglibyście mi rozpisać jak dla laika jak ma to wyglądać w praktyce?
Ja mam coś takiego: folder includes, templates i plik index.php. W index dołączam wszystkie "moduły" strony typu mysql.php, content.php, menu.php, user.php. Przykład z content i wyświetlanie podstrony:
index.php?option=page&contents=cos-tam
  1. /** ***************/
  2. /////////////////////////////////////////////////////////////
  3.  
  4. $tpl->assign("pageReade", 0);
  5. if(isset($_GET['option']) && $_GET['option'] == "page" && isset($_GET['contents']) && !empty($_GET['contents']))
  6. {
  7. $pageUrl = addslashes($_GET['contents']);
  8. $qu2 = mysql_query("SELECT * FROM contents WHERE alias='$pageUrl'");
  9. $nr2 = mysql_num_rows($qu2);
  10.  
  11. if($nr2 == 1)
  12. {
  13. $qu3 = mysql_query("SELECT * FROM contents WHERE alias='$pageUrl'");
  14. $fa3 = mysql_fetch_array($qu3);
  15.  
  16.  
  17. $tpl->assign("pageReadeTitle", stripslashes($fa3['title']));
  18. $tpl->assign("pageReadeFullText", stripslashes($fa3['fulltxt']));
  19.  
  20. $tpl->assign("pageReade", 1);
  21. }
  22. else $tpl->assign("error", "Nie ma takiej podstrony w bazie");
  23. }
  24.  
  25. /////////////////////////////////////////////////////////////
  26. //*********************************************************//

tpl
  1. {if condition="$pageReade == 1"}
  2.  
  3. <div class="topNews">
  4. <div class="newsFrontLeft"><p>{$pageReadeTitle}</p></div>
  5. <div class="newsFrontRight"></div>
  6. <div class="breake"></div>
  7. </div>
  8. <div class="contentBg">
  9. {$pageReadeFullText}
  10. </div>
  11. <div class="bottomSc"></div>
  12.  
  13. {/if}


I każdy moduł w ten sam sposób. Lecz chcę to zmienić ale nie wiem na jakie inne rozwiązanie się powołać. W szczególności denerwujące są warunki w tpl.

CMS tworzyłem na wzór joomli.
Dużym utrudnieniem było by dla kogoś robić szablon pod ten cms.