Nouvelle version, 2.0-RC3, disponible ici.
Je suis très heureux de vous présenter la première version du plugin Dotmap 2.0-RC1RC2, pour Dotclear 2.
Pour rappel, ce plugin permet d'associer un billet à un lieu géographique, et d'afficher vos billets sur des Google Maps. Pratique pour les voyageurs ou ceux qui souhaitent associer un lieu géographique à leurs billets.
Dotmap permet donc de créer des points, à partir de leur longitude/latitude ou de leur adresse, de les localiser sur une carte géographique, et de positionner un marqueur représentant le billet, à cet emplacement, sur la carte. Le texte du marqueur (infobulle) est entièrement paramétrable.
Cette toute nouvelle, développée avec l'aide de Julien, reprend les principales fonctionnalités de son équivalent pour Dotclear 1:
- Géolocalisation d'un point à partir de son adresse ou longitude/latitude.
- Possibilité d'associer plusieurs points à un billet, et inversement.
- Configuration de la représentation des Google Maps.
Egalement, cette mouture profite de quelques aménagements !
- Chargement des points à partir d'un fichier XML, ce qui simplifie considérablement leur manipulation et allège le code Javascript.
- Widget Dotmap avec possibilité d'alléger le nombre de points Google Maps affichés (trop de points affichés surchargent le navigateur).
- Templates HTML.
- Interface d'administration plus souple.
- Correction d'un bug de la RC1 qui empêchait le plugin de tourner correctement (-sic-).
- Possibilité de zoomer sur la carte principale.
- Possibilité d'importer les points et les associations de billets et de points créés sous Dotmap 2 pour Dotclear 1. Le seul pré-requis est que les tables Dotclear 1 soient dans la même base que les tables de Dotclear 2.
Ce plugin n'est certainement pas exempt de bugs, cependant, après plusieurs simulations d'installation, il devrait être relativement stable sur de nombreux autres blogs. Ce billet accueille néanmoins toutes les questions, remarques, notifications de bugs et aide dont vous pourriez avoir besoin. N'hésitez pas, c'est fait pour. Merci à Chérie de m'avoir supporté pendant ces quelques heures lorsque j'étais plongé dans le code PHP. 000.
Amusez-vous bien !
Notes d'utilisation :
- Un mode d'emploi est accessible depuis l'interface d'administration du plugin. Il indique quels fichiers modifier pour intégrer Dotmap à votre blog. Il est vivement recommandé de le lire..
- N'oubliez pas de vous procurer une clé Google Maps chez Google, avant de pouvoir utiliser Dotmap.
- Seuls les points associés à un ou plusieurs billets s'afficheront sur les cartes. Vous devez donc passer par le menu "Points" puis "Associations" pour pouvoir afficher quelque chose.
- Les paramètres de votre carte (taille, couleur, style) sont réglables dans la feuille de style de votfre thème (fichier CSS).
- .dotmappost : Cette classe contient le style d'affichage des cartes qui s'affichent dans les billets.
- .dotmapwidgetclass : Cette classe définit le style de la carte affichée dans le Widget Dotmap.
- .dotmaphomemap : Cette classe contient le style de la carte principale, appellée depuis le Widget Dotmap.
- Le positionnement des cartes est défini par l'emplacement des balises d'affichage des cartes (
tpl:PostMap
: carte des posts ; ettpl:BigMap
: carte principale) dans vos fichiers de template de votre thème (home.html, post.html, ...). - Il est possible qu'après modification du template de votre thème, la carte ne s'affiche pas immédiatement. Vérifiez qu'au minimum les 4 balises suivantes sont bien présentes, conformément aux instructions du mode d'emploi :
tpl:initMaps
ettpl:loadMaps
pour initialiser le code Javascript de l'API Google Maps ;tpl:PostMap
pour afficher une carte dans les posts ; et éventuellementtpl:BigMap
pour afficher la carte principale. - Si cela ne s'affiche toujours pas, c'est probablement dû au cache Dotclear qui n'a pas pris en compte vos changements. Vous pouvez forcer sa suppression à l'aide du plugin EraseCache.
- Si cela ne fonctionne toujours pas, laissez-moi un commentaire avec les symtômes et l'URL de votre blog.
Commentaires
Petite erreur survenue lors de bidouilles :
Catchable fatal error: Object of class staticRecord could not be converted to string in /homepages/18/d140079147/htdocs/nicochina/plugins/dotmap/class.dc.dotmap.php on line 411
Merci pour cet outil et bon courage
Hello,
Je vais jeter un oeil. L'erreur se produit-elle sur la partie privée (admin) ou publique du blog, et dans quelle situation ?
Hum, petit sushi d'affichage de la map chez mwa mais rien de grave.
Courage, un très bon plugin
Ouf, ça marche au moins chez quelqu'un
Pas évident de mettre au point un plugin.
A+ et merci!
Mais au fait, quel est ce pbm d'affichage de la map dont tu parles?
Super ce plugin!
Une petite suggestion toute fois, on accède aux onglets de configuration quelque soit les permissions..Je te propose donc le code suivant dans le fichier "index.php" afin de limiter les deux derniers onglets aux administrateurs du blog.
include dirname(__FILE__).'/index_adm_about.php';
include dirname(__FILE__).'/index_adm_plots.php';
include dirname(__FILE__).'/index_adm_assoc.php';
if($core->auth->check('admin',$core->blog->id)){
include dirname(__FILE__).'/index_adm_cnf.php';
include dirname(__FILE__).'/index_adm_usage.php';
}
De plus les évolutions à venir me semblent intéressantes
En effet, bonne idée, surtout avec les multiblogs.
J'essaye de faire une mise à jour en RC3 prochainement, comme ça on aura une version 2.0 finale bien stable.
Merci pour cette suggestion!
L'erreur (commentaire 1) se produit en administration. lors du "passage en mise au point", par ailleurs, j'ai crée plusieurs points et les associés à des billets, mais ceux ci n'apparaissent pas sur la carte (la mini carte du menu et la carte pinricpale), et la carte associé à chaque billet ne fonctionne pas et reste en mode "chargement"
Désinstalle le plugin, et télécharge la version RC2 que j'ai mis à disposition hier. Elle est en annexe à ce billet.
Il y avait dans la RC1 un gros bug (un nom de table codé en dur) qui empêche le plugin de fonctionner.
Une nouvelle suggestion.
Dans le cas d'une utilisation multi-rédacteur on peut affecter le billet d'un autre rédacteur. Il faudrait donc afficher uniquement les billets du rédacteur.
possibilité dans le fichier "index_adm_assoc.php" en ajoutant dans les params le "user_id" (ligne 193)
if(!$core->auth->check('contentadmin',$core->blog->id)){ $paramsposts['user_id'] = $core->auth->userID(); }
--------------------------------------------------------------------------------------------------------------------------------------------------------
Toujours dans le même ordre d'idée, n'importe qui peut supprimer un point.
Il faudrait laisser cette possibilité soit au créateur (oblige a gérer le créateur), soit "contentadmin", soit a "admin" du blog.
--------------------------------------------------------------------------------------------------------------------------------------------------------
Je viens de constater que l'on peut supprimer un point qui est associer a un billet.
Ne vaudrait-il pas mieux d'abord supprimer toutes les associations du point? (interdire la suppression s'il reste une association.)
hello!
1- En effet, je vais ajouter ajouter un champ propriétaire dans la table des points. Les listes seront filtrées sur cet élément, sauf si l'utilisateur connecté a des droits d'administration suffisamment élevés.
2- Ca sera réglé avec le (1).
3- J'avais remarqué celà lors d'un test. Je vais ajouter cette contrainte, ou alors supprimer les associations en même temps que l'on supprime le point.
Je vais essayer de faire ça cette semaine et publier une RC3 par la même occasion. Merci pour ces remarques!
excellent plugin, je l'attendais depuis longtemps , merci de t'y etre collé !!!
une evolution qui serait interessante dans le cas des tres gros blogs serait de pouvoir filtrer les billets a associer, pour ne ressortir que ceux d'une categorie ou mieux encore d'un tag, exemple les billets taggés "restaurant".
en ce qui me concerne rien a dire, il marche du tonnerre
@olivier => Merci !
Filtrer dans l'interface d'admin, dans la partie publique, ou les deux ?
Je met ça dans ma TODO-list.
@Gvx : Je sortirai d'ici quelques jours une RC3 qui prend en compte la gestion des droits.
Chaque utilisateur pourra associer des points à ses propres billets, parmi les points disponibles sur le blog.
Il y aura également un droit "admindotmap", qui permettra de créer/supprimer des points.
Enfin, l'admin ou le content admin, pourra tout faire.
Voilà, j'espère que ça conviendra.
dans l'interface d'admin déjà ce serait déjà un grand plus à ce petit bijou !
une question peut etre idiote vu que je ne connais absolument pas l'architecture du core ni de ton plugin d'ailleurs : kesako de rajouter la saisie de l'adresse lors de la création du post et de ne plus avoir a faire que l'association point par point ensuite ?
Huummm... ça évite les doublons en base, un point étant unique en base et pouvant être associé à 'n' posts, et un post à 'n' points.
Juste un petit commentaire pour dire :
Merci !
1/ je n'ai (perso) pas utilité de ce plugin
2/ Mais que je trouve tout de même ce plugin génial
Eh bien... merci!
Bonsoir,
D'abord un grand MERCI pour le plugin qui est vraiment cool !!
Je n'ai eu aucun souci pour le mettre en place.
J'ai suivi la procédure décrite par Looic...
Je rencontre cependant un problème dans la partie admin du plugin :
Voici le msg d'erreur
=== DEBUG ===
getPlots()->SELECT * FROM dc_dotmapplots WHERE blog_id = 'default' ORDER BY plot_id DESC LIMIT 20 OFFSET 0
=== END DEBUG ===
=== DEBUG ===
getPlotsCnt()->SELECT COUNT(*) FROM dc_dotmapplots WHERE blog_id = 'default'
=== END DEBUG ===
Catchable fatal error: Object of class staticRecord could not be converted to string in \plugins\dotmap\class.dc.dotmap.php on line 410
Si quelqu'un a une piste...
Par avance merci
Hello !
As-tu bien récupéré la dernière version (RC2) du plugin ? La RC1 générait un bug de ce genre.
Si tu as la RC, alors je vais jeter un coup d'oeil et je te tiens au courant.