HTML/PHP/AJAX/JS - używanie skrótów
Robert007 - 13-02-2009, 23:27 Temat postu: używanie skrótów Witam ///edit moderacja - nie uzywaj you w postach!!!!
Jeżeli chcę zrobić przykładową stronę w php to jak się posługiwać tymi skrótami i jak zdefiniować ??
np:
Kod: | $template->assign_block_vars('topic_action', array(
'COS' => $lang['cos'])
); |
żeby mi languarge pobierało z innego pliku jak na php by przemo.
jak to działa i co mam zrobić
tosiek - 14-02-2009, 08:24
Robert007 napisał/a: | Jestem dobrym skrypterem w języku pawn |
pawn jest podobne do C++ a tym samym do php
Langi definiujesz w innym pliku php, zobacz sobie na lang_main.php
np.
Kod: | $lang['IP_Address'] = 'Adres IP'; |
i teraz zaglądamy w pliki które tegoo używają
w pliku php strony definiujesz
Kod: | $template->assign_vars(array(
"L_IP_ADDRESS" => $lang['IP_Address'])
); |
w pliku ze stylem:
Teraz wystarczy poszukać globalnej zmiennej $lang Miłej zabawy
Robert007 - 14-02-2009, 12:56
tosiek, jak to działa (przekierowuje) to wiem ale mi chodziło jak to zdefiniować jakbym to robił w nowym pliku ??
czyli jak zdefiniować ścieżkę do pliku np cos.php może na górze są potrzebne jakieś include
tosiek napisał/a: |
Cytat: | Jestem dobrym skrypterem w języku pawn |
pawn jest podobne do C++ a tym samym do php |
w C++ się nie bawiłem to nie wiem
jedynie co znam najlepiej to pawn tak około 90%
Kod: | <?php
$template->set_filenames(array('bb.tpl')); //tu nie wiem czy to jest dobrze i jest warning
$template->assign_block_vars('topic_action', array( //tu też warning
'COS' => $lang['cos'])
);
?> |
te assign_block_vars itd to się jakoś definiuje
bo z tego co załważyłem to mniej definicji jest w php
kevin_ - 14-02-2009, 13:25
Kod: |
$template->set_filenames(array(
'lista_mailow' => 'lista_mailow.tpl')
);
|
Utwórz teraz TPL o nazwie "lista_mailow" , wpisz tam treść tabelki, etc (ale nie kod PHP!)
A teraz wywołaj ją że np. w pliku lista_mailow.php będzie wywoływać TPL lista_mailow.tpl
Dodaj:
Kod: |
$template->pparse('lista_mailow');
|
przed
Kod: |
include($phpbb_root_path . 'includes/page_tail.'.$phpEx);
|
Robert007 - 14-02-2009, 13:55
u mnie wygląda plik cały tak:
Kod: | <?php
$strona->set_filenames(array( //error jakby nie bylo zdefiniowane..
'index_body' => 'templates/index_body.tpl')
);
$strona->assign_block_vars(array(
'STRONA' => "sa-mp.com.pl")
);
$strona->pparse('index_body');
?> |
pliki na "FTP":
test->
-index.php
-templates/index_body.tpl
w pliku tpl:
Kod: | <META HTTP-EQUIV="Refresh" CONTENT="0; URL=http://www.{STRONA}"> |
przekierowanie na moje forum. - przykład to jest dla sprawdzenia czy działa.
w trzeciej linijce jest error czyli:
Kod: | $strona->set_filenames(array( |
Kod: | Fatal error: Call to a member function on a non-object in [...] /index.php on line 3 |
errorem jest ten symbol: "set_filenames"
Robert007 - 14-02-2009, 14:23
no właśnie wiem że brakuje include ale jakiego ?
Tavaro - 14-02-2009, 14:26
includes/template.php
Robert007 - 14-02-2009, 14:33
nadal jest to samo co było. ten sam error
They2 - 14-02-2009, 15:15
Robert007 napisał/a: | includes/template.php | to nie musi
wystarczy daj common.php i extension
Kod: | define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx); |
Robert007 - 14-02-2009, 15:18
They2, z extension to sobie już wkleiłem w ten plik swój to co potrzebne.
a co jest potrzebne z cammon ? bo ja to robię jako nową stronę w php przykładową
mam kopie cammon i to co jest z niego potrzebne to najwyżej zostawię.
Radek - 14-02-2009, 22:07
Robert007 napisał/a: | $strona->set_filenames |
Metoda set_filenames należy do klasy template, a nie 'strona'.
Mam wrażenie że kompletnie nie wiesz co robisz. Jeżeli chcesz zrobić zwykłe przekierowanie w meta tagach, do daj sobie zwykły plik html z redirectem i tyle. Nie ma potrzeby wykorzystywać php i silnika phpBB.
Robert007 napisał/a: | skrutów |
skrótów
Robert007 - 14-02-2009, 22:10
RuseK, rozumiem ale czy mam tę zmienną "$strona" czy "$templates" to i tak jest ten sam error..
Radek - 14-02-2009, 23:03
Robert007, to nie jest zmienna tylko obiekt.
OK, po kolei:
Jeżeli chcesz utworzyć nowy plik .php który działa na silniku phpBB, na początku dodajesz to:
Kod: | <?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx); |
w zmiennej $phpbb_root_path ustalasz ścieżkę do forum. Teraz możesz korzystać z wszystkich funkcji i klas które daje phpBB.
Aby podpiąć plik .tpl do skryptu, piszesz kod:
Kod: | $template->set_filenames(array(
'body' => 'jakis_plik.tpl'
)); |
Jeżeli chcesz używać w tym pliku zmiennej w postaci {COSTAM} musisz najpierw ją 'podpiąć':
Kod: | $template->assign_vars(array(
'COSTAM' => 'Hello world'
)); |
Teraz w pliku tpl {COSTAM} zmieni się na hello world. Żeby pod zmienną {COSTAM} było odwołanie do tablicy $lang używasz:
Kod: | $template->assign_vars(arra(
'COSTAM' => $lang['Hello']
)); |
Przy czym wpis Kod: | $lang['Hello'] = 'Hello world'; | musi być w pliku katalog_forum/language/lang_polish/lang_main.php lub w innym, ale wtedy musisz go dołączyć do skryptu:
Kod: | include('sciezka_do_pliku_z_langami'); |
Teraz przed kodem ?> dodajesz Kod: | $template->pparse('body'); | i gotowe. Możesz też używać nagłówka i stopki z phpbb (dołączając pliki includes/page_header.php i includes/page_tail.php poprzez include() )
Jasne?
Robert007 - 20-02-2009, 01:17
no jasne, ale dlaczego symbol nie jest zdefiniowany ??
mam tak:
Kod: | <?php
define('IN_PHPBB', true);
$phpbb_root_path = './';
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
$template->set_filenames(array(
'body' => 'plik_body.tpl'
));
$template->assign_vars(array(
'COSTAM' => 'Hello world'
));
$template->pparse('body');
?> |
error:
Kod: | Fatal error: Call to a member function on a non-object in forums\plik.php on line 7 |
Dj Haker - 20-02-2009, 11:33
Robert007, ale ten plik ze stylem powinien być chyba w templates/plik.tpl ?
|
|
|