Apua porrastettujen saamiseksi hevosen sivuille (palkalla!)
-
Noniin. En tiedä menikö otsikointi sinnepäinkään.
Haluaisin siis saada hevosten sivuille näkymään myös porrastettujen ominaisuuspisteet, ja nimenomaan niin, että tiedot tulisivat suoraan VRL:n sivuilta. Onko tätä mahdollista toteuttaa tuonne meikäläisen tallille?Koska itse olen varsin avuton koodien suhteen ja laiskakin vielä, kovasti toivoisin, että joku koodinero voisi tämän minulle toteuttaa! Eli suunnitella tuonne yo sivulle sopivan porrastettujen esitystavan. Haluaisin sen tuohon missä tavallisetkin kisat ovat (vaikka yläpuolelle). Hevoset kisaavat vain ARJ:n alaisia, joten riittää että VRL:stä tulisi vain niitä koskevat tiedot (ominaisuudet ja taso jolla hevonen on)
Ilman palkkaa ei tarvi tehdä! Maksan mielelläni ihan euroja, tai sitten voin myös kirjoitella (mielellään valmennuksia tai pk merkintöjä), kisata tai muotoonlaittaa
-
Ominaisuuspisteet tulostetaan rajapinnasta php:lla, joten kaikki hevosten sivut pitäs muuttaa .php-päätteelle että rajapintakutsut toimii edellyttäen myös että ruusukka.orgin palvelin tukee php:ta
Mä oon näitä aika paljon jo tähän mennessä muille palkatta väsännyt niin onnistuu kyllä räätälöidä sullekin tulostusrimpsu, jos vaan tosiaan vaihdat eka noi sivut php:lle
Jos haluut välttyä hevosten linkkien päivitykseltä niin onnistuu tarvittaessa myös tehä .htaccess-tiedostoon uudelleenohjauskoodi, mikä ohjaa kävijän automaattisesti uuteen .php-päätteiseen osotteeseen
-
-
@mari-h Ei tarvi tehdä muuta Tässä tällanen nopee, laita ensin tämä ihan sivun alkuun ennen muita koodeja:
<?php //Muokkaa tähän hevosesi VH-tunnus $vh = 'VH19-053-0048'; //ei tarvittavia muutoksia tämän alle $url = 'http://virtuaalihevoset.net/rajapinta/porrastetut/'.$vh; $obj = json_decode(file_get_contents($url), true); if(isset($obj['error']) && $obj['error'] == 0){ $data = $obj['porrastetut']; $info = $data['info']; $hevonen = $data['hevonen']; } ?>
Ja sitten tämä siihen kohtaan mihin haluat ominaisuuspisteiden tulostuvan:
<?php // jos hevonen on haettu epäonnistuneesti, tulosta virhe if($hevonen['error'] == 1){ echo $hevonen['error_message']; // jos haku on onnistunut: } else { echo "<b>Ominaisuuspisteet:</b><br>"; foreach ($hevonen['tasot'] as $jaos=>$tasoinfo){ // summan alustus jaoksen ominaisuuspisteille $summa = 0; // haetaan tiedot rajapinnasta muuttujiin $jaosnimi = $info['jaokset'][$jaos]['jaos_nimi']; $jaoslyhenne = $info['jaokset'][$jaos]['jaos_lyhenne']; $jaoksenominaisuudet = $info['jaokset'][$jaos]['ominaisuudet']; $taso = $tasoinfo['taso']; $max_taso_rajoitus = $tasoinfo['taso_rajoitus']; // loopataan jokaisen jaoksen ominaisuuden läpi foreach ($jaoksenominaisuudet as $id){ $ominaisuusnimi = $info['ominaisuudet'][$id]; $ominaisuuspisteet = $hevonen['ominaisuudet'][$id]['pisteet']; //summaa ominaisuuden pisteet summamuuttujaan $summa += $ominaisuuspisteet; // tulosta ominaisuus pisteineen, jos se kuuluu ARJ alle if ($jaoslyhenne == "ARJ") { echo ucfirst($ominaisuusnimi) . ": " . $ominaisuuspisteet . " p.<br>"; } } //Tasojen ja kokonaispisteiden tulostus vain, jos jaos on ARJ if ($jaoslyhenne == "ARJ") { echo "<br>"; echo $jaoslyhenne . ":n porrastetuissa "; echo "tasolla <b>" . $taso . "/" . $max_taso_rajoitus . "</b> (" . $summa . " p.)<br>"; } } } ?>
-
@jassu-l Aa kiiitos kiitos
Saako noita tekstien tyylejä muokattua mitenkään? Jos haluaisi esim. tuon "ominaisuuspisteet" samalla tyylillä kun lukee "Yhteensä 25 ARJ-sijoitusta". Ja saako siirrettyä tuon tason (ARJ:n porrastetuissa tasolla...) noiden ominaisuuspisteiden oikealle puolelle? (ts. tiedot tulisivat kahdelle palstalle samaan tyyliin kuin normikisojen sijat)Ja oisitko jaksanu auttaa vielä tuon uudelleenohjauksen kanssa?
-
@mari-h Kaikkea saa muokattua, tuo php echo siis tulostaa ihan tavallista html-koodia mut se on vaan naamioitu php-merkkijonoksi. Kokeiles näin, tämä siis pelkkä tuo tulostusosio, sivun yläosaan laitettu koodi säilyy samana:
edit: äh näköjään tää keskustan codeblock sotkee sisennykset ihan hirveän näköseksi mutta olkoon
<?php // jos hevonen on haettu epäonnistuneesti, tulosta virhe if($hevonen['error'] == 1){ echo $hevonen['error_message']; // jos haku on onnistunut: } else { echo "<p class=\"sijoitukset\">Ominaisuuspisteet</p>"; foreach ($hevonen['tasot'] as $jaos=>$tasoinfo){ // summan alustus jaoksen ominaisuuspisteille $summa = 0; // haetaan tiedot rajapinnasta muuttujiin $jaosnimi = $info['jaokset'][$jaos]['jaos_nimi']; $jaoslyhenne = $info['jaokset'][$jaos]['jaos_lyhenne']; $jaoksenominaisuudet = $info['jaokset'][$jaos]['ominaisuudet']; $taso = $tasoinfo['taso']; $max_taso_rajoitus = $tasoinfo['taso_rajoitus']; if ($jaoslyhenne == "ARJ") { echo "<div class=\"kisat\">"; } // loopataan jokaisen jaoksen ominaisuuden läpi foreach ($jaoksenominaisuudet as $id){ $ominaisuusnimi = $info['ominaisuudet'][$id]; $ominaisuuspisteet = $hevonen['ominaisuudet'][$id]['pisteet']; //summaa ominaisuuden pisteet summamuuttujaan $summa += $ominaisuuspisteet; // tulosta ominaisuus pisteineen, jos se kuuluu ARJ alle if ($jaoslyhenne == "ARJ") { echo ucfirst($ominaisuusnimi) . ": " . $ominaisuuspisteet . " p.<br>"; } } //Tasojen ja kokonaispisteiden tulostus vain, jos jaos on ARJ if ($jaoslyhenne == "ARJ") { echo "</div>"; echo "<div class=\"kisat\">"; // nyt ; lisätty echo $jaoslyhenne . ":n porrastetuissa "; echo "tasolla <b>" . $taso . "/" . $max_taso_rajoitus . "</b> (" . $summa . " p.)"; echo "</div>"; } } } ?>
Uudelleenohjauksesta, niin kuinka monta heppaa sulla on tulossa php-päätteisille sivuille?
Sulla ei oo hevoset erillisessä kansiossa minkä ois saanu helposti uudelleenohjattua uudelleenohjaamatta "perussivuja", niin mietin tässä että pääseekö helpommalla vaihtaa kaikki .htm sivut php-päätteisiksi ja pistää niille kaikille sitten uudelleenohjaus huolimatta siitä onko sivuilla ominaisuuspistekoodia vai eiSori huutista, sekoilen olihan tuolla toi saddlebred-kansio!Mut joo, jos kaikki kansion hepat on tulossa uudelleenohjaukseen niin se on helppo parin rivin homma, mut jos ei niin voin räätälöidä jonkun ehdollisen uudelleenohjauksen riippuen siitä montako heppaa pitää uudelleenohjata niin teen joko "ohjaa kaikki, paitsi..." tai vaihtoehtoisesti "ohjaa ainoastaan nämä..." tyyppisen ratkaisun.
-
@jassu-l Joo, tuolla tallilla kaikki kansion hepat tulee uudelleenohjattavaksi Sit on kyllä toinen talli jossa en oo jaotellu hevosia kansioihin vaan kaikki sivut on samassa läjässä... Mutta ehkä sielläkin on aika ottaa kansiot käyttöön niin ei tarvi mitään monimutkaista (tarkoitus siis lisätä nämä ominaisuuspisteet myös sinne)
Tuo sissi.php sivu näköjään lakkasi kokonaan toimimasta kun lisäsin tuon uuden koodinpätkän
-
@mari-h Aa huppis toimimattomuus johtuu siitä että
echo "<div class=\"kisat\">"
rivin lopusta tuolta suht loppupuolelta puuttuu;
perästä, tämän siitä saa kun yrittää kirjoittaa suoraan tähän topiciin eikä koodieditoriinOnko sulla jo valmiina tuolla alidomainin pääkansiossa (=glowdale) .htaccess-niminen tiedosto? Jos ei niin voit sellaisen luoda, ja kaikkia kansion heppoja koskeva uudelleenohjauskoodi olis tällanen:
RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/saddlebred/(.*)\.htm$ [NC] RewriteRule ^ /saddlebred/%1\.php [R=302,L,QSD]
Jos taas haluat uudelleenohjata vaan tietyt hevoset (esimerkissä
polle1.htm
,polle2.htm
japolle3.htm
, niin sitten tällanen (erottele heppojen tiedostonimien alut pystyviivalla, ei ylimääräisiä välilyöntejä mihinkään):RewriteEngine On RewriteBase / RewriteCond %{REQUEST_URI} ^/saddlebred/(polle1|polle2|polle3)\.htm$ [NC] RewriteRule ^ /saddlebred/%1\.php [R=302,L,QSD]
Jos sulla on jo valmiina siellä .htaccess-tiedosto, niin mä voisin sitä vähän vilkaista Siellä todennäköisesti on jo jotain palvelimen omaa settiä seassa, ja .htaccess'issa järjestys on tosi tärkeä niin pitäis tsekkaa mihin kohtaa tiedostoa tuon uudelleenohjauskoodin uskaltaa laittaa
-
@jassu-l tuolla esimerkkisivulla on vissiin on vissii joku huonosti koodissa kun pomppaa tuo alempi otsikko ihan minne sattuu
Ei löytynyt valmiiksi tuommosta .htaccess tiedostoa. Laitetaanko tuo tiedosto siis aina jokaiseen kansioon erikseen? Eli esimerkiksi tuon voisi laittaa saddlebred kansioon ja pienellä muokkauksella myös walker kansioon jne.
-
@mari-h Aa no niin just se on toi float:left määrittely mikä tuolla sotkee, se on vähän vanhentunut tapa tehdä palstoja Kokeiles ratkeaako jos lisätään pari rivivaihtoa porrastettujen pisteiden jälkeen tuonne php-koodin sekaan, niin ei tarvis css-tiedostoon kajota; tämä rivi siis ainut mikä muuttuu:
echo "tasolla <b>" . $taso . "/" . $max_taso_rajoitus . "</b> (" . $summa . " p.)<br><br>";
Tuo .htaccess-tiedosto on tosiaan kätevin tehdä pelkästään tuonne tallin juurikansioon, eli ei tarvi tehdä omia tiedostoja heppakansioihin Kaikkien heppakansioiden uudelleenohjaukset voi määritellä siinä yhdessä samassa tiedostossa, jonka siis pitäisi sijaita samassa kansiossa kuin glowdale.ruusukka.orgin etusivu ja muut "pääsivut".
Toki rotukansioihin omien .htaccess-tiedostojen luominenkin on mahdollista, mutta tuon tekemäni koodin polku on nyt sellainen että se toimii pelkästään siellä juurikansiossa. Enkä tiedä kuinka kätevää on pyörittää montaa eri tiedostoa siellä jos kaiken voi kerran hoitaa yhdelläkin. -
@jassu-l Jee nyt näyttäis toimivan
Haluatko vielä vinkata että miten siis lisään tuohon ne muutkin uudelleenohjattavat kansion? Tällä on hetkellä seitsemän hevoskansiota.
//edit onko tuo .htaccess tiedosto jotenki näkymätön Loin semmosen mutta se katos -
@mari-h Joo .htaccess on ainakin mun Suncometin pannulla näkymätön, jos esim. cPanelilla editoit etkä ftp-siirroilla
Saat sen uudelleen auki kun avaat ensin jonkin muun tiedoston editoitavaksi, vaihdat editoitavan tiedoston nimen osoiterivillä.htaccess
iksi ja painat enteriä, tai FileZillalla tai muulla perinteisellä ftp-ohjelmistolla sen pitäisi myös olla ihan normaalisti näkyvissäKansioita voi lisätä noilla kahdella jälkimmäisellä rivillä. Kaks ekaa riviä kertoo että nyt ruvetaan uudelleenohjaamaan ja mikä on tiedoston juuri mistä uudelleenohjataan, niin niitä ei tarvi joka kerta määritellä erikseen
Karkeasti tiedosto voi siis näyttää esim tältä (hashtagilla alkavat rivit on vain selkiyttäviä kommentteja, eivät vaikuta tiedoston toimintaan ja ne voi halutessaan poistaa):
# nämä tässä alla tarvii määritellä vain kerran tiedoston alussa RewriteEngine On RewriteBase / # kansio1 uudelleenohjaus RewriteCond %{REQUEST_URI} ^/kansio1/(.*)\.htm$ [NC] RewriteRule ^ /kansio1/%1\.php [R=302,L,QSD] # kansio2 uudelleenohjaus RewriteCond %{REQUEST_URI} ^/kansio2/(.*)\.htm$ [NC] RewriteRule ^ /kansio2/%1\.php [R=302,L,QSD]
-
@Jassu-L Jee näyttäis toimivan Suuren suuri kiitos!! Jos haluat jotain vaivanpalkkaa niin nakkaa yv!