PDA

Zobacz pełną wersję : XML-RPC jak wyświetlic dane?



bbruda
15-02-2008, 11:21
Postaram się w miarę dokładnie wyjaśnić o co mi chodzi.

Wiem ze nowa joomla ma już biblioteki obsługujące webservice wprawdzie w prostszym wydaniu bo RPC ale mi to wystarczy ;)

Włączamy ja tak:
System Settings- Enable Web Services-YES


Mam kilka baz danych z których dane sa wyciągane przez webservice-rpc, teraz potrzebuje to samo poprzez rpc wyswietlić w joomli, to jakies katalogi produktów.

Teraz pytanie do kogos kto ma wiadomości i troche wolnego czasu zeby mi napisał jak mam sie do tego zabrać...

Joomla znam z poziomu graficznego (szablony, kodowanie szablonów itp) i administracji systemem, componentów nie tworzyłam do tej pory chociaz mam jakis tutorial ale do wersji 1.0.x

Dysponuje fragmentem kodu który ma mi umozliwic pobranie bazy danych, mam go wrzucic do aplikacji. Pytanie jak mam to zrobic? ;) czy napisac jakiś moduł czy komponent czy moze jakos inaczej?

Będe wdzięczna za wszelka pomoc ;)

inkos
15-02-2008, 13:29
moduł czy komponent czy moze jakos inaczej?
Komponent wtedy będziesz miała mozliwość zmian w konfiguracji o ile zakładasz takie funkcje w przyszłości. :)

bbruda
15-02-2008, 16:53
przejrzałam strukture komponentów z 1.5 różni sie bardzo, niestety nie porwe sie na to :/ nie dość ze brak mi wiedzy to jeszcze brak polskiego tutoriala

może orientuje sie ktoś czy cos takiego udało by sie dopisać do wersji 1.0.13?

inkos
15-02-2008, 16:58
przejrzałam strukture komponentów z 1.5 różni sie bardzo, niestety nie porwe sie na to :/ nie dość ze brak mi wiedzy to jeszcze brak polskiego tutoriala
W takim razie pozostaje Ci tylko wersja 1.0.13 do której dokumentacji jest więcej. ;) Tylko pytanie czy to jest wykonalne na tej wersji Joomla.

bbruda
15-02-2008, 17:09
własnie nie mam zielonego pojęcia, moze ktoś juz próbował uruchomić webservice na joomli?

opis budowy komponentu do starszej wersji jest bogaty i czytelny, chyba nawet ja dam rade ;) ale jak dodac obsługe webservice do joomli?

czy stworzyć katalog z nazwa webservice, dodac tam index z zawartoscia jaka otrzymałam do wyswietlenia danych i połaczenia?

a przez komponent przetworzyc to co zwroci z xml i wyswietlic na stronie?

bbruda
21-02-2008, 10:20
napisze w takim razie jak sobie poradziłam w wersji 1.0.13 jakby ktoś szukał, dostałam link do usługi webserwis, potem przez posta przekazałam zapytanie xml-owe do webserwisu, a to co mi zwrócilo wyswietliłam sobie za pomoca simplexml, cały kod wysiwetliłam w pliku /com_nazwakomponentu/nazwakomponentu.php

oto przykładowy kod:

<?php
defined( '_VALID_MOS' ) or die( 'Direct Access to this location is not allowed.' );

$xml = "<?xml version=\"1.0\" encoding=\"ISO-8859-2\" ?>\n"; //kodowanie xml zawsze musi byc ustawione na utf
$xml .= "<xmlquery przykładzapytania=\"wartosc\" >\n";
$xml .= "</xmlquery>\n";

$url = "adresdousługi";

$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch, CURLOPT_FAILONERROR, 1);
curl_setopt($ch, CURLOPT_PORT, 80);
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, array("XMLQUERY"=>$xml));
$result = curl_exec($ch);


$result = preg_replace("/(ISO-8859-2)/", "UTF-8", $result);
$result = iconv("ISO-8859-2", "UTF-8", $result);


$xmlobj = @simplexml_load_string($result);

foreach($xmlobj -> przykład as $przyklad) {
echo 'Produkt:<br/>'.$przyklad -> przyklad_nazwa.'';

}

?>

powodzenia