CPL

Blog Sandro Ghini

Programmare con le API di Google Maps e Geocoder. Meglio lavorare in decimali

problema coordinate google geocoderPer un cliente abbiamo realizzato un'applicazione per iPad in grado di restituire la posizione esatta su mappe geografiche di circa 1600 scali portuali del mondo, inserendo sull'iPad il nome o le coordinate di latitudine e longitudine.

Per sviluppare l'applicazione ci siamo serviti degli strumenti che Google mette a disposizione dal lato sviluppatore, le API di Google Maps e il Geocoder, un servizio che permette di convertire un input testuale, come un indirizzo o il nome di un luogo, in coordinate geografiche e viceversa, da utilizzare per programmare applicazioni capaci di mappare e posizionare il contenuto su una mappa.

Avevamo su una tabella excel latitudine e longitudine di ogni porto espresse in gradi e le abbiamo controllate con il servizio di Google Maps (lato pubblico), che individuava con estrema precisione il porto corrispondente.

Tuttavia, nel momento in cui i dati di longitudine e latitudine venivano inseriti in Geocoder (lato sviluppatori), questo restituiva una posizione diversa e non precisa sulla mappa, cosa che invece Google Maps faceva con precisione.

Probabilmente il problema è che il Geocoder lavora con le coordinate espresse in gradi decimali (DD), e non nel formato gradi, minuti, secondi (DMS). In altre parole, ragiona così: 41.89028, 12.49248 e non così: 41° 53´ 25.008" N 12° 29´ 32.928" E

Era questo a generare errori.

La soluzione è stata quella di creare una pagina in php che convertisse le coordinate in gradi che avevamo già nel formato che ci serviva, cioè in decimali, operazione che Google Maps invece esegue automaticamente dal alto utente.

Questa la pagina, a disposizione di chi volesse usarla per convertire i dati: http://www.mycplweb.it/app-lenavi/coordinate.php (aggiungete nella barra dell'indirizzio ad esempio: ?= 15°20' E; 8°10' S e otterrete le coordinate convertite in decimali.

 
3 Voti

0 Commenti

Joomla! 1.5.22. Il bug della "Sezione Blog"

Abbiamo recentemente creato un sito (www.spesasemplice.it) per un nostro cliente, realizzato con CMS Joomla! nella versione 1.5.22.
Ci siamo accorti che gli articoli nella visualizzazione "Sezione Blog" venivano ordinati in modo diverso da come venivano caricati.

Facendo un po' di ricerche, abbiamo scoperto che si tratta di un bug della versione 1.5.22 che causa un diverso ordinamento nell'aspetto "Sezione Blog".

Qui è possibile vedere il tracker relativo

Per risolvere il problema è sufficiente modificare il file /components/com_content/models/section.php alla linea 447

da:

$filter_order = 'a.ordering';

a:

$filter_order = '';

 
0 Voti

0 Commenti

Testare le Applicazioni per iPad e iPhone con i clienti

Quando creiamo un'Applicazione per iPad/iPhone per un cliente, spesso si pone il problema di come mostrarla al cliente.

A differenza del sito, l'App in costruzione non "vive" sul web, ma è sui computer dei programmatori.

Ecco come fare per spedire il file dell'App al cliente e permettergli di testarla sul suo iPhone/iPad. Il cliente deve avere un iPhone/iPad e naturalmente iTunes.

Il programmatore dell'App deve creare un Profilo per l'Applicazione, e compiere tutti i passaggi come se stesse per inviarla all'App Store.

L'App può essere anche in fase di test, non definitiva, intanto non dovrà superare le prove dell'App Store. Il cliente fornisce al programmatore il numero UDID del suo iPhone.

Come fare per trovare l'UDID? Collegarsi iPhone ad iTunes Andare su "sommario"
Cliccare sul testo grassetto Numero di Serie e apparirà il numero UDID Lo sviluppatore, quando crea un profilo, anzichè creare un profilo per App Store, crea un profilo ad hoc, scegliendo i device che possono far girare l'Applicazione
Lo sviluppatore aggiunge il numero UDID all'elenco dei device in lista, e così il cliente potrà vedere l'App.
A questo punto lo sviluppatore invia al cliente il file da trascinare dentro iTunes, e da qui dentro l'iPhone/iPad

Se vuoi saperne di più, puoi contattarci.
 
0 Voti

0 Commenti

PHP per mostrare diversi fusi orari in Joomla!

Sto realizzando un orologio in flash per poter replicare in più istanze in modo da mostrare in una pagina web più orari differenti (avete presente le redazioni dei giornali nei film? beh quello).
L'idea è quella di farne poi un modulo per joomla per il sito di un cliente ramo industriale che lavora molto con l'estero. Il problema principale si è rivelato quello di ottenere l'orario del meridiano 0 per poi calcolarsi gli altri fusi. Per fortuna è venuto in soccorso PHP, che con una banalissima funzione mi ha permesso di ottenere direttamente l'orario desiderato.

La funzione in questione è la seguente, tratta da qui.

codice per fusi orari jooomla

 
0 Voti

0 Commenti

Ordinare in modo personalizzato i prodotti figlio in VirtueMart

ordinare prodotti figlio virtue mart

Dopo una giornata di vane ricerche su google per trovare una soluzione ad un problema importante per CPL Fabbrika come era l'impossibilità di dare un ordine personalizzato ai prodotti figlio in virtuemart ho pensato di fare da me...

L'unica soluzione quasi utile che avevo trovato era quella di ordinare i prodotti per SKU (codice prodotto) in una query di ricerca, aggiungendo al codice prodotto di ogni prodotto figlio un attributo ordinabile. Visto che gli SKU nel nostro caso derivano direttamente dal software gestionale e non sono modificabili e non erano stati pensati per questo scopo si è dovuta trovare un'altra strada... beh niente di più semplice.. ho aggiunto manualmente un campo alla tabella jos_vm_product chiamandolo taglie, usando un editor sql (sequel pro), ho poi assegnato un valore numerico corrispondente alla posizione che il singolo prodotto figlio avrebbe dovuto assumere e ho aggiunto alle query di ricerca nel file ps_product_attribute.php la chiave di ordinamento per TAGLIA crescente.

 

Vediamo nel concreto problema e soluzione:

Problema

- Prodotto padre Maglietta

- Prodotto figlio taglia L

- Prodotto figlio taglia M

- Prodotto figlio taglia S

- Prodotto figlio taglia XL

Soluzione

- Prodotto padre Maglietta

- Prodotto figlio taglia L -> taglia 3

- Prodotto figlio taglia M -> taglia 2

- Prodotto figlio taglia S -> taglia 1

- Prodotto figlio taglia XL -> taglia 4

e nelle 4 occasioni in cui compare questa query:

"SELECT product_id,product_name FROM #__{vm}_product WHERE product_parent_id='$product_id' AND product_publish='Y'";

l'ho sostituita con:

"SELECT product_id,product_name FROM #__{vm}_product WHERE product_parent_id='$product_id' AND product_publish='Y' ORDER BY taglia ASC, product_sku ASC" ;

Ammetto che non è una soluzione molto pulita ma per il poco tempo a disposizione è stata decisamente la migliore che abbia trovato. Se avete risolto in altro modo fatemelo sapere!!!

 
2 Voti

0 Commenti

Come disabilitare mootools in Joomla

Oggi avevamo bisogno di creare "ad hoc" un nuovo template per joomla per replicare un sito già esistente. Il problema si è presentato nel momento in cui era necessario re-implementare i vari effetti javascript realizzati con prototype e scriptaculous; Joomla infatti monta di default "mootools". Si tratta di un framework javascript molto potente, ma che spesso va in conflitto con altri eventuali framework.

Perchè tutto torni a funzionare come prima la soluzione consiste, quindi, nel disabilitare "mootools" nel nuovo template, aggiungendo nella head del proprio template il seguente codice:

disabilitare mootools joomla

 
4 Voti

0 Commenti

Come installare il bottone mi piace di facebook in Joomla!

FaceBook-Logo
Da oggi anche il sito di CPL ha il famoso bottone del "mi piace" di facebook in tutti gli articoli del blog. Anche i siti costruiti in Joomla! possono avere il "mi piace".

Tutto quello che bisogna fare è comprare e installare questo specifico plugin e seguire queste istruzioni per creare un'applicazione che consentirà il collegamento fra facebook e il nostro sito.

In questo modo gli apprezzamenti possono essere espressi direttamente su facebook e compariranno anche nei contenuti e negli articoli del sito che abbiamo collegato.

 

 
2 Voti

0 Commenti

Usare Joomla su iPad

I siti internet realizzati in Joomla! possono essere gestiti ed amministrati anche via i-Pad.

Tutto ciò che bisogna fare è installare il tamplate AdminPraise nei propri siti Joomla! e poi sarà possibile accedere all'area amministrazione anche da i-Pad utilizzando il browser di Safari; in questo modo è possibile gestire i propri siti in Joomla! anche in mobilità.

Unico piccolo inconveniente è il fatto che gli articoli vengono visualizzati in linguaggio html, e quindi è necessaria un po' di abitudine al codice.
Per saperne di più e scaricare AdminPraise potete consultare il sito ufficiale.

 
0 Voti

0 Commenti

Amministrazione VirtueMart: ricerca dei prodotti figli per codice

All'interno dell'area di amministrazione di un sito e-commerce, realizzato e gestito con Joomla! e il componente VirtueMart, riscontravamo alcune difficoltà di gestione dei prodotti "padre" e dei rispettivi prodotti "figlio".

Nel sito abbiamo alcuni prodotti "padre" cui corrispondono determinati prodotti "figlio".

Ad esempio:

0001: T-shirt uomo manica corta (prodotto "padre")

0002: T-shirt uomo manica corta rossa (prodotto "figlio" 1)

0003: T-shirt uomo manica corta nera (prodotto "figlio" 2)

Al momento dell'arrivo dell'ordine d'acquisto esso contiene l'indicazione del codice del prodotto "figlio", 0002 secondo l'esempio. Ma nell'amministrazione di VirtueMart questo codice rimane "nascosto" all'interno di quello del prodotto "padre"; per questo non è possibile effettuare la ricerca per capire quale è il prodotto "padre" di riferimento, 0001 nell'esempio nell'amministrazione di Joomla!. Anche inserendo 0002 nel filtro, il motore di ricerca non restituisce alcun risultato.

Questo inconveniente si può facilmente risolvere assegnando un codice numerico al "padre" che sarà identico per i rispettivi prodotti "figlio" ma con l'aggiunta del trattino basso e di una lettera.

Esempio:

0001: T-shirt uomo manica corta

0001_R: T-shirt uomo manica corta rosso

0001_N: T-shirt uomo manica corta nero

In questo modo si possono creare regole precise per l'invio dei dati dal gestionale e si possono organizzare su database i "padre" (senza _ ) e i figli ( con _lettera).

 
5 Voti

0 Commenti

Il proprio sito nell'era dei social network

Quanto senso ha oggi considerare il proprio sito, aziendale o personale che sia, un elemento slegato dal "buzz" che popola la rete?

Si mette il link al profilo facebook oppure la propria timline di twitter, ma non siamo ancora ad un livello di integrazione, solo di link reciproci, per la maggior parte dei casi.

Oramai molte piattaforme di social network mettono a disposizione le proprie "Api" (Application programming interface) per poter accedere e manipolare i dati attraverso script esterni al sito vero e proprio.

Partendo da questo presupposto stiamo progettando il sito di una fotografa Genovese (online dalla prossima settimana) per funzionare in sinergia con Flickr, uno dei siti di riferimento per le community di appassionati di fotografia nel mondo. Tutte le foto saranno caricate, arricchite di tag e dettagli su flikr: anche con l'obiettivo di ottenere una visibilità immediata sui motori di ricerca. Sul sito vero e proprio invece saranno presenti fisicamente solo la biografia e i contatti, tutta la parte di gallerie e visualizzazione delle foto verrà dinamicamente generata e caricata a partire dal profilo flickr.

Morale della storia: due modi per visualizzare il sito, ma una sola interfaccia di caricamento e gestione da imparare per il cliente...

Stay tuned per gli aggiornamenti!

 
2 Voti

0 Commenti

abc ecommerce negozio on line

Il libro di Enrico Ratto (CPL)
con tutti i segreti per
avviare un negozio on line!
Clicca qui per acquistarlo.