YandexMaps или как работать с тв

вот меня все мучает вопрос а как подгружать тв в балуны?
ну допустим то ли у меня текст то ли изображение то тут как быть?
Александр Сергеевич
15 октября 2015, 09:04
modx.pro
1
1 393
0

Комментарии: 23

Konstantin
15 октября 2015, 12:51
0
&fieldForBalloonContent=`introtext`

попробуй поменять introtext на название своей переменной
    Александр Сергеевич
    15 октября 2015, 13:30
    0
    делаю вот так
    и вообще все пропадает когда меняю строчку эту
    &fieldForBalloonContent=`introtext
    `
    на эту
    &fieldForBalloonContent=`image`
    Александр Сергеевич
    15 октября 2015, 13:29
    0
    [[!yandexMaps?
        &tvCoords=`coords`
        &zoom=`12`
        &fieldForBalloonContent=`tv.image`
        &fieldForHint=`menutitle`
        &classFiltersItem=`ymFilters`
        &styleMapBlock=`float:left; width:100%; height:800px;`
        &showMoreLink=`true`
        &styleFiltersBlock=`display:none`
        &objectsTypesJSON=`[
        
        
            {"InvestProjects":{
                    "parent":"1",
                    "presetFieldText":"id",
                    "icon":"/assets/marker.png",
                    "preset":"islands#violetStretchyIcon",
                    
                }
            }
        ]`
    ]]
    сори опечатка вот так делаю и ни чего &fieldForBalloonContent=`tv.image`
      Konstantin
      15 октября 2015, 13:40
      0
      попробуйте сначала сделать переменную с текстом, будет он выводить текст из нее или нет а потом уже о чем то сложном думать)
    Konstantin
    15 октября 2015, 15:09
    0
    Давайте попробуем сделать костыль)
    откройте сниппет yandexMaps

    найдите строки
    // >> Поле, которое нужно использовать для подсказки.. проверяем, является ли оно подходящим..
    if($fieldForHint!='') {
    	if(	$fieldForHint=='introtext' OR 
    		$fieldForHint=='description' OR 
    		$fieldForHint=='menutitle' OR 
    		$fieldForHint=='longtitle' OR 
    		$fieldForHint=='pagetitle'
    	) { } else {
    		$fieldForHint = '';
    	}
    }
    Исправьте на

    // >> Поле, которое нужно использовать для подсказки.. проверяем, является ли оно подходящим..
    if($fieldForHint!='') {
    	if(	$fieldForHint=='introtext' OR 
    		$fieldForHint=='description' OR 
    		$fieldForHint=='menutitle' OR 
    		$fieldForHint=='longtitle' OR 
    		$fieldForHint=='pagetitle' OR
    		$fieldForHint=='mytvpole'
    	) { } else {
    		$fieldForHint = '';
    	}
    }
    Мы добавили OR $fieldForHint=='mytvpole' где — mytvpole — название нашей tv переменной

    Теперь при вызове сниппета нужно указать
    "presetFieldText":"mytvpole"
    И создать переменную -mytvpole
      Konstantin
      15 октября 2015, 15:16
      0
      А можно попробовать вторым вариантом не исправляя сниппет

      при вызове сниппета указать параметр

      showMoreLinkTpl
      по умолчанию у него следующий шаблон
      @INLINE <p><a href="[[~[[+id]]]]" target="_blank">Подробнее</a></p>
      и просто в этом шаблоне вставлять свои данные =)
        Александр Сергеевич
        15 октября 2015, 17:26
        0
        в этом случае
        &showMoreLinkTpl=`@INLINE <p>[[+image]]<a href="[[~[[+id]]]]" target="_blank">Подробнее</a></p>`
        он возвращает [[+image]] Подробнее
          Konstantin
          15 октября 2015, 17:46
          1
          0
          [[+image]] — это если вы в чанке выводите и то там надо TV добавлять

          а если не в чанке то

          [[*image]]
            Александр Сергеевич
            16 октября 2015, 16:50
            0
            А подскажите почему при клике на продажу на фильтр когда снимаю галочку то он делает зум на два объекта?
            kotelniki-forum.ru/

            вывожу вот так
            [[!yandexMaps?
            &tvCoords=`coords`
            &zoom=`12`
            &fieldForBalloonContent=`pagetitle`
            &fieldForHint=`longtitle`
            &styleMapBlock=`float:left; width:100%; height:800px;`
            &showMoreLink=`true`
            &showMoreLinkTpl=`tpl`

            &objectsTypesJSON=`[
            {
            «Prodaja»: {
            «parent»:«1»,
            «icon»:"/marker.png",
            «presetText»:«Продажа»,
            «title»:«Продажа»
            },
            «Arenda»: {
            «parent»:«6»,
            «icon»:"/marker.png",
            «title»:«Аренда»
            }
            }


            ]`
            ]]
              Александр Сергеевич
              16 октября 2015, 16:56
              0
              разобрался! стоит авто зум если точку поставить в противоположенный угол то он автозумирует!
              клевый модуль!
                Александр Сергеевич
                20 октября 2015, 23:53
                0
                prntscr.com/8tgzal
                как работать с боковым меню пример пожалуйста если есть
                  Konstantin
                  22 октября 2015, 02:09
                  0
                  а фиг его знает) я думал оно появляется когда две точки имеют одни координаты
              Александр Сергеевич
              15 октября 2015, 17:51
              0
              Оо разобрался наконец то вот тут

              &showMoreLinkTpl=`chunk`

              chunk
              [[*image]]
              [[*luboetv]]
              и тут все начал кушать и оформление балуна и прочее! спасибо! доперло
                Олег
                30 октября 2015, 21:51
                0
                У меня не работает.

                Создал ТВ параметр

                Создал чанк (chunk)

                <img src="[[*image]]" />
                <p><a href="[[~3]]">Подробнее</a></p>
                Вызов

                [[!yandexMaps?
                	&id=`[[*id]]`
                	&tvCoords=`coords`
                        &fieldForBalloonContent=`pagetitle`
                        &showMoreLinkTpl=`chunk`
                        &showMoreLink=`true` 
                        &styleMapBlock=`
                    width: 1000px;
                    height: 400px;`
                    &objectsTypesJSON=`[
                        {
                            "InvestProjects": {
                                "parent":"18",
                                "preset":"islands#violetStretchyIcon",
                
                                "presetText":"Реализованный",
                                "title":"Инвестиционные проекты"
                            },
                            "InvestPlaygrounds": {
                                "parent":"6",
                                "icon":"/images/playgrounds_map_icon.png",
                                "title":"Инвестиционные площадки"
                            }
                        }
                    ]`
                ]]


                Задача необходима в балон вывести изображение.
                Заранее спасибо за помощь

                  Konstantin
                  30 октября 2015, 22:14
                  0
                  &showMoreLinkTpl=`@INLINE <p><img src="[[*image]]" alt="" /><br /><a href="[[~[[+id]]]]" target="_blank">Подробнее</a></p>`
                  при условии что в дополнительном поле image у вас адрес на картинку
                    Олег
                    30 октября 2015, 23:40
                    0
                    Константин, спасибо за ответ. Но это не работает. (Я читал топик и попробовал изначальный данный вариант." Версия MODX 2.4.1

                    Отправляю сниппет

                    <a href="">[[!yandexMaps?
                    	&id=`[[*id]]`
                            &fieldForBalloonContent=`pagetitle`
                    	&tvCoords=`coords`
                            &showMoreLink=`true`
                            &showMoreLinkTpl=`@INLINE <p><img src="[[*image]]" alt="MODX" /><br /><a href="[[~[[+id]]]]" target="_blank">Подробнее</a></p>`
                            &styleMapBlock=`
                        width: 1000px;
                        height: 400px;`
                        &objectsTypesJSON=`[
                            {
                                "InvestProjects": {
                                    "parent":"18",
                                    "preset":"islands#violetStretchyIcon",
                    
                                    "presetText":"Реализованный",
                                    "title":"Инвестиционные проекты"
                                },
                                "InvestPlaygrounds": {
                                    "parent":"6",
                                    "icon":"/images/playgrounds_map_icon.png",
                                    "title":"Инвестиционные площадки"
                                }
                            }
                        ]`
                    ]]
                    Скриншот ТВ позиции ID Ресусра «Проект 134» prntscr.com/8x7ejb

                    В сухом остатке получаю «балон» без изображения prntscr.com/8x7f3t

                    Проект 134
                    Подробнее
                      Антон Пастухов
                      30 октября 2015, 23:56
                      0
                      Потому что здесь:
                      &showMoreLinkTpl=`@INLINE <p><img src="[[*image]]" ...
                      должно быть не [[*image]], а [[+tv.image]] или [[+image]] (точно не помню)
                        Олег
                        31 октября 2015, 00:01
                        0
                        Пробуем,

                        <img src="[[+tv.image]]" alt="MODX">
                        <a href="" target="_blank">Подробнее</a>
                        <ymaps>Проект 134<p><img src="[[+image]]" alt="MODX">
                        <a href="" target="_blank">Подробнее</a></p></ymaps>
                        Итак факир был пьян и фокус не удался.
                          Александр
                          31 октября 2015, 12:04
                          0
                          Киньте почту я вам дам доступ посмотреть что да как
                            Олег
                            31 октября 2015, 15:10
                            0
                            Да спасибо, отправил почту личным сообщением.
                              Александр
                              31 октября 2015, 18:00
                              +1
                              ну смотрите я тяну фотки вот так
                              [[pdoField:notempty=`<a class="fancybox" href="[[pdoField:phpThumbOfWaterMark? &id=`[[+id]]` &field=`image_1` &includeTVs=`image_1`]]" data-fancybox-group="gallery" title="[[pdoField? &id=`[[+id]]` &field=`adress` &includeTVs=`adress`]]">
                                  <img src="[[pdoField:phpThumbOfWaterMarkMini? &id=`[[+id]]` &field=`image_1` &includeTVs=`image_1`]]" width="100px" /></a>`? &id=`[[+id]]` &field=`image_1` &includeTVs=`image_1,price`
                                  ]]
                                Олег
                                31 октября 2015, 18:18
                                0
                                Спасибо, большое Александр.

                                Итак стандартное решение по выводу изображений в балон

                                &showMoreLink=`true`
                                &showMoreLinkTpl=`image`

                                Чанк image

                                <p><img src="[[pdoField? &id=`[[+id]]` &field=`name_tv` &includeTVs=`name_tv`]]" width="140"/></p>
                                name_tv — название ТВ изображения.
            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
            23