Ergebnis 1 bis 6 von 6

Thema: RGGOOGLEMAP POIs Bild anzeigen

      
  1. #1
    Forum Zuschauer
    Registriert seit
    18.10.2010
    Alter
    36
    Beiträge
    4

    RGGOOGLEMAP POIs Bild anzeigen

    Hallo liebe Typo3-Community,

    ich arbeite nun schon etwas länger mit Typo3 und habe meine Probleme bisher immer selber lösen können. Aber nun stehe ich bei der Erweiterung RGGOOGLEMAP an.....

    Im Einsatz habe Typo3 in der Version 4.2.2 sowie RGGOOGLEMAP in der Version 4.0.0. Diese funktioniert soweit auch einwandfrei.
    Nur möchte ich nun gerne, dass mir das Bild das unter den POI's (aus der tt_address in der "POI Menü"-Ansicht und in der Karte im Info-Bubble angezeigt wird.
    Als Template verwende ich das Standard-RGGOOGLEMAP-Template (leicht modifiziert). Wenn ich in diesem Template im Bereich Menue den Marker ###IMAGE### verwende gibt er mir den Bildnamen des richtigen POI's aus. Wenn ich darum dann noch ein Html-Image-Tag rumbaue wird das Bild auch angezeigt. Allerdings werden die Bilder dann in der Original-Größe geladen was ich nicht möchte. Irgendwie sollte es doch auch möglich sein, dass diese von Typo3 gerendert werden und per Mausklick darauf vergrösserbar sind.

  2. #2
    Forum Zuschauer
    Registriert seit
    18.10.2010
    Alter
    36
    Beiträge
    4
    Ich habs jetzt geschafft. Ist zwar keine schöne Lösung, da ich in den Quellcode der Extension eingreife (ist normal nicht meine Art), aber anders wußte ich nicht mehr weiter.....

    Hier meine Änderungen an der ext\rggooglemap\pi1\class.tx_rggooglemap_pi1.php:

    1.) Die Funktion createImage zur Klasse hinzufügen:
    PHP-Code:
    class tx_rggooglemap_pi1 extends tslib_pibase {
     var 
    $prefixId    'tx_rggooglemap_pi1';  // Same as class name
     
    var $scriptRelPath 'pi1/class.tx_rggooglemap_pi1.php'// Path to this script relative to the extension dir.
     
    var $extKey     'rggooglemap'// The extension key.
     /**
      * Create image tag from file name
      *
      * @param string Path to image file
      * @return string Generated image tag
      */
     
    function createImage($sImageFile) {
      
    // Build up image configuration array
      
    $lConf = array();
      
    $lConf['file'] = $sImageFile;
      
    $lConf['file.']['maxW'] = '100';
      
    $lConf['file.']['maxH'] = '100';
      
    $lConf['params'] = 'border=0';
      
    $lConf['imageLinkWrap'] = '1';
      
    $lConf['imageLinkWrap.']['enable'] = '1';
      
    $lConf['imageLinkWrap.']['bodyTag'] = '<body bgColor="#ffffff">';
      
    $lConf['imageLinkWrap.']['wrap'] = '<a href="javascript:close();"> | </a>';
      
    $lConf['imageLinkWrap.']['width'] = '500m';
      
    $lConf['imageLinkWrap.']['height'] = '500';
      
    $lConf['imageLinkWrap.']['JSwindow'] = '1';
      
    $lConf['imageLinkWrap.']['JSwindow.']['newWindow'] = '1';
      
    $lConf['imageLinkWrap.']['JSwindow.']['expand'] = '17,20';
      
    // Generate image tag
      
    $sImage $this->cObj->IMAGE($lConf);
      return 
    $sImage;
     }
     
    /**
      * Just some intialization, mainly reading the settings in the flexforms 
    2.) Das Bild in der Function showMenu ($additionalCat = '', $additionalWhere = '') einfügen (für die POI Menue Ausgabe):
    PHP-Code:
       // run through the reocrds of the category
       
    while ($row2 array_shift($res2)) {
        
    $i++;
        
        
    $markerArray2 $this->getMarker($row2'menu.'$i);
        
        
    // no page ID for map > suggesting plugin is on the same page => javascript links
        
    if ($this->config['menu-map'] != '') {
         
    $vars['poi'] = $row2['uid'];
         
         if (
    $row2['table'] != $this->conf['defaultTable']) {
          
    $vars['table'] = $row2['table'];
         }
         
         
    $wrappedSubpartArray['###LINK_ITEM###'] = explode('|'$this->pi_linkTP_keepPIvars('|'$vars11$this->config['menu-map']));
        } else {
         
    $wrappedSubpartArray['###LINK_ITEM###'] = explode('|''<a onclick="myclick(' $row2['uid'] . ',' $row2['lng'] . ',' $row2['lat'] . ', \'' $row2['table'] . '\')" href="javascript:void(0)">|</a>');
        }
        
    $markerArray2['###IMAGE###'] = $this->createImage('uploads/pics/' $markerArray2['###IMAGE###']);
        
    $content_item2 .= $this->cObj->substituteMarkerArrayCached($template['item2'], $markerArray2$subpartArray$wrappedSubpartArray);
       } 
    3.) Das Bild in der Function getPoiContent($id,$tab,$table) einfügen (für den Inhalt des POI Bubbles):
    PHP-Code:
     function getPoiContent($id,$tab,$table) {
      
    $id  intval($id);
      
    $tab intval($tab);
      
    // check if all params are valid
      
    if (!t3lib_div::inList($this->config['tables'], $table) || $tab==|| $id==0) {
       return 
    sprintf($this->pi_getLL('error_poi-no-valid-params'), $table$id$tab);
      }
      
    // query for single record
      
    $field '*';
      
    $where 'uid = '.$id;
      
    $res $this->generic->exec_SELECTquery($field,$table,$where,$groupBy='',$orderBy,$offset='');
      
    $row=array_shift($res);

      
    $markerArray $this->getMarker($row'poi.');
      
    $markerArray['###IMAGE###'] = $this->createImage('uploads/pics/' $markerArray['###IMAGE###']);
      
    $tablePrefix '_'.strtoupper($table); 
    Mein POI-Menu Template sieht dann so aus:
    HTML-Code:
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      -  M E N U  -  T E M P L A T E  - - - -  
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Show all records of the selected categories and starting point, linking to the map on a different page
    <!-- ###TEMPLATE_MENU### -->
    <div class="rggooglemap-menu">
     <ul class="rggooglemap-menucat">
      <!-- ###CONTENT### --><!-- ###ITEM_SINGLE### -->
        <li><!---<div class="rggooglemap-menutitle">###TITLE###</div>--->
          <ul class="rggooglemap-menuitems">
           <!-- ###CONTENT2### --><!-- ###ITEM_SINGLE2### -->
            <li>
          <div id="poi">
           <!-- ###LINK_ITEM### -->###RGGMTITLE###<!-- ###LINK_ITEM### -->
            <div class="poi-content">###IMAGE######ADDRESS###<br>###ZIP### ###CITY###<br>###PHONE###<br>###FAX###<br><a href="javascript:void(0)" onclick="tx_rggooglemap_pi1tab(###UID###,2, '###TABLE###');" >###LL_DIRECTIONS###</a></div>
          </div>
         </li>
           <!-- ###ITEM_SINGLE2### --><!-- ###CONTENT2### -->
         <li class="rggooglemap-menuitemlast"></li>
          </ul>
        </li>
      <!-- ###ITEM_SINGLE### --><!-- ###CONTENT### -->
     </ul>
    </div>
     <!-- ###TEMPLATE_MENU### -->
    bzw.
    HTML-Code:
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      -  P O I I N F O  -  T E M P L A T E  - - - -  
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    Template(s) for the info windows on the map.
    Make as many as you like. 
      -  N R .  I  -  T E M P L A T E  - - - -  
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    1st tab
    <!-- ###TEMPLATE_INFOPOI_TT_ADDRESS_1### -->
    <div id="poiinfo">
      <div id="poi">
     ###RGGMTITLE###
     <div class="poi-content" >
       ###IMAGE######ADDRESS###<br>###ZIP### ###CITY###<br>###PHONE###<br>###FAX###<br>
          <a href="javascript:void(0)" onclick="tx_rggooglemap_pi1tab(###UID###,2, '###TABLE###');" >###LL_DIRECTIONS###</a>
     </div>
      </div>
    </div>
    <!-- ###TEMPLATE_INFOPOI_TT_ADDRESS_1### -->

  3. #3
    Forum Zuschauer
    Registriert seit
    18.09.2009
    Beiträge
    2

    Beitrag

    Ok - schon ein bisschen älterer Thread, aber ich wollte das doch noch einmal aufgreifen, falls andere das gleiche Problem haben.

    Es gibt eine wesentlich einfachere Lösung, ohne in die Extension eingreifen zu müssen. Einfach per TS:
    Code:
     plugin.tx_rggooglemap_pi1.poi.tt_address.image {
    
                setContentToCurrent = 1
                if.isTrue.current = 1
                stdWrap.cObject = IMAGE
                stdWrap.cObject {
                    file {
                    import = uploads/pics/ ###Verzeichnis ggf. anpassen
                    import.current = 1
                        import.listNum = 0
                        maxW = 100
                        maxH = 100
                        }
                    }
                    
                }

  4. #4
    Forum Zuschauer
    Registriert seit
    18.10.2010
    Alter
    36
    Beiträge
    4
    Leider greifen bei mir diese Einstellungen per TS nicht..... ka woran das liegt (ev. an der Version 4.0?). Es wird mir dann immer noch der Image-Name ausgegeben im FE.

    Hier nochmal mein vorhandener TS-Code (die Template-Files werden zugeordnet). Wozu der "render export_xml" Part notwendig ist kann ich mich atm nicht mehr dran erinnern. Aber auch wenn ich den Teil rausnehme hat es keinen Einfluss auf das Ergebnis im FE.

    Code:
    plugin.tx_rggooglemap_pi1.templateFile = fileadmin/adm_files/templateGoogleMap.html
    plugin.tx_rggooglemap_pi1.cssFile = fileadmin/adm_files/GoogleMap.css
     
    # render export_xml with local vars from plugin.tx_rggooglemap_pi1 above
    export_xml.10.renderObj{
      10 >
      10 < plugin.tx_rggooglemap_pi1
      10.userFunc = tx_rggooglemap_pi1->xmlFunc
    }
    So wie es aussieht werden bei mir auch die anderen Wrappings (zB Fax-Nummer) nicht so ausgegeben wie im Object-Browser angegeben.

  5. #5
    Forum Zuschauer
    Registriert seit
    18.09.2009
    Beiträge
    2
    Hast du den XML-Part in dein TS Template mit übernommen?
    Code:
    ..........
    export_xml >
    export_xml = PAGE
    export_xml {
        typeNum=500
     .................
    Sonst werden die Einstellunge im TS nicht übernommen. Ich habe übrigends auch die Version 4 im Einsatz.
    ... Ups - habe gerade gesehen das du das schon drin hast. Vielleicht solltest du testweise einmal den gesamten Code aus der setup in das TS übernehmen.
    Geändert von auffi (02.03.2011 um 16:47 Uhr)

  6. #6
    Forum Zuschauer
    Registriert seit
    18.10.2010
    Alter
    36
    Beiträge
    4
    Hi auffi,

    ich habe testweise mal den gesamten Code aus der "typo3conf\ext\rggooglemap\static\setup.txt" ins TS-Setup der Seite übernommen (mit der unveränderten class.tx_rggooglemap_pi1.php).
    Danach noch die beiden Verweise auf meine Template-Dateien hinzugefügt und die Änderungen im poi.tt_address.image Bereich laut deiner Anweisung hinzugefügt.
    Allerdings wieder mit dem gleichen Ergebnis, das der ganze Code anscheinend ignoriert wird....

    Ich bleibe jetzt erstmal bei meiner Lösung. Sollte ich die Erweiterung nochmal in einem anderen Projekt einsetzen werde ich es nochmal mit deinem Lösungsvorschlag versuchen ;)

    Danke jedenfalls für deine Hilfe!!! VG, Shag

 

 

Aktive Benutzer

Aktive Benutzer

Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)

Facebook Kommentare

Ähnliche Themen

  1. Antworten: 3
    Letzter Beitrag: 09.07.2010, 08:44
  2. Text/m Bild, nur zweites Bild anzeigen - erstes in Lightbox
    Von rami im Forum TYPO3 4.x Fragen und Probleme
    Antworten: 5
    Letzter Beitrag: 07.01.2010, 06:25
  3. Bild nur bei existierenden Link anzeigen
    Von Chrischi4711 im Forum TYPO3 4.x Fragen und Probleme
    Antworten: 2
    Letzter Beitrag: 20.11.2006, 10:27
  4. tt_news: wie in der single-Ansicht erst ab Bild 2 anzeigen?
    Von kathrin-77 im Forum News (tt_news, mininews und Co)
    Antworten: 2
    Letzter Beitrag: 31.10.2006, 10:53
  5. Content anzeigen, aber wo ist das Bild?
    Von Melkor im Forum TYPO3 4.x Fragen und Probleme
    Antworten: 4
    Letzter Beitrag: 14.09.2006, 12:21

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74