Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Parser szablonów
akurczyk
post
Post #1





Grupa: Zarejestrowani
Postów: 201
Pomógł: 5
Dołączył: 15.07.2008
Skąd: Kłodzko

Ostrzeżenie: (10%)
X----


Napisałem coś takiego:
  1. <?php
  2. $szablon = file_get_contents("szablon.html");
  3. preg_match("#{newsy}(.*?){/newsy}#si", $szablon, $znalezione);
  4. $tablica[0]["tytul"] = "Pierwszy news";
  5. $tablica[0]["tresc"] = "Treść pierwszego newsa";
  6. $tablica[1]["tytul"] = "Drugi news";
  7. $tablica[1]["tresc"] = "Treść drugiego newsa";
  8. $tablica[2]["tytul"] = "Trzeci news";
  9. $tablica[2]["tresc"] = "Treść trzeciego newsa";
  10. foreach($tablica as $wartosc) {
  11.    $temp = str_replace("{tytul}", $wartosc["tytul"], $znalezione[1]);
  12.    $newsy_array[] = str_replace("{tresc}", $wartosc["tresc"], $temp);
  13. }
  14. $newsy = join("", $newsy_array);
  15. $szablon = preg_replace("#{newsy}(.*?){/newsy}#si", $newsy, $szablon);
  16. echo $szablon;
  17. ?>


Szablon:
  1. <title>Newsy</title>
  2. </head>
  3. {newsy}
  4. <h2>{tytul}</h2>
  5. <p>{tresc}</p>
  6. {/newsy}
  7. </body>
  8. </html>


Wydaje mi się że jest to nieoptymalene, i nieprofesjonalnie napisane. Proszę o jakieś sugestje. Co powinienem w tym zmienić??
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
akurczyk
post
Post #2





Grupa: Zarejestrowani
Postów: 201
Pomógł: 5
Dołączył: 15.07.2008
Skąd: Kłodzko

Ostrzeżenie: (10%)
X----


Zroiłem tak jak mi radziliście. Fajnie to nawet wygląda, szablon tak bardzo się nie zmienie, a zato skrypt zyskał na czytelności i wydajnmości.
Skrypt:
  1. <?php
  2. mysql_connect("mysql2.yoyo.pl","db723710","zaq1@#$");
  3. mysql_select_db("db723710");
  4. mysql_query("SET NAMES utf8");
  5. mysql_query("SET CHARACTER_SET utf8_unicode_ci");
  6. $zapytanie = mysql_query("SELECT * FROM kategorie ORDER BY tytul");
  7. while($rekord = mysql_fetch_array($zapytanie)) {
  8.    $tablica[] = $rekord;
  9. }
  10. $zapytanie2 = mysql_query("SELECT * FROM fora WHERE kategoria=\"PROBLEM\" ORDER BY tytul");
  11. while($rekord2 = mysql_fetch_array($zapytanie2)) {
  12.    $tablica2[] = $rekord2;
  13. }
  14. include("szablon.php");
  15. ?>


Szablon:
Kod
<html>
<head>
<title>Forum</title>
</head>
<body>
<?php foreach($tablica as $rekord): ?>
<h2><?php echo $rekord["tytul"]; ?></h2>
<?php foreach($tablica2 as $rekord2): ?>
<h3><a href="forum.php?forum=<?php echo $rekord["identyfikator"]; ?>"><?php echo $rekord2["tytul"]; ?></a></h3>
<p><?php echo $rekord2["opis"]; ?></p>
<?php endforeach; ?>
<?php endforeach; ?>
</body>
</html>


Mam problem, więcej w drugim zapytaniu (dziesiąta linijka skryptu). Co mam zrobić?(IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował akurczyk 22.12.2008, 10:49:39
Go to the top of the page
+Quote Post

Posty w temacie
- akurczyk   Parser szablonów   21.12.2008, 18:19:21
- - Riklaunim   Napisz to w Javie to będzie bardzo profesjonalne ...   21.12.2008, 18:41:25
- - l0ud   Istota działania jest zła. Systemy szabl...   21.12.2008, 18:53:39
|- - Riklaunim   Cytat(l0ud @ 21.12.2008, 20:53:39 ) I...   21.12.2008, 19:07:16
- - akurczyk   A co z optymalnością mojego skryptu??   21.12.2008, 19:18:13
- - Riklaunim   Duży ruch ci raczej nie grozi, więc i trudno mówić...   21.12.2008, 19:28:38
- - l0ud   [PHP] pobierz, plaintext <?phpIMHO obecność jęz...   21.12.2008, 19:33:34
- - akurczyk   Jeszcze jedno: Załużmy że w szablonie mam: Kod...   21.12.2008, 19:44:27
|- - Riklaunim   Cytat(l0ud @ 21.12.2008, 21:33:34 ) W...   21.12.2008, 20:11:46
- - Crozin   [PHP] pobierz, plaintext <?php}?>[PHP] ...   21.12.2008, 20:26:17
- - akurczyk   @Crozin: Fajne rozwiązanie, spróbuję. Wrućmy do mo...   21.12.2008, 21:25:38
|- - Riklaunim   Cytat(akurczyk @ 21.12.2008, 23:25:38...   21.12.2008, 22:28:43
- - Mize   Jeślibyś używał czystego PHP w szablonach to byłob...   21.12.2008, 21:37:18
- - Mize   To co wyżej napisałem to był przykład, i chyba nie...   21.12.2008, 22:38:44
- - l0ud   Riklaunim, nikt nie miał na myśli całkowitego unik...   21.12.2008, 22:43:15
- - Riklaunim   CytatOk, piszesz że szablony są kompilowane do czy...   21.12.2008, 23:00:03
- - akurczyk   Zroiłem tak jak mi radziliście. Fajnie t...   21.12.2008, 23:03:59
- - Crozin   CytatBo jak np. pisałem firmowego CRMa to osoba od...   21.12.2008, 23:06:11
|- - Riklaunim   Cytat(Crozin @ 22.12.2008, 01:06:11 )...   21.12.2008, 23:35:38
- - akurczyk   POMOCY!!   21.12.2008, 23:18:29
- - erix   CytatMam problem, więcej w drugim zapytaniu (dzies...   21.12.2008, 23:31:25
- - akurczyk   Niema żadnego błądu, tylko niewiem co napisać zoba...   21.12.2008, 23:59:00
- - Riklaunim   Coś jakby musisz umieścić zapytania o fora z danej...   22.12.2008, 00:17:54
- - akurczyk   http://www.codemaster2222.yoyo.pl/skrypt.php - nie...   22.12.2008, 10:47:23
- - Riklaunim   Pomyśl trochę. Jeżeli pobiera wszystkie fora to zn...   22.12.2008, 12:35:00
- - akurczyk   Jak to ma działeć to ja wie, przecież jak robiłem ...   22.12.2008, 12:52:56
- - Riklaunim   Po wierszu z $zapytanie2 możesz dać $tab...   22.12.2008, 13:52:17


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

 



RSS Aktualny czas: 3.10.2025 - 03:25