![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 5.04.2007 Skąd: Otwock Ostrzeżenie: (0%) ![]() ![]() |
Witam
Utworzyłem plik index.php o następującej budowie:
Jak widać, znajduje się tam odwołanie do pliku polish.php, który wygląda tak:
Następnie utworzyłem plik index.html i funkcję file_html. Plik: Funkcja:
Teraz chciałbym stworzyć funkcję add_file. Polegałaby ona na tym, że LANG_ znajdujący się w pętli foreach łączył się z $key i zamieniał się na $value. Normalnie użyłbym funkcji str_replace, ale chodzi o to, że LANG_ połączone z $key w pliku index.html wyglądało tak:
I to zamieniało się po wejściu na stronę na odpowiedni kod, który jest załączony w pliku polish.php, np. dam w pliku index.html kod:
A na stronie ma się wyświetlić napis "Forum oparte o skrypt ***" Mam nadzieję, że zrozumieliście o co chodzi. Jest mi to bardzo potrzebne, gdyż nie chcę mieszać kodu PHP z kodem HTML w jednym pliku. Pozdrawiam P.S. Jeżeli nie zrozumieliście, o co mi chodzi, ściągnijcie EKINboard lub phpBB, tam jest coś podobnego. Ten post edytował Yazzie 21.04.2007, 09:10:10 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 99 Pomógł: 2 Dołączył: 8.11.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
A nie lepiej i wygodniej poprostu użyć SMARTY ?
-------------------- Programuj pod kątem interfejsu, nie implementacji
Gang of Four michalbarys.pl |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 5.04.2007 Skąd: Otwock Ostrzeżenie: (0%) ![]() ![]() |
Ale czy ten Smarty nie ma takiej budowy:
Bo jeżeli tak, to nie, dziękuję, bo ja chcę mieć w index.php taką budowę:
Ten post edytował Yazzie 22.04.2007, 12:04:45 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 99 Pomógł: 2 Dołączył: 8.11.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Smarty daje bardzo duże możliwości. Możesz używać w szablonach zarówno pętli jak i instrukcji warunkowych.
Wszystko masz bardzo jasno opisane w dokumentacji. Opis dotyczący funkcji foreach w SMARTY masz pod tym adresem -------------------- Programuj pod kątem interfejsu, nie implementacji
Gang of Four michalbarys.pl |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 5.04.2007 Skąd: Otwock Ostrzeżenie: (0%) ![]() ![]() |
kresh, ale ja nie chcę właśnie gotowych rozwiązań
![]() ![]() ![]() Bardzo proszę o pomoc Ten post edytował Yazzie 23.04.2007, 18:57:48 |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 99 Pomógł: 2 Dołączył: 8.11.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Normalnie użyłbym funkcji str_replace, ale chodzi o to, że LANG_ połączone z $key w pliku index.html wyglądało tak:
I to zamieniało się po wejściu na stronę na odpowiedni kod, który jest załączony w pliku polish.php, np. dam w pliku index.html kod:
Nie wiem czy dobrze zrozumiałem.
Tyle, że trzeba pobrać zawartość pliku i załadować go do $content a w html dajesz sobie
Ten post edytował kresh 23.04.2007, 19:15:41 -------------------- Programuj pod kątem interfejsu, nie implementacji
Gang of Four michalbarys.pl |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 5.04.2007 Skąd: Otwock Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#8
|
|
![]() Grupa: Zarejestrowani Postów: 99 Pomógł: 2 Dołączył: 8.11.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
A jak to zrobić? ![]() P.S. A mogę dać <{LANG_POWERED_INFO}> i w tym co mi dałeś zastąpić { KOD } na <{ KOD }>? Jasne, że możesz. A pobrać treść pliku możesz przy użyciu file_get_contents
-------------------- Programuj pod kątem interfejsu, nie implementacji
Gang of Four michalbarys.pl |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 5.04.2007 Skąd: Otwock Ostrzeżenie: (0%) ![]() ![]() |
No dobrze, mam tylko pewien problem, czy jako zmienna $file mam podstawić nazwę danego pliku?
I jeszcze jedno, mam taki plik: Kod class Style { private $style_dir = 'styles'; private $style_name = 'KeyStyle'; private $style_content = ''; private $vars = array (); function file_html($file) { if (file_exists ("styles/KeyStyle/$file")) include ("styles/KeyStyle/$file"); else echo ('<span style="color:red;"><b>Brak pliku ' . $file . ' w szablonie ' . $this->style_name . '</b></span>'); } function add_file( $key, $value ){ return str_replace( '<{' . $key . '}>', $value, $content ); } } Gdzie wstawić to: Kod $content = file_get_contents( $file );
|
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 99 Pomógł: 2 Dołączył: 8.11.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
PS. Nazwy metod trochę mało intuicyjne, zwłaszcza add_file Ten post edytował kresh 23.04.2007, 19:51:15 -------------------- Programuj pod kątem interfejsu, nie implementacji
Gang of Four michalbarys.pl |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 5.04.2007 Skąd: Otwock Ostrzeżenie: (0%) ![]() ![]() |
Dwa problemy
![]() Jeden:
To ma być w pliku index.php Drugi: Jeżeli dam tak, jak ty mi dałeś, mam błąd: Kod Warning: Invalid argument supplied for foreach() in C:\usr\www\keybb\modules\functions.php on line 45
Fatal error: Cannot access empty property in C:\usr\www\keybb\modules\functions.php on line 36 |
|
|
![]()
Post
#12
|
|
![]() Grupa: Zarejestrowani Postów: 99 Pomógł: 2 Dołączył: 8.11.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. A to jakiś problem?
2. zapomniałeś zainicjować $lang; -------------------- Programuj pod kątem interfejsu, nie implementacji
Gang of Four michalbarys.pl |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 5.04.2007 Skąd: Otwock Ostrzeżenie: (0%) ![]() ![]() |
1. Może żaden
![]() 2. Zainicjować to jest zaincludować plik, w którym ten lang["header"] się znajduje? Dobra, problem rozwiązany, wszystko działa, senk ju ![]() Ten post edytował Yazzie 23.04.2007, 19:56:23 |
|
|
![]()
Post
#14
|
|
![]() Grupa: Zarejestrowani Postów: 99 Pomógł: 2 Dołączył: 8.11.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
1. Napewno żaden
![]() 2. No na przykład. Chodzi o to, że w tej chwili $lang jest puste -------------------- Programuj pod kątem interfejsu, nie implementacji
Gang of Four michalbarys.pl |
|
|
![]()
Post
#15
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 5.04.2007 Skąd: Otwock Ostrzeżenie: (0%) ![]() ![]() |
Okazało się, że jest jeszcze jeden problem, oto on.
Ponieważ nie chcę mi się zmieniać headera w każdym pliku, zrobiłem plik o nazwie header.html. Tam wstawiłem kod loga, menu itp. Dodałem nad linijką:
Ten oto kod:
I gucio :| Wyświetla tylko index.html, bez header.html. HELP ![]() |
|
|
![]()
Post
#16
|
|
![]() Grupa: Zarejestrowani Postów: 99 Pomógł: 2 Dołączył: 8.11.2005 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
ta funkcja pozwala na załadowanie tylko jednego pliku. Jeśli chcesz mieć ich więcej daj:
dalej zmiany wymaga także
i na końcu wyświetlanie załadowanych plików
>> EDIT: A innym prostszym rozwiązaniem jest utworzenie nowego obiektu Style Ten post edytował kresh 27.04.2007, 20:45:43 -------------------- Programuj pod kątem interfejsu, nie implementacji
Gang of Four michalbarys.pl |
|
|
![]()
Post
#17
|
|
Grupa: Zarejestrowani Postów: 37 Pomógł: 0 Dołączył: 5.04.2007 Skąd: Otwock Ostrzeżenie: (0%) ![]() ![]() |
I teraz działa jak należy
![]() ![]() |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 08:34 |