We launched new forums in March 2019—join us there. In a hurry for help with your website? Get Help Now!
    • 37123
    • 186 Posts
    Mi è capitato fra le mani un lavoro in cui dovrò usare le mappe di immagini, un po stile "regioni italiane", ma su immagini di edifici. La mia domanda è: esiste o c'e la possibilità di creare un plugin per dare al cliente la possibilità di creare in autonomia le mappe? Online ho trovato diversi tool che fanno questo lavoro e anche dreamweaver le fa, chiaramente il cliente vuole un sistema integrato a modx, avete qualche idea?
    Premetto che le immagini sono abbastanza semplici, una foto di un palazzo, una piantina di un piano e cose del genere.

    grazie
    • Ciao!

      Se non ho capito male quello che vuoi fare tu è questo:
      http://www.html.it/pag/16053/le-mappe-di-immagine/

      Per creare questa feature hai a disposizione diverse strade:
      - Collezioni di TV (migx), contenenti le coordinate/informazioni relative ai singoli poligoni di una mappa.
      - 2 CRC di tipo xPDOSimpleObject, a mio parere la più adatta per la tua situazione (anche se più complessa da sviluppare). 1 Classe personalizzata per le Mappe, un'altra per i poligoni di tale mappa.

      Con uno schema tipo questo mi pare ricopri tutti gli aspetti dell'addons.
      <?xml version="1.0" encoding="UTF-8"?>
      <model package="mappeImmagini" version="1.0" baseClass="xPDOObject" platform="mysql" defaultEngine="MyISAM">
          <object class="Mappa" table="mappe" extends="xPDOSimpleObject">
      <field key='mapName' dbtype='varchar' precision='255' phptype='string' null='false' />
      <field key='mapUrl' dbtype='varchar' precision='255' phptype='string' null='false' />
              <composite alias="SezioniMappa" class="Sezione" local="id" foreign="mappa_id" cardinality="many" owner="local" />
          </object>
          <object class="sezioniMappa" table="sezionimappe" extends='xPDOSimpleObject'>
              <field key='mappa_id' dbtype='int' precision='10' phptype='integer' null='false' />
              <field key='type' dbtype='varchar' precision='255' phptype='string' null='false'/>
              <field key='coordinate' dbtype='varchar' precision='512' phptype='string' null='false'/>
              <field key='link' dbtype='varchar' precision='255' phptype='string' null='false'/>
              <index alias="mappa_id" name="mappa_id" primary="false" unique="true" type="BTREE">
                  <column key="mappa_id" collation="A" null="false" />
              </index>
              <aggregate alias='Mappa' class="Mappa" local='mappa_id' foreign='id' cardinality='one' owner='foreign' />
          </object>
      


      Una classe dedicata alle singole mappe.
      Per ogni mappa zero o più "sezioniMappa", comprensive di coordinate,tipo(circle,poligon,etc), link e mappa a cui legarsi.

      Con questo tipo di implementazione puoi ad esempio prelevare tutte le sezioni di una mappa tramite chiamate XPDO del tipo: $mappa->getMany('sezioniMappa');

      Crei infine dei metodi della classe $mappa e $sezioniMappa per l'assemblaggio e la creazione delle mappe tramite chunk, in modo tale che la costruzione di una semplice mappa si riduca a $mappa->initMap();

      Infine lato Back-end, puoi integrare una tabella per la creazione di mappe/sezioni di mappe da integrare ai pannelli delle risorse (Document,Access Group,Settings, etc), vedi figura allegata.

      Sono andato un pò veloce con la spiegazione lo so laugh se hai bisogno di qualcosa contattami e sarò lieto di darti una mano!
        Francesco Mussoni | MODX Ambassador | Skype: solidusite2 | Email: [email protected]