Как переопределить вывод содержимого поля во всплывающее окно?

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

Аватар пользователя Romanov-EV Romanov-EV 7 ноября 2015 в 21:47

Здравствуйте все!

Проблема такая:

В таблице вывода, для типа материала "обмен квартир", есть поле "спрос" и "описание _спроса". В настройке таблицы задано, что содержимое этих полей выводится в колонке "спрос".

Это все работает. Но я хочу, чтобы содержимое поля "описание_спроса" выводилось во всплывающем окне, только при наведении курсора на ячейку колонки "спрос". Эту фукнцию обеспечивает JS-скрипт, который мне сделал один знакомый.

Вот его содержимое в части настроек Views, для поля "описание" (body), типа материала "аренда жилья", где эта функция работает нормально:

NO RESULTS BEHAVIOR: No results text:

Поле описание не заполнено!!!

REWRITE RESULTS: Rewrite the output of this field:

[body]
[field_node_text]

Из последней конструкции я понимаю, что [body] - это токен, но непонятно, что такое [field_node_text]

При попытке вставить копию этого кода для типа материала "обмен квартир" -> "описание_спроса" нужная функциональность не появляется.

Если бы я мог понять что значат эти токены и какой токен там нужно прописать, то не обратился бы к вам. Что посоветуете, коллеги?

Комментарии

Аватар пользователя lexsaenko lexsaenko 7 ноября 2015 в 22:01

Не совсем понял вопрос, но [field_node_text] скорее всего это токен поля которое есть в типе материала "аренда жилья". Может в типа материала "обмен квартир" нет поля field_node_text и поэтому не работает скрипт. Или еще как вариант надо добавить поле в вывод вьюхи и тогда оно появится в токенах.

Аватар пользователя Romanov-EV Romanov-EV 7 ноября 2015 в 22:09

[body] - это вывод содержимого поля "боди". В типе материала "Аренда" при наведении на сообветствующую ячейку в определенной колонке, во всплывающем окошке выводится содержимое этого поля.

Я хочу сделать тот же самый эффект в типе материала "обмен_квартир". Только пока не пойму где и что я должен изменить или добавить...

Аватар пользователя lexsaenko lexsaenko 7 ноября 2015 в 22:13

тип материала "обмен_квартир" содержит поле body? и выводите ли Вы его во вьюхе? В перезаписи доступны только те поля которые вы выводите во вьюхе.

Аватар пользователя Romanov-EV Romanov-EV 7 ноября 2015 в 22:10

lexsaenko wrote:
Не совсем понял вопрос, но [field_node_text] скорее всего это токен поля которое есть в типе материала "аренда жилья". Может в типа материала "обмен квартир" нет поля field_node_text и поэтому не работает скрипт. Или еще как вариант надо добавить поле в вывод вьюхи и тогда оно появится в токенах.

[body] - это вывод содержимого поля "боди". В типе материала "Аренда" при наведении на сообветствующую ячейку в определенной колонке, во всплывающем окошке выводится содержимое этого поля.
Я хочу сделать тот же самый эффект в типе материала "обмен_квартир". Только пока не пойму где и что я должен изменить или добавить...

Аватар пользователя Romanov-EV Romanov-EV 7 ноября 2015 в 22:16

lexsaenko wrote:
Не совсем понял вопрос, но [field_node_text] скорее всего это токен поля которое есть в типе материала "аренда жилья". Может в типа материала "обмен квартир" нет поля field_node_text и поэтому не работает скрипт. Или еще как вариант надо добавить поле в вывод вьюхи и тогда оно появится в токенах.

Что касается поля "боди" - оно уже задействовано в этом типе материалов, так что мне придется использовать именно поле "описание_спроса"... Только пока не знаю как...

Аватар пользователя Romanov-EV Romanov-EV 7 ноября 2015 в 22:21

lexsaenko wrote:
Возможно скрипт заточен только под поле body.

Вот он, скрипт:

(function($) {
Drupal.behaviors.addTooltips = {
attach : function(context, settings) {
/* подключаем всплывающие подсказки для вьюшек таблиц, у вьюшки должен быть назначен CSS-класс objects-table */
$(document).tooltip({
items : ".objects-table .views-field-field-objct",
content : function() {
return $(this).find(".text").html();
},
});
$(".objects-table .flag-note a").tooltip({
content : function() {
return $(this).parent().parent().find(".note-text").text();
},
});
}
}
})(jQuery);

Аватар пользователя lexsaenko lexsaenko 7 ноября 2015 в 22:24

"Romanov-EV" wrote:
/* подключаем всплывающие подсказки для вьюшек таблиц, у вьюшки должен быть назначен CSS-класс objects-table */

У вьюшки в разделе ДРУГОЕ задан CSS-класс: objects-table?

Аватар пользователя Romanov-EV Romanov-EV 7 ноября 2015 в 22:28

lexsaenko wrote:
"Romanov-EV" wrote:
/* подключаем всплывающие подсказки для вьюшек таблиц, у вьюшки должен быть назначен CSS-класс objects-table */

У вьюшки в разделе ДРУГОЕ задан CSS-класс: objects-table?

Да, задан CSS-класс: objects-table !!! Причем, для одной колонки, где задействован этот JS-скрипт, все работает! Иначе бы не работало.

А что такое [field_node_text] я так и не нашел... Нашел токен [field_spros_opis] - поробовал - изменений не увидел.

Аватар пользователя engenes engenes 10 ноября 2015 в 11:50

установите qtip модуль
в представлении добавьте необходимые поля (то поле, на которое будет наводиться крусор мыши, и то поле, которое должно всплывать) Затем добавьте еще одно поле оно после установки модуля будет называться Глобальный: qTip в нем нужно будет заполнить два поля как раз таки... в верхнее поле нужно будет вставить то на которое будет наводиться курсор, а в нижнее то которое будет всплывать. Затем первые два поля исключите из вывода. внешний вид потом сможете стилизовать как в настройках модуля так и ручками в css

Аватар пользователя Romanov-EV Romanov-EV 7 ноября 2015 в 22:32

engenes wrote:
установите qtip модуль
в представлении добавьте необходимые поля (то поле, на которое будет наводиться крусор мыши, и то поле, которое должно всплывать) Затем добавьте еще одно поле оно после установки модуля будет называться Глобальный: qTip в нем нужно будет заполнить два поля как раз таки... в верхнее поле нужно будет вставить то на которое будет наводиться курсор, а в нижнее то которое будет всплывать. Затем первые два поля исключите из вывода. внешний вид потом сможете стилизовать как в настройках модуля так и ручками в css

Спасибо за совет. Завтра буду пробовать!..

Аватар пользователя engenes engenes 10 ноября 2015 в 11:50

можно и ручками написать скрипт ну или отредактировать ваш (потратить время), но зачем когда есть универсальное готовое решение
в приложении при наведении на город всплывает подсказка

Аватар пользователя Romanov-EV Romanov-EV 7 ноября 2015 в 22:46

Goodboy wrote:
В одном месте node_text, в другом note-text.
Нет ли здесь путаницы?

Нет, путаницы нет, скрипт рабочий. А задача состоит в том, чтобы тот же эффект получить для другого поля, которое есть только в типе материала "обмен_квартир" - это поле "описание_спроса".

Аватар пользователя engenes engenes 7 ноября 2015 в 22:56

вот так же и будет все работать попробуйте, модуль хорошо тем что при наведении на одно поле можно сделать чтобы всплывало сразу несколько других и наоборот. он так же как ваш tщoltip работает только интегрирован с views

Аватар пользователя engenes engenes 7 ноября 2015 в 22:57

Romanov-EV wrote:
Вот ссылка на сайт, где можно посмотреть как работает вывод во всплывающее окно - http://barnaul.obmeniarenda.ru/-obmen[/quote]

не туда ткнул.....
вот так же и будет все работать попробуйте, модуль хорошо тем что при наведении на одно поле можно сделать чтобы всплывало сразу несколько других и наоборот. он так же как ваш tщoltip работает только интегрирован с views

Аватар пользователя Romanov-EV Romanov-EV 7 ноября 2015 в 23:15

engenes wrote:
Romanov-EV wrote:
Вот ссылка на сайт, где можно посмотреть как работает вывод во всплывающее окно - http://barnaul.obmeniarenda.ru/-obmen

не туда ткнул.....
вот так же и будет все работать попробуйте, модуль хорошо тем что при наведении на одно поле можно сделать чтобы всплывало сразу несколько других и наоборот. он так же как ваш tщoltip работает только интегрирован с views[/quote]

Я указал токен поля для курсора и токен для вывода подсказки. пока не получилось, чтобы вывод был в нужном мне поле (колонке). подсказка выводится в самом поле qTip ?!!!

Аватар пользователя engenes engenes 7 ноября 2015 в 22:57

Romanov-EV wrote:
Кто может подсказать, как пользоваться отладочными инструментами Drupal-7 ?

вот так же и будет все работать попробуйте, модуль хорошо тем что при наведении на одно поле можно сделать чтобы всплывало сразу несколько других и наоборот. он так же как ваш tщoltip работает только интегрирован с views

Аватар пользователя Romanov-EV Romanov-EV 8 ноября 2015 в 11:36

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

Для того чтобы справиться с задачей мне не хватает понимания как именно работает настройка поля:
REWRITE RESULTS: Rewrite the output of this field: Text

Что именно делает эта настройка? - выводит содержимое этого поля в указанное в этой настройке поле? Или в это поле выводится содержимое указанное в настройках?

Напомню, еще раз, задачу, которую решаю:

Есть поле - "спрос" и поле - "описание_спроса", которые настроены на вывод в одной ячейке таблицы и это и происходит. А задача состоит в том, чтобы содержимое поля "описание_спроса" "выводилось во всплывающем окне, лишь тогда, когда курсор указывает на эту ячейку. Если нужно, я могу дать ФТП-доступ на хост!..

Аватар пользователя lexsaenko lexsaenko 8 ноября 2015 в 11:45

"Romanov-EV" wrote:
Или в это поле выводится содержимое указанное в настройках?

Если стоит галка "Заменить выводимое полем значение" и поле "Текст" содержит какие то данные (токены или произвольный текст), то при выводе будет отображаться то что введено в поле текст.

Пример:
Поля
Заголовок
Описание
Характеристики
Для поля описание включена перезапись и указано "Нет описания вывести [title]"

Результат будет вместо поля описания выведется "Нет описания вывести Название заголовка".

Аватар пользователя Romanov-EV Romanov-EV 8 ноября 2015 в 12:04

lexsaenko wrote:
"Romanov-EV" wrote:
Или в это поле выводится содержимое указанное в настройках?

Если стоит галка "Заменить выводимое полем значение" и поле "Текст" содержит какие то данные (токены или произвольный текст), то при выводе будет отображаться то что введено в поле текст.

Пример:
Поля
Заголовок
Описание
Характеристики
Для поля описание включена перезапись и указано "Нет описания вывести [title]"

Результат будет вместо поля описания выведется "Нет описания вывести Название заголовка".

То есть, мне нужно настроить опцию ПЕРЕЗАПИСАТЬ нужно для поля "спрос", и указать там токен поля "Спрос_описание". Сейчас буду пробовать...
обнаружил, что среди токенов - нужный мне отсутствует! Мне бы понять алгоритм.. Как я понимаю:

1. Вывести значение поля "спрос_описание" в ячейку таблицы - поле "спрос"
2. Описать условие, по которому содержимое поля "спрос_описание" выводится во всплывающее окно при наведении курсора на ячейку с полем "спрос".

Хорошо бы разобраться с тем, что написано в JS-скрипте!.. К сожалению разработчик не оставил подробного описания к нему. Может кто помочь?

Аватар пользователя lexsaenko lexsaenko 8 ноября 2015 в 11:58

"Romanov-EV" wrote:
То есть, мне нужно настроить опцию ПЕРЕЗАПИСАТЬ нужно для поля "спрос", и указать там токен поля "Спрос_описание". Сейчас буду пробовать...

Если надо что бы вместо поля спрос вывелось поле Спрос и Спрос_описание то да. И в поле перезаписи указать два токена один от поля Спрос второй от поля Спрос_описание.

Аватар пользователя Romanov-EV Romanov-EV 8 ноября 2015 в 12:10

lexsaenko wrote:
Если надо что бы вместо поля спрос вывелось поле Спрос и Спрос_описание то да. И в поле перезаписи указать два токена один от поля Спрос второй от поля Спрос_описание.

Проблема в том, что нужного токена в списке токенов нет. Единственный, из нужных мне, доступный токен - [field_spros] - работает. А для поля "спрос_описание" токена нет. Такие вот дела...

Аватар пользователя Romanov-EV Romanov-EV 8 ноября 2015 в 12:21

lexsaenko wrote:
Поле "спрос_описание" добавлено во вьюху? если нет то добавь и исключи из вывода.

Поле "спрос_описание", конечно же есть во вьюхе, вы уже об этом меня спрашивали...
Из вывода поле "спрос_описание" исключил сейчас!

Когда я открываю свойства поля "спрос_описание" то вижу в списке токенов нужный мне-
[field_spros_opis] == Содержимое: Спрос_описание. Но мне он нужен в другом поле - "спрос"!

Продолжаю разбираться...