Яндекс Карта

Главные вкладки

Аватар пользователя Tamirlan Tamirlan 7 февраля 2016 в 18:11

Здравствуйте, такая задача:
Имеется поля с адресами и рядом с ними нужно разместить ссылку на яндек карту, при переходе на ссылку в отдельном окне видеть карту

ВложениеРазмер
Иконка изображения bez_imeni-1.jpg585.63 КБ

Комментарии

Аватар пользователя Tamirlan Tamirlan 8 февраля 2016 в 23:19

посмотрел настройки, у него нет возможности вывода в модальном окне?? Может кто подскажет как реализовать??

Аватар пользователя Tamirlan Tamirlan 11 февраля 2016 в 19:24

не пойму как реализовать данную связку, т.к на каждой странице будут разные метки на карте , как я понял надо через шаблон темы вызвать вывод конкретного поля через colorbox (в данном случае поля Яндекс карты). Не могли бы конкретно подсказать как это реализовать ?

Аватар пользователя vitalii.stymkovskyi vitalii.stymkovskyi 12 февраля 2016 в 1:24

может за вас еще научится программировать и думать?
Варианты
1. Создайте одно поле "координаты" которое может иметь несколько значений, напишите функцию которая будет принимать координаты и формировать карту (используя API) которая потом всплывет в попапе.
2. используйте модуль https://www.drupal.org/project/yamaps поставьте полю возможность добавлять несколько значений.\
При выводе ноды прячьте значение полей. При клике на кнопку создавайте поп-ап в который пихайте содержимое определенного поля.

Аватар пользователя Tamirlan Tamirlan 18 февраля 2016 в 21:50

Можно подробней про второй вариант?
мне никак не понять.... 1"добавить несколько значений" (несколько карт ) есть,
2"При выводе ноды прячьте значение полей" (переместить в "скрытый)
3. "При клике на кнопку создавайте поп-ап в который пихайте содержимое определенного поля" можно подробней??

Аватар пользователя Tamirlan Tamirlan 12 февраля 2016 в 2:01

Очередной раз убедился, что нечего делать на форумах, сплошная желч и никакой реальной помощи начинающим ...
и программировать и думать и помогать... если нет желания проходить мимо.. А на что еще нужен форум!!???

Аватар пользователя vitalii.stymkovskyi vitalii.stymkovskyi 12 февраля 2016 в 10:22

Я вам предоставил 2 варианта реализации, а вы еще и не довольны чем то?
Перед тем как написать вопрос, сколько времени вы потратили на решение проблемы? где ваши варианты и почему они не работают, что за ошибки получили?

Аватар пользователя Studio VIZA Studio VIZA 12 февраля 2016 в 4:34

Tamirlan wrote:

Очередной раз убедился

Вам ответили два человека, вместо спасибо вы сердитесь, издевательств или откровенного троллинга вы не получили.
Если считаете что вас обидели незаслуженно, воспользуйтесь своей защитой, отправьте обидчика в тёмную материю, но окончательное решение конфликта - у админов.

Здесь отвечают вам, но это не означает, что задача будет разжёвана от и до.

Воспользуйтесь поиском, эта задача возможно решена на форуме раз 200.

Возможно никогда.

Во всяком случае слушайте направление помощи, но не эмоции, которые у вас возникают, это ваши личные эмоции.
Помните - вам тут никто и ничем не должен и не обязан. Помощь выполняется добровольцами в свободное от своей работы время, вы не в платной поддержке, что бы топать ножкой.

По теме - вам посоветовали открывать через Колорбокс. Вы его поставили? Вы библиотеку его поставили? Вы разобрались в связующих компонентах?

Аватар пользователя dropout dropout 12 февраля 2016 в 12:26

Можно сделать проще
Создаешь регион, путь это будет page['bottom'], только не забудь его прописать в инфо темы.

<?php
<a href="#openModal">Открыть карту</a>
<?
php if ($page['bottom']): ?>
<div id="openModal" class="modalDialog">
<div>
<a href="#close" title="Закрыть" class="close">X</a> <?php print render($page['bottom']); ?></div>
<?php endif; ?>

Карту выводишь в блоке и этот блок выводишь в этом регионе.
И к нему стили

#any-block{
padding: 0;
background: #fff;
width:100%;
box-shadow:0 0 20em rgba(255,255,255,.6);
}
.modalDialog {
        position: fixed;
        font-family: Arial, Helvetica, sans-serif;
        top: 0;
        right: 0;
        bottom: 0;
        left: 0;
        background: rgba(0,0,0,0.8);
        z-index: 99999;
        -webkit-transition: opacity 400ms ease-in;
        -moz-transition: opacity 400ms ease-in;
        transition: opacity 400ms ease-in;
        display: none;
        pointer-events: none;
}
.modalDialog:target {
        display: block;
        pointer-events: auto;
}

.modalDialog > div {
        width: 60%;
        position: relative;
        margin: 10% auto;
        padding: 0;
        border-radius: 10px;
        background: #fff;
       
}
.close {
        background: #ff5050;
        color: #FFFFFF;
        line-height: 25px;
        position: absolute;
        right: -12px;
        text-align: center;
        top: -10px;
        width: 24px;
        text-decoration: none;
        font-weight: bold;
        -webkit-border-radius: 12px;
        -moz-border-radius: 12px;
        border-radius: 12px;
        -moz-box-shadow: 1px 1px 3px #000;
        -webkit-box-shadow: 1px 1px 3px #000;
        box-shadow: 1px 1px 3px #000;
}

.close:hover { background: #00d9ff; }
#edit-actions--2{
margin-top:1em;
text-align:right;
}

#any-block - это id блока, который ты будешь выводить в регионе. Firebug покажет.

Делаешь в нужном тебе page.tpl.php и у тебя карта будет выводиться так же красиво как открытый пост в твиттере и никакого javascript.
Таким же методом можно выводить формы входа и контактов.
Решение не моё, как то нарыл случайно в html виде и сам пользуюсь.
Можно через ссылку в colorbox, но в нём выглядит уродливо, для этого к ссылке на странице тебе надо будет просто дописать класс colorbox, к примеру:
<a class="colorbox" href="/yandex-map">Welcome to Russia!</a>,
если карта является нодой,то в тизере ноды добавь класс с урлу в этом блоке кода(пример кода взят из батрика):

<?php print render($title_prefix); ?>
  <?php if (!$page): ?>
    <h2<?php print $title_attributes?>>
      <a class="colorbox" href="<?php print $node_url?>"><?php print $title?></a>
    </h2>
  <?php endif; ?>
  <?php print render($title_suffix); ?>

только в настройке модуля включи инлайн-загрузку,
Но, повторюсь, в colorbox это выглядит не очень.

Аватар пользователя Tamirlan Tamirlan 14 февраля 2016 в 16:45

возникла проблема при использовании вашего предложения, опишу ситуация в приложенной картинке, чтоб исключить ошибки с моей стороны, не могли бы помочь??

Аватар пользователя dropout dropout 14 февраля 2016 в 17:37

Писал по поводу регионов по памяти, сейчас проверил и сделал всё у себя на свежеустановленой семерке.В качестве темы использовал дефолтный батрик, чтобы время сэкономить.

Прописал регион в info

info

Прописал регион в page-tpl.php

page

Регион показался на странице блоков. Вывел в нем блок внизу станицы

block

Добавил стили. Теперь видна только ссылка

hidden-block

Нажимаю на ссылку и вижу искомое

block-open

Аватар пользователя Tamirlan Tamirlan 14 февраля 2016 в 23:43

можете прислать стили прописанные вами в этом примере?? т.к в модальном окне, информация блока не выводится, она отображается как будто без стилей или ошибкой в них

Аватар пользователя Tamirlan Tamirlan 12 февраля 2016 в 12:11

Мда уж бурная реакция, никаких обид не было но я думаю лишнее писать ... " включи мозги " или что то в этом роде...
колорбокс установил , библиотеки включил, но как я зная в колорбоксе можно выводить только поле с изображениями если не прибегать к views ..
попробую вариант Graytone..
P.S. спасибо за помощь

Аватар пользователя sas@drupal.org sas@drupal.org 12 февраля 2016 в 16:27

Tamirlan wrote:

но как я зная в колорбоксе можно выводить только поле с изображениями если не прибегать к views

Нет, Вы ошибаетесь!

Аватар пользователя Mnilionic Mnilionic 19 февраля 2016 в 13:01

На сколько я помню у модуля yamaps с мультиполями адресов не всё гладко (каждый адрес на отдельной карте).
Решение моё было следующее:
Каждый адрес (метка) это отдельный тип материала, который цепляется к целевой ноду через entity_reference ( с модулем inline_entity_form вполне дружелюбно).
Карту делаем с помощью соответствующего стиля Views (аргументом передаём nid целевой ноды)
Загружаем и выводим вьюху на странице целевой ноды, например, реализуя hook_extra_field (придётся попрагромировать). Или вывести вьюс отдельной страницей и грузить её в colobox (поле кнопку тоже лучше сделать через hook_extra_field, или тупо в шаблоне прописать /адрес/к/вьюхе/node->nid )