Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

[RESOLU] FEU + CgGoogleMaps pour carte des membres
#1

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: #1.9.4.1
#~ Url du site : www.sfp-apa.fr
#~ Hébergeur / Soft : OVH Perso
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.9.4.1
#~ Installed Modules:
#~ CMSMailer: 2.0.1
#~ FileManager: 1.1.0
#~ MenuManager: 1.7.6
#~ ModuleManager: 1.4.2
#~ News: 2.11.2
#~ nuSOAP: 1.0.2
#~ Printing: 1.1.2
#~ Search: 1.6.10
#~ ThemeManager: 1.1.4
#~ TinyMCE: 2.8.4
#~ FrontEndUsers: 1.12.13
#~ CustomContent: 1.7.3
#~ Forum: 0.9.4
#~ Captcha: 0.4.3
#~ CGUserDirectory: 1.2.4
#~ FormBuilder: 0.7
#~ TreeManager: 0.6.0
#~ CompanyDirectory: 1.8.3
#~ CGExtensions: 1.25
#~ CGSimpleSmarty: 1.4.8
#~ CGFeedback: 1.3.3
#~ CGCalendar: 1.6.1
#~ CGFeedMaker: 1.0.14
#~ Uploads: 1.11.6
#~ NMS: 2.3.2
#~ CGBlog: 1.7.2
#~ FEmessages: 1.1
#~ MysqlDump: 1.2.4
#~ FEUMailer: 0.9
#~ LinkMgr: 1.5.1
#~ Gallery: 1.4.4
#~ DownloadManager: 1.5.1
#~ DLM: 0.7.7
#~ CGGoogleMaps: 2.1.4
#~ JQueryTools: 1.0.10
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,

D'après Calguy (http://calguy1000.com/news/6/61/CGGoogle...anced.html), il est possible de réaliser une carte représentant la localisation des membres avec CGGoogleMaps et FrontEndUsers, un peu comme on le fait pour le module CompanyDirectory.

POur ce dernier, j'utilise le code suivant dans le gabarit du module et cela suffit.
Code :
{foreach from=$items item=entry}
{cggm_add_dynpoint map='1' address=$entry->address name=$entry->company_name description=$entry->details}
{/foreach}
{CGGoogleMaps map='1'}

Par contre, pour FEU, je me demande comment faire ?

En effet, je pense qu'il s'agit de créer un propriété "adresse" dans FEU qui servira à GoogleMaps pour le positionnement (mais CompanyDirectory transforme une adresse en coordonnées Lat/Long).

Ensuite, quel code insérer et ou ?

Directement dans la page, dans le gabarit d'une carte ?

Si quelqu'un a une idée, je suis preneur. Je poste ici car c'est plus facile pour moi que sur le forum du .org car je ne m'exprime pas toujours très bien en langue anglaise...

Merci !
#2

Hello,

Il faut que tu passes par le module CGUserDirectory qui va s'occuper de récupérer la liste des membres pour te permettre de la formater via des gabarits Smarty.

Avant cela, il faut que tu ajoutes un champ pour l'adresse dans les propriétés des tes utilisateurs (FEU). Nul besoin de latitude/longitude, généralement GoogleMaps se débrouille assez bien avec les adresses réelles.

Ensuite, dans le gabarit de sommaire de CGUserDirectory, tu peux mettre le même type de code que celui que tu as cité.

A ta dispo si tu as des questions
#3

Ok merci Airelibre,

J'avais eu l'idée de regarder avec ce module mais comme Calguy disait dans son billet que ça suffirait (mais sans rentrer dans les détails) avec FEU...

Donc j'ai essayé de mettre le code suivant dans mon summary template :
Code :
{foreach from=$oneuser.properties item='onepropvalue' key='propname'}
{cggm_add_dynpoint map='2' address=$users->onepropvalue.adresse name=$users->username}
{/foreach}
{CGGoogleMaps map="2"}

Mais ça ne donne rien : la carte s'affiche, mais les adresses ne sont pas représentées. Ma propriété dans FEU s'appelle "adresse" mais avec tous ces foreach j'y perds mon latin...

As tu une idée de code ?
#4

Je suis pas sûr que ton code soit bon dans le foreach. Normalement tu récupères un objet ou un tableau $onepropvalue
As-tu essayé d'afficher {$onepropvalue.adresse} dans le foreach et hors de la balise pour CGGoogleMaps ?
#5

Bon j'ai trouvé ça et ça affiche l'adresse

Code :
{foreach from=$users item='oneuser'}
{foreach from=$oneuser.properties item='onepropvalue' key='propname'}
    {if $properties.$propname.name == "adresse"}
    {$onepropvalue}
    {/if}
   {/foreach}
{/foreach}

Maintenant je vais travailler à intégrer cela avec CGGoogleMaps pour le geocoding mais je sais pas pourquoi, j'ai un a priori plutôt négatif... Enfin, je vous tiens au jus...
#6

Avec ça c'est mieux !

Le marker est bien positionné (comme quoi mon a priori n'était pas fondé)
Code :
{foreach from=$users item='oneuser'}
{foreach from=$oneuser.properties item='onepropvalue' key='propname'}
    {if $properties.$propname.name == "adresse"}
       {cggm_add_dynpoint map='2' address="$onepropvalue" name="$oneuser.username"}
    {/if}
   {/foreach}
{/foreach}
{CGGoogleMaps map="2"}

Je n'ai plus qu'à essayer avec plusieurs membres et voir pour remplir les bulles... Ca avance ça avance !!!


Merci pour ton aide Airelibre Smile

En espérant que ça aide certains...
#7

Super Smile Généralement la localisation fonctionne assez bien

Bonne continuation, et n'oublie pas de marquer [Résolu] au début du sujet de ton premier post. Merci !
#8

Tu pourrais déplacer la discussion dans les trucs et astuces ou je reposte ?
#9

Voilà c'est déplacé Wink Je ferme la discussion
Sujet fermé


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)