Hallo Christian,
Danke für deine Antwort! Dann machts Sinn.
Meine Idee war, für jedes Mitglied eine eigene Karte zu erstellen. Das habe ich auch erschafft indem ich an zwei Stellen das Modul verändert habe. Evtl. magst dus ja als Erweiterung aufnehmen
In der ModuleCM_MemberGoogleMapsPos.php:
HTML-Code:
protected function compile()
{
...
// EDIT: WORKAROUND, damit die Map von JEDEM User angezeigt wird
$user_id = null;
$urlparameter = (strlen($GLOBALS['TL_CONFIG']['memberurlparameter'])) ? $GLOBALS['TL_CONFIG']['memberurlparameter'] : 'member';
$memberitem = ($this->Input->get($urlparameter)) ? $this->Input->get($urlparameter) : $user_id;
$this->showMember($memberitem);
//$this->showMember($this->cm_membergooglemaps_member);
}
Und damit das Popup am Marker die Mitgliedsdaten enthält:
HTML-Code:
protected function getGoogleMapCode($coordinates,$center,$zoom,$mapID)
{
// EDIT: INFOtext workaround für anschrift
// get user id
$user_id = null;
$urlparameter = (strlen($GLOBALS['TL_CONFIG']['memberurlparameter'])) ? $GLOBALS['TL_CONFIG']['memberurlparameter'] : 'member';
$memberitem = ($this->Input->get($urlparameter)) ? $this->Input->get($urlparameter) : $user_id;
// get member data
$time = time();
$objMember = $this->Database->prepare("SELECT * FROM tl_member WHERE id=?")
->limit(1)
->execute($memberitem);
$infoText = '<div class="googlemaps_info">';
$infoText = '<h3>'.$objMember->company.'</h3>';
$infoText .= $objMember->street.'<br>';
$infoText .= $objMember->postal." ".$objMember->city.'<br>';
$infoText .= '<a href="'.$objMember->website.'" target="_blank">'.$objMember->website.'</a>';
$infoText .= '</div>';
//$infoText = $memberitem;
//$infoText = preg_replace("/\r|\n/s", "", $this->cm_map_infotextdetail);
...
}
MFG
Lesezeichen