Como enviar variables ós mapas

20 octubre 2008

Hai tres xeitos diferentes de asignar valores ás variables que utilizamos na chamada ó modelo carte_gis, nos esqueletos. Deste xeito, é posible configurar os mapas da parte publica e dar a cada un deles unhas características determinadas.

A primera e mais sinxela das estratexias, consiste en asignar os valores da cada unha das variables directamente na líña de código que chama ó modelo carte_gis. Este xeito de asignar valores ten a limitación de que as variables deixan de ser dinámicas e quedan establecidas de xeito definitivo para todas as páxinas que utilizan el esqueleto.

 
[(#MODELE{carte_gis}{id_carte_gis='_sommaire'}{id_rubrique=72}{latit=42.817}
{lonxit=-6.617}{zoom=8}{type='physique'}{control='custom'})]

A segunda estratexia consiste en enviar os valores a través da URL da páxina web, cando fas a ligazón coa mesma. Así é posible enviar distintos valores a un mesmo esqueleto e que a páxina web resultante cambie en función da información enviada a través da URL.

Un esqueleto coa chamada ó modelo carte_gis como a que segue devolvería un mapa idéntico ao anterior utilizando a URL que se amosa.

 
[(#MODELE{carte_gis}{id_carte_gis}{id_rubrique}{latit}{lonxit}{zoom}{type}
{control})]

http://www.vhplab.net/dev_gis/spip.php?page=map-1&id_carte_gis=_sommaire&id_rubrique=72&latit=42.817&lonxit=-6.617&zoom=8&type=physique&control=custom

Este xeito de asignar valores obriga a ter certo coidado á hora de crear as ligazóns a cada unha das páxinas do noso sitio web. Os esqueletos dinámicos que varían en función da rúbrica ou do artigo no que se atopa o usuario, son relativamente sinxelos de manexar, xa que está información sempre se atopa dispoñible nas URLs creadas automáticamente por Spip. Nembargantes, non é aconsellable enviar información como a lonxitude ou a latitude por defecto do mapa, a través dunha URL.

A última estratexia consiste en crear un bucle no esqueleto e recoller a información que devolva a través de das balizas #SET e #GET, para utilizar os valores procedentes das balizas do bucle na chamada ó modelo carte_gis. De este xeito se podería por exemplo do uso dun bucle para enviar a través de #SET e #GET a latitude e a lonxitude do último artículo publicado.

 


#SET{valor_latit, #LAT}
#SET{valor_lonxit, #LONX}



[(#MODELE{carte_gis}{id_article}{id_rubrique}{id_mot}{id_auteur}
{latit=#GET{valor_latit}}{lonxit=#GET{valor_lonxit}}{zoom=8})]