To jest tylko wersja do druku, aby zobaczyć pełną wersję tematu, kliknij TUTAJ
phpBB2 by Przemo
Support forów phpBB2 modified by Przemo

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:
Kod:
{L_IP_ADDRESS}


Teraz wystarczy poszukać globalnej zmiennej $lang :D 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 :P
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 ?


Powered by phpBB modified by Przemo © 2003 phpBB Group