1.wejdź na zaplecze do swojej Joomli, przejdź do komponentu Sobi2, Konfiguracja -> Menadżer pól następnie, zapamiętaj ID pola do którego chcesz skopiować kod Javascript (ostania kolumna),
2.następnie wejdź do PHPMyAdmin, wybierz swoją bazę danych, w tej bazie musisz odnaleźć tabelę jos_sobi2_fields (jos_ - jak masz domyślny prefix), wyświetl rekordy znajdujące się w niej,
3.następnie znajdź rekord (wiersz), gdzie w kolumnie fieldid (pierwsza kolumna)jest wpisane ID (to z zaplecza), następnie edytuj ten wiersz (klik na ołówek) i w polu fieldDescription wklej kod javascript
Kod PHP:
<script type="text/javascript" language="JavaScript">
/* adjust here the field names if they are not correct */
var apiKey = "{googleApiKey}";
var postalCodeField = 'field_postcode';
var cityField = 'field_city';
var streetField = 'field_street';
var countryField = 'field_country';
var latitudeField = 'field_latitude';
var longitudeField = 'field_longitude';
function fetchCoordinates() {
/* here you should not change anything */
var gRequest = null;
var postalcode = document.getElementById(postalCodeField).value;
var city = document.getElementById(cityField).value;
var street = document.getElementById(streetField).value;
var country = document.getElementById(countryField).value;
if(postalcode == '' || city == '' || street == '' || country == '' ) {
/* you can change the error message here */
alert("Proszę wypełnić pola adresowe");
}
else {
var gRequest = "http://maps.google.com/maps/geo?q=" +street+ "+" +postalcode+ "+" +city+ "+" +country+ "&output=json&key="+apiKey+"&callback=getCoordinates";
var scriptObj = document.createElement("script");
scriptObj.setAttribute("type", "text/javascript");
scriptObj.setAttribute("src", gRequest);
document.getElementsByTagName("head").item(0).appendChild(scriptObj);
}
}
function getCoordinates(data) {
switch(data.Status.code) {
case 610:
/* you can change the error message here */
alert("Api key nieprawidłowy: {googleApiKey}");
break;
case 603:
case 602:
case 601:
case 500:
/* you can change the error message here */
alert("Nie można pobrać koordynatów geograficznych dla tego adresu");
break;
case 200:
document.getElementById(latitudeField).value = data.Placemark[0].Point.coordinates[1];
document.getElementById(longitudeField).value = data.Placemark[0].Point.coordinates[0];
break;
}
}
</script>
<!-- You can change the "value" (The label on the button) here -->
<input type="button" class="button" onclick="fetchCoordinates();" value="Kliknij i pobierz dane Mapy"/>