![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Mam stronę dynamicznie ładująca treść z bazy danych. I mam pytanie, jak najlepiej napisać kod, który będzie wyświetlał słowa kluczowe oraz robił opis (description - meta tag) z treści strony, a później ładował oczywiście cała stronę.
|
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Silnik generuje odpowiednie zmienne - np. $description, $title etc. a Ty to potem podstawiasz to do szablonu strony:
- przykład z mojego rozwiązania. Silnik może generować META automatycznie, jednak ja polecem półautomatyczne - czyli generowane z treści + słowa kluczowe na które pozycjonujemy stronę. Dzięki temu uzyskamu zarówno nasycenie słowami kluczowymi, jak i różnorodność. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 403 Pomógł: 68 Dołączył: 20.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Najprościej to w sekcji head dajesz kod PHP który pobiera dane z bazy i wstawia do pola np. description tagu <meta>. Ale wszystko zależy od tego jak wygląda twój skrypt.
|
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
Silnik generuje odpowiednie zmienne - np. $description, $title etc. a Ty to potem podstawiasz to do szablonu strony: - przykład z mojego rozwiązania. Silnik może generować META automatycznie, jednak ja polecem półautomatyczne - czyli generowane z treści + słowa kluczowe na które pozycjonujemy stronę. Dzięki temu uzyskamu zarówno nasycenie słowami kluczowymi, jak i różnorodność. A jakieś wskazówki może jak taki system napisać. btw - jak kod napisać, żeby w nawiasy {zmienna} wstawiał odpowiednie teksty? |
|
|
![]()
Post
#5
|
|
Grupa: Przyjaciele php.pl Postów: 5 724 Pomógł: 259 Dołączył: 13.04.2004 Skąd: N/A Ostrzeżenie: (0%) ![]() ![]() |
Nie includuj kodu PHP do stronki html tylko na odwrot, wczytaj dane z bazy i dopiero sie zabierz na generowanie htmla poczawszy od DOCTYPE i html.
Czyli to co Pilsner proponuje |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
aktualnie mam taki układ:
mam plik header i footer. W tych plikach sa stałe elementy strony. do konkretnego pliku dołączam te pliki i po tym całość jest pokazywana, po odpowiednim pobraniu danych z bazy oczywiście. czyli wg tego co piszecie, musiałbym teraz to pozmieniać tak, aby najpierw ładowały się wszystkie dane z bazy, a następnie strona byłaby budowana? Tylko teraz chyba bedzie ciężko to poprzerabiać :/ i jak to teraz pozmieniać? |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 1 590 Pomógł: 185 Dołączył: 19.04.2006 Skąd: Gdańsk Ostrzeżenie: (0%) ![]() ![]() |
Cytat A jakieś wskazówki może jak taki system napisać. btw - jak kod napisać, żeby w nawiasy {zmienna} wstawiał odpowiednie teksty? Przede wszystkim musisz mieć silnik (niektórzy pewnie inaczej na to mówią, ale pal to licho). Silnik jako parametry przyjmuje np. zmienne z adresu strony i na ich podstawie generuje garść zmiennych - umiesz coś takiego zrobić? W najprostszej postaci pobierasz dane z bazy i wczytujesz do zmiennych - musisz mieć wizję tego i to od Ciebie zależy, jak takie coś będzie działać i na ile to będzie elastyczne. Dobry silnik uwzględnia wiele opcji - np. gdy nie ma meta-danych dla danej kategorii, szuka ich w kategorii nadrzędnej i tak aż do głównej strony, pozwala dynamicznie dołączać tylko te pliki CSS, które są akurat wykorzystywane na stronie (a nawet dynamicznie generować plik css na podstawie styli zapisanych w bazie) itp. itd. Podobnie z szablonami - jak dla kategorii nie ma szablonu to jest wczytywany domyślny - dzięki temu jesteś elastyczny i możesz dla różnych kategorii dawać różne szablony czy style. Musisz przemyśleć każdy temat oddzielnie: meta, pliki css, menu, treść. Na samym końcu silnik "wypluwa" te zmienne a Ty je tylko wstawiasz do szablonu (szablony można trzymać w plikach lub bazie). Możesz użyć gotowego systemu szablonów (np. smarty), lub napisać samemu bardzo prostą funkcję/klasę opartą o str_replace, choćby tu masz artykuł o tym: http://www.programuj.com/artykuly/www/template.php - dla większości małych i średnich serwisów w zupełności wystarcza - tym bardziej, że szablony możesz przecież łączyć (np. {TRESC} może składać się z szablonów tresc_lewa, tresc_prawa etc.). Ogólnie ciężko tak sa sucho - musisz działać, bo najlepiej uczy się człowiek przez praktykę. Cytat musiałbym teraz to pozmieniać tak, aby najpierw ładowały się wszystkie dane z bazy, a następnie strona byłaby budowana? - dokładnie tak. Wiem, że cięzko, ale korzyści są olbrzymie no i tak powinno to wyglądać: 1. Dane wejściowe 2. Algorytm 3. Wynik 4. Publikacja wyniku - zauważ, że ten sposób ma same zalety, masz pełną kontrolę nad treścią, nie ma znaczenia, czy najpierw generujesz nagłówek, czy stopkę bo i tak wszystko trafi na swoje miejsce w końcowej fazie tych machinacji (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
Ten post edytował Pilsener 2.09.2008, 12:17:37 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 466 Pomógł: 11 Dołączył: 21.09.2006 Skąd: Szczecin Ostrzeżenie: (0%) ![]() ![]() |
nie mam systemu szablonów. w echo piszę znaczniki html itp. Aby załadować dodatkowy plik css, na początku każdego pliku, przed wywołaniem header, tworzę zmienną z nazwą css. W header jeżeli istnieje ta zmienna, ładuję dodatkowo css.
Na podobnej zasadzie mogę też chyba zrobić te pobieranie, oraz wklejanie meta tagów, a wykonane zapytanie, można uzyć dalej do pokazania na stronie już. A co do smarty: jak bardzo trudne jest operowanie na tym? a jak w smarty np. zrobić szkielet strony, żeby najpierw wykonywało się php wiadomo, a po tym był cały html, z tymże dołączałbym np plik header, main(główna zawartość strony), footer. Bo troszkę czytałem już, ale jakoś nie moge tego wymyśleć, jak to rozpisać w kodzie - jakbym jakąś pomoc uzyskał byłbym wdzięczny:) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 07:08 |