Viikkotehtävä 9
Tehdään selaimen aloitussivu henkilökohtaiseen käyttöön, joka hyödyntää kerralla useita ulkopuolisia verkkopalveluja.
Taso 1
- Mallikuva
- Toteuta mallin mukainen PHP-sivu, joka hakee uusimmat uutisotsikot Helsingin Sanomien verkkopalvelun RSS-syötteestä:
http://www.hs.fi/uutiset/rss/
- Ota RSS-syötteestä viisi ensimmäistä uutisotsikkoa ja tee niistä linkkilista.
- Linkkilistan uutisotsikkotekstit on otettava RSS-syötteestä.
- Linkkilistan linkkien on vietävä hs.fi-palvelun kyseiseen uutiseen.
- Hae itsellesi Google Account (Gmail-osoite) ja tilaa sen jälkeen Google Maps API Key.
- Lisää Google Maps -JavaScript-kirjasto ja oma erillinen JavaScript-tiedosto sivuillesi.
Lisää JavaScript-tiedostoon koordinaattitietoja sisältävä muuttuja:
var coords = { "Jyväskylä": [62.24, 25.75], "Tampere": [61.50, 23.77], "Helsinki": [60.17, 24.94] } - Lisää ensin Googlen palvelun avulla Jyväskylän kartta sivuillesi. Tee sen jälkeen valintalista, jonka avulla voi vaihtaa kartan osoittamaan Jyväskylään, Tampereelle tai Helsinkiin. Kartta on vaihtuu heti, kun uusi kaupunki on valittu.
Taso 3
Tee ensin tasoa 1 vastaava toteutus ja lisää sen jälkeen sivulle kaksi uutta laatikkoa.
- Mallikuva
- Hanki itsellesi Windows Live ID tai MSN Passport ja sen jälkeen oma AppID Bing Developer Centeristä.
- Lisää laatikko, jolla voi hakea voi hakea suomenkielisiä sivuja Live Search SOAP -palvelun avulla. Näytä tuloksista viisi ensimmäistä linkkilistana, jotka vievät suoraan kohdesivulle. Live Search -palvelun omille sivuille ei siis tarvitse mennä missä vaiheessa. Soapista voit lukea lisää edellisvuoden luentosivulta ja demotehtävistä.
- Lisää laatikko, joka hakee tulevien päivien lämpötilatiedot ajaxilla
toteutetulta
Helsingin
Sanomien verkkopalvelun sääsivulta:
http://hs.weatherproof.fi/ajax_grams.php?place=Jyv%C3%A4skyl%C3%A4&country=undefined
- Kaiva sivun sisällöstä aikatieto ja sitä vastaava lämpötila.
- Tee omalle sivulle mallia vastaavannäköinen taulukko.
Taso 5
Tehdään mahdolliseksi rakentaa useita mukautettuja aloitussivuja tasoilla 1 ja 3 luoduista laatikoista.
- Mallikuvat:
- Luo seuraavanlainen hakemistorakenne:
html |-- cgi-bin | |-- pohja.xml | `-- template.php |-- vt9_taso5 | |-- .htaccess | |-- amanda | | `-- widgets.txt | |-- mikko | | `-- widgets.txt | |-- omakartta.js | |-- samppa | | `-- widgets.txt | |-- vt9.css | `-- widgets | |-- google_map.php | |-- hs_lampotila.php | |-- hs_uutiset.php | `-- ms_livesearch.php
- Muokkaa tason 3 rakennetta seuraavasti:
- Luo /omaHOMEpolku/html/cgi-bin-hakemistoon template-handler (PHP-tiedosto).
- Määrää hakemistojen ensisijaiseksi oletustiedostoksi widgets.txt.
- Lisää viikkotehtävähakemiston juureen .htaccess-tiedoston avulla kaikkien alihakemistojen .txt-tiedostojen käsittelijäksi /omaHOMEpolku/html/cgi-bin-hakemistossa oleva template-handler.
- Luo
cgi-bintai viikkotehtävähakemiston juureenpohja.xml-dokumentti, jossa on XHTML-dokumentin runko ja yksixml:id-attribuutilla merkitty yleinen lohko. - Siirrä tason 3 PHP-tiedostosta kukin eri asioita tekevä laatikko widgets-hakemistoon
omaan PHP-tiedostoonsa. Voi olla tarpeen merkitä lohko sopivalla xml:id-attribuutin arvolla.
- Siirrä tason 3 PHP-tiedoston head-osasta
script-viittaukset google_map.php-tiedostoon.script-elementti toimii myösbody-elementin lapsielementtinä.
- Siirrä tason 3 PHP-tiedoston head-osasta
- Lisää henkilöiden hakemistojen widgets.txt-tiedostoihin rivit, jotka kertovat mitä PHP-tiedostoja tulisi liittää henkilön aloitussivulle. widgets.txt-tiedostojen on oltava seuraavan mallisia (esim. Amandan sivu):
hs_uutiset.php google_map.php hs_lampotila.php
- widgets.txt:ssä voi olla 0-4 viittausta widgets-hakemiston php-tiedostoihin, kukin omalla rivillään.
- Template-käsittelijä hakee pyydetyn hakemiston widgets.txt:n tiedoston mukaiset PHP-sivut, prosessoi ne ja liittää ne
pohja.xml-dokumenttiin. Selaimelle lähetetään validi XHTML-dokumentti, jossa on henkilön omalle aloitussivulleen haluamat laatikot.

Käyttäjien kommentit