Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Includowanie i dynamiczny tytuł, Za pomocą dwóch zmiennych, jedną dla nawigacji, drugą dla tytułu
Tonic
post 4.03.2008, 22:50:40
Post #1





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 31.10.2007

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


Witam,

Chciałbym się dowiedzieć, w jaki sposób mogę includować podstrony mając dwie zmienne - nazwę skrótową, do której będą się odwoływać linki oraz pełna nazwę, która się pojawi na górze przeglądarki, dla czytelników. Żeby nie było, dwa dni szukałem i nie znalazłem tego, czego potrzebuję. Obecnie korzystam z takiego kodu:

  1. <?php
  2.  
  3.  
  4. switch( $_GET['id']) {
  5.  
  6. break;
  7.  
  8. case 'strona1':
  9.  
  10. include 'pages/strona1.php';
  11.  
  12. break;
  13.  
  14.  
  15. [ciach!]
  16.  
  17. default:
  18.  
  19. include 'pages/newsy.php';
  20.  
  21. }
  22.  
  23. ?>


Taki kod znajduje się w divie z treścią. Jedynie co w tej chwili mogę zrobić, to dodanie do znacznika <title> <?php echo($_GET['id']);?>. Wtedy pojawiają się tytuły podstron, ale one są skrótowe i to brzydko wygląda. Mógłbym zmienić nazwy case na pełne, ale byłoby mi trudniej zrobić nawigację.
Powód edycji: Do PHP jest odpowiednie BBCode .. ~Cienki1980
Go to the top of the page
+Quote Post
pest
post 5.03.2008, 10:11:44
Post #2





Grupa: Zarejestrowani
Postów: 78
Pomógł: 15
Dołączył: 10.12.2007
Skąd: Lublin

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


Równie dobrze możesz zastosować 2 razy taką konstrukcję - raz przy <title> raz przy tym <div> w którym masz treść.
Go to the top of the page
+Quote Post
Tonic
post 7.03.2008, 09:58:42
Post #3





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 31.10.2007

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


Cytat(pest @ 5.03.2008, 10:11:44 ) *
Równie dobrze możesz zastosować 2 razy taką konstrukcję - raz przy <title> raz przy tym <div> w którym masz treść.

Mógłbyś rozwinąć? Na PHP kompletnie się nie znam. Ale pokombinowałem i zauważyłem, że skorzystanie z echo w <title></title> działa, tj. kod ma taką postać


CODE


<title>

<?php


switch($_GET['id']) {

case 'newsy':
echo 'Nowości';
break;

case 'akwarele':
echo 'Akwarele i rysunki';
break;

}

?>

</title>



Ale tak patrzę na cały kod index.php i stwierdzam, że zrobił się długaśny. I chyba spowalnia poruszanie się po stronie.. Nie ma jakiejś innej schludniejszej metody na includowanie podstron w oparciu o dwie nazwy (jedną skrótową i drugą do tytułu)?

Ten post edytował Tonic 7.03.2008, 09:59:34
Go to the top of the page
+Quote Post
Xniver
post 7.03.2008, 14:01:02
Post #4





Grupa: Zarejestrowani
Postów: 108
Pomógł: 26
Dołączył: 29.02.2008

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


Masz tu kod. Musisz jeszcze tylko umieścić zawartość stron w katalogu 'strony'(jak chcesz to możesz zmienić) oraz pozmieniać dane w array '$pages'
  1. <?php
  2. // Katalog w ,którym będziesz trzymał zawartość
  3. $pagesCat = 'strony';
  4.  
  5. // Dozwolone strony
  6. // 'id' => 'tytul'
  7. $pages = array(
  8. 'newsy' => 'Nowości',
  9. 'akwarele' => 'Akwarele',
  10. 'inne' => 'Inne'
  11. // ...
  12. );
  13.  
  14. // Sprawdzenie
  15. if(!isset($_GET['id']) || !isset($pages[$_GET['id']]))
  16. {
  17. $_GET['id'] = 'newsy'; // Domyslna strona
  18. }
  19.  
  20. // Tytul
  21. echo '<title>' . $pages[$_GET['id']] . '</title>';
  22.  
  23. // Zawartosc strony
  24. require_once './' . $pagesCat . '/' . $_GET['id'] . '.php';
  25. ?>


Ten post edytował Xniver 7.03.2008, 14:04:53
Go to the top of the page
+Quote Post
Tonic
post 7.03.2008, 22:29:19
Post #5





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 31.10.2007

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


Cytat(Xniver @ 7.03.2008, 14:01:02 ) *
Masz tu kod. Musisz jeszcze tylko umieścić zawartość stron w katalogu 'strony'(jak chcesz to możesz zmienić) oraz pozmieniać dane w array '$pages'

Kod działa świetnie, pod warunkiem, że wszystkie podstrony znajdują się w jednym katalogu. Ja akurat posortowałem większość podstron i umieściłem je w kilku katalogach (np. pages/wn, pages/elektronika). Można coś zrobić z tym fantem?
Go to the top of the page
+Quote Post
Xniver
post 7.03.2008, 23:02:39
Post #6





Grupa: Zarejestrowani
Postów: 108
Pomógł: 26
Dołączył: 29.02.2008

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


  1. <?php
  2. // Katalog w ,którym będziesz trzymał zawartość
  3. $pagesCat = 'strony';
  4.  
  5. // Dozwolone strony
  6. // 'id' => array('title' =>'tytul', 'prefix' => 'podkatalogAlboNie')
  7. $pages = array(
  8. 'newsy' => array('title' => 'Nowości' , 'prefix' => 'podkatalog/'),
  9. 'akwarele' => array('title' => 'Akwarele', 'prefix' => ''), // bez podkatalogu
  10. 'inne'  => array('title' => 'Inne' , 'prefix' => 'podkatalog2/')
  11. // ...
  12. );
  13.  
  14. // Sprawdzenie
  15. if(!isset($_GET['id']) || !isset($pages[$_GET['id']]))
  16. {
  17. $_GET['id'] = 'newsy'; // Domyslna strona
  18. }
  19.  
  20. // Tytul
  21. echo '<title>' . $pages[$_GET['id']]['title'] . '</title>';
  22.  
  23. // Zawartosc strony
  24. require_once './' . $pagesCat . '/' . $pages[$_GET['id']]['prefix'] . $_GET['id'] . '.php';
  25. ?>


Ten post edytował Xniver 7.03.2008, 23:03:16
Go to the top of the page
+Quote Post
Tonic
post 7.03.2008, 23:17:11
Post #7





Grupa: Zarejestrowani
Postów: 33
Pomógł: 0
Dołączył: 31.10.2007

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


Działa jak należy. Bardzo dziękuję za pomoc!
Go to the top of the page
+Quote Post

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

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 17:04