Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

php unutar textatterna

[es] :: PHP :: php unutar textatterna

[ Pregleda: 2188 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

urkozamanje
Milosavljevic Marko

Član broj: 36977
Poruke: 138
195.252.90.*



Profil

icon php unutar textatterna08.07.2006. u 02:03 - pre 216 meseci
tabela.php i kodijeva klasa XML_parser.php rade bez problema sve dok ne pokusam da ih implementiram u textpattern. znaci ide ovako:

Code:
<txp:php>

include('files/tabela.php');

</txp:php>


prijavljuje mi

An error occurred in the following tag: <txp:php> -> Notice: Trying to get property of non-object

Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `'$'' in C:\webroot\alco_txp\files\XML-parser.php(21) : eval()'d code on line 1
An error occurred in the following tag: <txp:php> -> Notice: Undefined variable: test

Parse error: parse error in C:\webroot\alco_txp\files\XML-parser.php(95) : eval()'d code on line 1

itd. znaci kapiram da je kljucna rec Trying to get property of non-object ali nemam pojma zasto se to desava kad van textpatterna nema greske?

probao sam i da oba fajla (tabela.php i XML_parser.php) spojim u jedan ali dalje prijavljuje isto.

da li je neko imao iskustva sa php-om unutar txp-a ??
---- nasa online podrska je trenutno offline ----

Prikačeni fajlovi
 
Odgovor na temu

urkozamanje
Milosavljevic Marko

Član broj: 36977
Poruke: 138
195.252.90.*



Profil

icon Re: php unutar textatterna08.07.2006. u 19:03 - pre 216 meseci
za slucaj da ovo nekome zatreba :

na adresi http://textpattern.com/faq/34/how-do-i-use-php-code postoji sledeca informacija:

Citat:
Variable scope – your PHP code will not be executed in the global scope, so you’ll need to explicitly declare global variables as required. If you want to pass data between separate <txp:php> blocks, you’ll need to do something like this:

<txp:php>
global $foo;
$foo = 'bar';
</txp:php>
...
<txp:php>
global $foo;
echo $foo
</txp:php>


kad sam ovo jednom prilikom procitao upamtio sam da se to odnosi na situacije kada imate dva <txp:php></txp:php> bloka. ja ih nisam imao. imao sam jedan blok i include-ovan fajl:
Code:
<txp:php>

include ('files/tabela.php');

</txp:php>


ali potpuno sam zaboravio najbitnije : your PHP code will not be executed in the global scope, so you’ll need to explicitly declare global variables as required
neophodno je svaku promenljivu unutar neke f-je iz include-ovanog fajla (u mom slucaju tabela.php)
npr:
Code:
function characterData($parser, $data) {

   global $obj;

   eval($obj->tree.'->data=\''.$data.'\';');

}


deklarisati kao global u txp bloku:

Code:
<txp:php>

global $obj;
include ('files/tabela.php');


</txp:php>


[Ovu poruku je menjao urkozamanje dana 08.07.2006. u 20:15 GMT+1]
---- nasa online podrska je trenutno offline ----

 
Odgovor na temu

[es] :: PHP :: php unutar textatterna

[ Pregleda: 2188 | Odgovora: 1 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.