PDA

Zobacz pełną wersję : Jak wstawić do komponentu Kontakty mapkę Google?



Jola
15-09-2009, 04:05
Chcemy na stronie pokazującej dane teleadresowe (korzystającej ze standardowego komponentu Kontakty) umieścić mapkę Google. Jak to zrobić?
1. Zainstalować wybrany dodatek np. Plugin Googlemaps.
2. Skonfigurować go, wpisać wymagany Google API key i włączyć.
3. Wyedytować plik: components/com_contact/views/contact/tmpl/default.php
Zaraz pod wpisem:

defined( '_JEXEC' ) or die( 'Restricted access' );dodać:

$params =& $GLOBALS['mainframe']->getParams('com_content');
$dispatcher =& JDispatcher::getInstance();
JPluginHelper::importPlugin('content');
$row = new stdClass();
$row->text = "{mosmap width='500'|height='400'|lat='52.052312'|lon='4.44 7141'|zoom='3'| zoomType='Large'|zoomNew='0'|mapType='Satellite'| showMaptype='1'|overview='0'|text='sv DWO'|lang='pl'}";
$row->title = "";
$dispatcher->trigger('onPrepareContent', array (&$row, & $params, 0 ));gdzie "{mosmap width='500'|height='400'|lat='52.052312'|lon='4.44 7141'|zoom='3'| zoomType='Large'|zoomNew='0'|mapType='Satellite'| showMaptype='1'|overview='0'|text='sv DWO'|lang='pl'}" jest przykładowym kodem wywołującym mapkę w artykule.
Pozostaje decyzja w którym miejscu wyświetlić naszą mapę, ja wybrałam miejsce, gdzie pokazywany jest obrazek kontaktu (zamiast niego - w konfiguracji powinno być zaznaczone - pokaż). I tak

<?php if ( $this->contact->image && $this->contact->params->get( 'show_image' ) ) : ?>
<div style="float: right;">
<?php
//echo JHTML::_('image', 'images/stories' . '/'.$this->contact->image, JText::_( 'Contact' ), array('align' => 'middle'));
echo $row->text;
?>
</div>
<?php endif; ?>gdzie $row->text; jest naszą mapką (wyświetlanie obrazka zostało zakomentowane).
4. Pozostaje tylko tak zmieniony plik zapisać - korzystając z techniki nadpisywania szablonów - jako templates/nasz_szablon/html/com_contact/contact/default.php
5. I już
Pozdrawiam

sunpietro
15-09-2009, 10:20
świetna sprawa sprawa Jolu :)
wielkie dzięki :)

trzepiz
15-09-2009, 10:52
Przydatne rozwiązanie ..

PS: może dodać również na wiki ?

lukas4ws
13-10-2009, 17:44
A możesz napisać jak wyglądał by kod żeby obraz mapy wyświetlał się na samym spodzie kontaktów? Próbuje i próbuje i nie mogę sobie dać rady.

lukas4ws
14-10-2009, 12:50
Może by kolega jolaass napisal jeszcze jak zrobic, żeby mapka wyświetlała się na samym dole dodatku kontakty. Będę wdzięczny z aodpowiedz, bo męczę się i męczę...

lukas4ws
14-10-2009, 12:52
Może by kolega jolaass napisał jeszcze jak zrobić, żeby mapka wyświetlała sięna samym dole dodatku. Męczę się i męczę... Będę wdzięczny

alex51
22-01-2010, 14:44
Mam problem, bo chciałem zastosować opisany sposób w szablonie JA Purity, w którym nie ma pliku: templates/ja_purity/html/com_contact/contact/default.php
W folderze templates/ja_purity/html są tylko 3 katalogi: com_content, mod_banners i mod_login.
Czy to oznacza, że w tym szablonie nie da sie umieścić mapki Google w komponencie Kontakty?

alex51
22-01-2010, 14:50
Próbowałem zastosować podany sposób na stronie z szablonem JA_Purity, ale nie znalazłem w nim pliku z podanej ścieżki:
templates/ja_purity/html/com_contact/contact/default.php
W folderze templates/ja_purity/html/ są tylko 3 katalogi, wśród których nie ma katalogu com_contact.

Czy to oznacza, że w tym szablonie nie da się umieścić mapki Google w komponencie Kontakty?

Jola
23-01-2010, 03:06
Witam,
@alex51 - jak nie masz to po prostu utwórz sobie takie katalogi i wrzuć przerobiony plik default.php
Będzie działać. :)
@lukas4ws - nie jestem kolegą - raczej koleżanką. Wybacz, że nie odzywałam się, ale nie miałam pojęcia o wpisach do tego wątku.
Jeśli sprawa nadal aktualna coś dorobię - ale nie dzisiaj.;)

malkowitch
10-02-2010, 17:16
Jak nie masz w katalogu HTML to stwórz lub skopiuj go z:
/components/com_contact/views/contact/tmpl/default.php

shap
10-07-2010, 19:48
(...)
5. I już

Jeszcze jedno małe pytanie. Wyżej opisany sposób działa, super! Ale wyrównanie pionowe danych kontaktowych i mapki jest do środka, jak można wyrównać dane kontaktowe i mapę do góry? Wiem, wiem banalne, już było, czytaj na wiki... ale ja jestem jakiś mało kumapty nie mogę znaleźć... ;-( Dlatego prośba o pomoc... ;-) Z góry dziękuję za odrobinę dobrej woli...

shap
10-07-2010, 20:35
?????

shap
10-07-2010, 20:43
oki, rozwiązanie:

modyfikujemy kod (patrz przedostatnia linia - zamiast <td> zmieniamy na: <td valign="top">):



//echo JHTML::_('image', 'images/stories' . '/'.$this->contact->image, JText::_( 'Contact' ), array('align' => 'middle'));
echo $row->text;?>
</div>
<?php endif; ?>
</td>
</tr>
<tr>
<td valign="top">
<?php echo $this->loadTemplate('address'); ?>

nana
13-02-2011, 19:23
Czy klucz api, pobrany z google jest równoznaczny z otrzymaniem prawa do bezpłatnego używania na mojej stronie mapki Google? Nie doszukałam się informacji czy jest to bezpłatna licencja, no ale mój angielski jest dosyć kiepski. nana:hmm:

Jola
15-02-2011, 20:41
Twój wpis nie ma specjalnie związku z tematem poruszanym w tym wątku. Myślę, że odpowiedź znajdziesz tu:
Warunki korzystania z usługi Mapy Google (http://www.google.com/intl/pl_pl/help/terms_maps.html)

nana
15-02-2011, 21:44
Dzięki za odpowiedź. Wiem że moje pytanie nie bardzo była na temat, ale nie mam uprawnienia do zakładania nowego tematu. Może też podpowiesz jak załatwić wyższe uprawnienia na forum? Nana:zagubiony: