Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] tytuł strony
Forum PHP.pl > Forum > Przedszkole
static
Mam taki prosty system portalowy jednakże chciałbym aby tytuł strony był zależny od przeglądanego działu. Co gdzie muszę dopisać?
Oto kod:
  1. <?php
  2.  
  3. $where = $HTTP_GET_VARS['go'];
  4. $allowed_values = array
  5. (
  6.  
  7. "dzial1" => "dzial1.inc",
  8. "dzial2" => "dzial2.inc",
  9.  
  10.  
  11. );
  12. if ($allowed_values[$where] != '')
  13. {
  14. include("header.inc");
  15. include("$allowed_values[$where]");
  16. include("footer.inc");
  17. }
  18. else
  19. {
  20. include("header.inc");
  21. include("main.inc");
  22. include("footer.inc");
  23. }
  24. ?>
strife
Dziwnie masz ten swój system portalowy napisany, ale nie będę go oceniał. Musisz dodać odpowiednią zmienną/zmienne do tagów pomiędzy <title>{$zmienna}</title>. Możesz to wykonać w ten sposób, że nazwy działów będziesz sobie trzymał w pliki ini, albo w tablicy - obojętne. A potem w zależności od modułu ustawiał odpowiedni tytuł.

Widział bym to w ten sposób, stwórz sobie plik title.inc.php, a w nim napisz odpowiednie instrukcje ustawiające title. Ex:

  1. <?php
  2. $arrTitles = array('dzial1' => 'Dzial nowosci', 'dzial2' => 'Dzial artykulow');
  3. if ( isset( $arrTitles[ $_GET['go'] ] ) ) {
  4. echo $arrTitles[ $_GET['go'] ];
  5. }
  6. ?>


Natomiast od strony html'a, gdzieś gdzie masz szablon strony, domyślam się, że u Ciebie to będzie header.inc ( zmień rozszerzenie, pliki inc nie są domyślnie interpretowane jako php ).

  1. <title><?php require_once('title.inc.php'); ?></title>


Mam nadzieję, że wiesz mniej więcej o co chodzi.

Pozdrawiam.
static
O wielkie dzięki, wszystko działa! Nie znam php najlepiej, a sam staram się coś stworzyć, więc pytanie moje jeszcze czemu dziwny jest ten system?
strife
Cytat(static @ 7.05.2007, 22:56:10 ) *
O wielkie dzięki, wszystko działa! Nie znam php najlepiej, a sam staram się coś stworzyć, więc pytanie moje jeszcze czemu dziwny jest ten system?


Dziwny jest ponieważ uważam, że nie jest najlepiej napisany. Przyjrzyj się jak są pisane systemy portalowe przez profesjonalistów. Podglądanie czyjegoś kodu dużo daje przy pisaniu aplikacji. Twój sposób wybierania odpowiedniej akcji jest mało elastyczny, dajmy na to, że chcemy dodać jeszcze 20 różnych akcji, jak to u Ciebie wygląda ? Ano trzeba do tablicy dodawać kolejne klucze.

Dużo prostrzym sposobem będzie ładowanie akcji wyszukując odpowiedni plik w jakimś katalogu, przykładowo:

  1. <?php
  2. $sFile = $_GET['action'];
  3. $url  = 'actions/' . $sFile . '.php';
  4. if ( basename( file_exists( $url ) ) )
  5. {
  6. include_once( $url );
  7. }
  8. else 
  9. {
  10. include_once('actions/default.php');
  11. }
  12. ?>


Co mogę Ci jeszcze powiedzieć, z przydatniejszych wzkazówek. Napewno odwołanie się do tablicy globalnej poprzez $HTTP_GET_VARS. Metoda ta jest przestarzała, i zaleca się używanie $_GET. Więcej na ten temat znajdziesz w manualu, w rozdziale dotyczącym zmiennych predefiniowanych ( o ile dobrze kojarze ).

Pozdrawiam.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.