Korzystając z tej strony zgadzasz się z polityką prywatności i regulaminem.
Akceptuj
WebInside.plWebInside.plWebInside.pl
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
Szukaj
  • Kontakt
  • Forum
WebInside.pl © 2023.
Czytasz: Smarty: Generowanie statycznych stron HTML
Udostępnij
Zaloguj się
Powiadomienia
Aa
WebInside.plWebInside.pl
Aa
Szukaj
  • Strona główna
  • Aktualności
  • Technologie webowe
  • Publicystyka
  • E-marketing
  • Poradniki
  • AI
  • Technologie
  • Artykuły partnerskie
  • Więcej
    • Kontakt
    • Mapa strony
Masz już konto? Zaloguj się
  • Aktualności
  • Technologie
  • WWW
  • E-marketing
  • AI
  • Poradniki
  • e(Biznes)
WebInside.pl © 2023.
WebInside.pl > Technologie webowe > Smarty: Generowanie statycznych stron HTML
Technologie webowe

Smarty: Generowanie statycznych stron HTML

WebInside.pl
Ostatnia aktualizacja: 10.07.2004
WebInside.pl
Udostępnij
Udostępnij

Niektórzy z początkujących programistów aplikacji WWW mają problem z generowaniem statycznych plików HTML. Postanowiłem umilić im życie i opisać sposób z którego osobiście korzystam.

Zawartość
Co będzie potrzebne?ZałożeniaKodowanieZakończenieOdnośniki

W chwili obecnej mało co trzeba pisać od nowa Ogólnodostępne biblioteki, klasy… wszystkie na licencjach umożliwiających wykorzystywanie ich w komercyjnych pracach. Czemu więc i tym razem nie wykorzystać by kilku sprawdzonych linijek kodu różnych projektów połączonych w jednym, wielkim kombosie? No właśnie – zaczynajmy więc!

Co będzie potrzebne?

Myślę, iż najlepiej będzie wykorzystać w miarę popularne produkty. Jako system szablonów użyję Smarty 2.6.2 (), do obsługi bazy danych posłuży nam Active Data Object DataBase () w wersji 4.11, a jeśli chodzi o operacje wykonywane na plikach, wysłużymy się klasą File 1.0 ().

Założenia

Powiem wprost: serwer MySQL to „localhost”, użytkownik „root”, hasła brak, baza, z którą będziemy mieli przyjemność się połączyć nosi nazwę „test”, tabela, która będzie nam potrzebna nosi nazwę „test_members”. Plik z szablonem nazwiemy finezyjnie… może „test.tpl”? Myślę, że to niezły pomysł… Smarty i klasa File załadowane są do „korzenia” serwisu, biblioteka ADOdb siedzi sobie w folderze „ADOdb/”. W katalogu ze stroną winno znajdować się jak najmniej plików (tj. powinniśmy ograniczyć się do minimum), a wszystkie biblioteki itp. należałoby umieścić gdzieś poza nim, ale… ale nie ma to być lekcja bezpieczeństwa, tylko generowanie statycznych plików HTML – pomijamy więc wyżej wymienioną kwestię i przechodzimy do konkretów.

Kodowanie

Pierwsze co musimy zrobić, to dołączyć do naszego skryptu odpowiednie pliki…

<?php if($_SERVER[’DOCUMENT_ROOT’])
{
$_root .= $_SERVER[’DOCUMENT_ROOT’] . str_replace(basename($_SERVER[’PATH_INFO’]), „”,
$_SERVER[’PATH_INFO’]);
}

require_once($_root . „ADOdb/adodb.inc.php”);
require_once($_root . „Smarty.class.php”);
require_once($_root . „File.class.php”);
?>

…następnie tworzymy połączenie z bazą danych…

<?php $db = NewADOConnection(„mysql”); $db->Connect(„localhost”, „root”, „”, „test”) ?>

…by po chwili wyssać z niej jakieś dane.

<?php $rs = $db->Execute(„select * from test_members”); if($rs === false) die(„Próba wykonania zapytania zakończone niepowodzeniem.”); ?>

Teraz przydałoby się je w jakiś sposób „obrobić”…

<?php

if(empty($rs->fields))
{
echo „Brak członków w bazie.”;
}
else
{
$test = new Smarty;
$test->assign(„forname”, $rs->fields[’1′]);
$test->assign(„lastname”, $rs->fields[’2′]);
$test->assign(„nick”, $rs->fields[’2′]);
$test->assign(„mail”, $rs->fields[’3′]);

$cache = new File();

if(file_exists($rs->fields[’2′] . „.html”))
{
unlink($rs->fields[’2′] . „.html”);
}
$cache->write_file($rs->fields[’2′] . „.html”, $test->fetch(„test.tpl”));
}

$db->Close();

?>

Co robi powyższy kod? Sprawdza czy zapytanie zwróciło jakieś dane. Jeśli nie, wyświetla stosowny komunikat. W innym razie przypisuje zmiennym szablonu wartości kolejnych pól wyciągniętych z bazy przez ADOdb. Następnie sprawdza czy plik o nazwie „$nick . 'members.html'” istnieje. Jeśli tak, usuwa go, jeśli nie, podstawia pod wskazany szablon zmienne i zapisuje wynikowe dane do pliku „$nick . 'members.html'” (trochę zamotałem, ale ogółem miałem na myśli to, że wszystko działa OK ;). Na koniec połączenie z bazą danych jest zamykane.

Plik z szablonem (tj. „test.tpl”) mógł wyglądać np. tak:

<html>
<head>
<title>
{nick}
</title>
<meta http-equiv=”content-type” charset=”text/html; charset=iso-8859-2″>
</head>
<body>
<p>
<a href=”mailto:{mail}>
<b>
{$forname} {$lastname}
</b>
alias
<b>
{nick}
</b>
</a>
</p>
</body>
</html>

Naturalnie winien on znajdować się w katalogu „templates/”.

Zakończenie

W razie, gdyby część kodu była niezrozumiała, odsyłam do dokumentacji Smarty 2.6.2, ADOdb 4.11 i File 1.0 lub na moją domową stronę. Odnośniki poniżej. Jeśli masz ochotę na pomoc interpersonalną, zachęcam do pisania na adres , chętnie pomogę.

Odnośniki

Smarty:
ADOdb:
File:
Domowy serwis autora:

Może Cię zainteresować

Sprawdź, jak zostać testerem oprogramowania lub Java developerem! Poznaj kursy online!

Architektura globalnego e-commerce: Jak zbudować sklep gotowy na podbój świata?

Java obchodzi 30. urodziny – język programowania który zmienił świat technologii

Jak zacząć projektować aplikację, nie mając gotowego pomysłu?

Serwer dla małej firmy – czym kierować się przy jego wyborze?

WebInside.pl 2004-07-10 2004-07-10
Udostępnij ten artykuł
Facebook Twitter Kopiuj link Wydrukuj
Udostępnij
Poprzedni artykuł Sesje z pomocą ADOdb
Następny artykuł ClickBank – pieniądze w sieci
Zostaw komentarz lub opinię

Dodaj komentarz Anuluj pisanie odpowiedzi

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Najnowsze artykuły

Procesor AMD Ryzen 7
Najlepsze procesory z pamięcią 3D V-Cache: Wydajność dla graczy i profesjonalistów
Technologie
Jak przygotować sklep internetowy na automatyzację obsługi klienta?
Artykuły partnerskie
the nvidia logo is displayed on a table
Nvidia przyłapana? Gigant AI chciał kupić miliony pirackich książek
AI Aktualności
Najczęstsze błędy w SMS marketingu: jak nie przepalić budżetu?
E-marketing
4 najczęstsze cyberzagrożenia w przemyśle
Technologie
Jak uratować zaschnięty tusz do drukarki? Skuteczne domowe sposoby i porady
Poradniki
Model 3D jako wspólne źródło danych dla projektu, produkcji i montażu
Artykuły partnerskie
Dlaczego wideo z telefonu sprzedaje na TikToku lepiej niż profesjonalne spoty?
Artykuły partnerskie
Dwa ekrany zawsze pod ręką – zalety korzystania z monitora przenośnego na co dzień
Technologie
Rola nowoczesnych technologii w procesie rehabilitacji
Artykuły partnerskie
banner
Chcesz umieścić swoją reklamę w portalu WebInside.pl?
Skontaktuj się z nami, a zaproponujemy interesujące formy reklamy.
Skontaktuj się

Inne polecane artykuły

Technologie webowe

Sprawdź, jak zostać testerem oprogramowania lub Java developerem! Poznaj kursy online!

5 min czytania
Technologie webowe

Architektura globalnego e-commerce: Jak zbudować sklep gotowy na podbój świata?

7 min czytania
MacBook Pro showing programming language
Technologie webowe

Java obchodzi 30. urodziny – język programowania który zmienił świat technologii

9 min czytania
AktualnościTechnologie webowe

Jak zacząć projektować aplikację, nie mając gotowego pomysłu?

9 min czytania
woman in black top using Surface laptop
Technologie webowe

Serwer dla małej firmy – czym kierować się przy jego wyborze?

5 min czytania
Technologie webowe

Jaki hosting wybrać pod Laravel? Kompleksowy przewodnik dla twórców aplikacji webowych

6 min czytania
programming language
Technologie webowe

Kaskadowość w CSS – wszystko, co musisz wiedzieć

7 min czytania
two women talking while looking at laptop computer
Technologie webowe

Darmowe kreatory stron WWW – stwórz swoją stronę w godzinę

14 min czytania
//

WebInside.pl – portal technologiczny. Aktualności ze świata technologii, webmastering, marketing internetowy, AI, poradniki.

 

Partnerzy

Wszystkie kategorie

  • AI
  • Aktualności
  • Artykuły partnerskie
  • E-marketing
  • e(Biznes)
  • Poradniki
  • Publicystyka
  • Technologie
  • Technologie webowe

Ostatnio dodane

  • Najlepsze procesory z pamięcią 3D V-Cache: Wydajność dla graczy i profesjonalistów
  • Jak przygotować sklep internetowy na automatyzację obsługi klienta?
  • Nvidia przyłapana? Gigant AI chciał kupić miliony pirackich książek
  • Najczęstsze błędy w SMS marketingu: jak nie przepalić budżetu?

Kontakt

Chcesz się z nami skontaktować? Jesteś zainteresowany reklamą lub artykułem sponsorowanym?

Skorzystaj z formularza kontaktowego lub napisz do nas na kontakt@webinside.pl

WebInside.plWebInside.pl
WebInside.pl © 2023 | Mapa strony | Forum | Polityka prywatności
Witaj ponownie!

Zaloguj się do swojego konta

Zapomniałeś hasła?