Osadzanie kodu php w szablonach

kashmir

No avatar

2009-11-05 22:48

Cześć,

mój problem powstał w wyniku próby integracji Quick.CMSa z systemem newsów i jest analogiczny do opisywanego przez kolegę DarkSilver w temacie

http://opensolution.org/Quick.Cms/forum/?p=readTopic&nr=1137

Podobnie jak kolega DarkSilver starałem się zainstalować Cutenews i podobnie jak kolega DarkSilver skończyłem z takim samym rezultatem, czyli niepowodzeniem. Nie zrażony porażką wypróbowałem jeszcze kilka innych systemów newsów i wszędzie występował ten sam problem z osadzaniem kodu php w szablonach. Ostatecznie skończyłem na Fusion News 3.9.5, dlatego skupię się na tymże systemie.

Sama integracja Fusion News z Quick.CMS odbywa się poprzez dodanie następującego include'a do odpowiedniego szablonu strony pages_*.tpl:

<?php include "fusionnews/news.php"?>



Gdzie wiec występuje błąd? Na przykład w functions.php występuje taka deklaracja funkcji


function replace_bbcode $message )
{
    global 
$bbcode_normal_find$bbcode_normal_replace$bbcode_normal_find_pair$bbcode_normal_replace_pair;

...
}



W momencie kiedy dochodzi do wywołania tej funkcji przez Fusion News zmienne global nie są zainicjowane. Oczywiście istnieje workaround polegający na ponownej inicjacji zmiennych global wewnątrz funkcji, tak też zrobiłem. Jednak moim zdaniem problem leży po stronie parsowania przez Quick.CMSa osadzonego kodu php (TplParser, parsePHP???).

Myślę, że warto zainteresować się tym tematem i poprawić ten błąd, jeśli faktycznie występuje.

» Quick.Cms v2.x

treewood (OpenSolution)

Avatar: treewood

2009-11-07 09:07

dziekujemy za informacje, faktycznie przyjzymy sie problemowi. Nie testowalismy wykonywania skryptow takie jakie podales w szablonach.

Niestety w chwili obecnej nie znam rozwiazania na to ale mozliwe, ze w przyszlym tygodniu cos sie uda zrobic...

kashmir

No avatar

2009-11-07 12:41

OK, dzięki i proszę informujcie na bieżąco jakbyście coś odkryli.

treewood (OpenSolution)

Avatar: treewood

2009-11-09 12:24

jesli chcesz wyswietlic zmienna np. $bbcode_normal_find w szablonie tpl to musisz sie do niej odwolac tak: $GLOBALS['bbcode_normal_find']

Do góry
o nas | kontakt