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

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

от Jury N. Belonozhkin -
Количество ответов: 10

Дорогие коллеги!

Пишу наудачу, почти без надежды найти решение. А вдруг повезет?
Есть несколько баз данных в Moodle. Во всех есть поле с уникальным номером. Его заполняют вручную.

Вопрос: как сделать так, чтобы кликом по этому номеру открывать связанную запись в другой базе данных? Не хочется это делать через ручной поиск.

Спасибо заранее!

В ответ на Jury N. Belonozhkin

Re: Как сделать так, чтобы кликом по этому номеру открывать связанную запись в другой базе данных?

от Alex Djachenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода Изображение пользователя ООО "Открытые Технологии" Изображение пользователя Тестер Moodle Изображение пользователя Эксперт по Moodle

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

В ответ на Alex Djachenko

Re: Как сделать так, чтобы кликом по этому номеру открывать связанную запись в другой базе данных?

от Jury N. Belonozhkin -

Да, это элемент "База данных". 

Алексей, и как делаются ссылки через шаблоны?

И почему при "Разрешить автосвязывание" появляется новое поле при вводе?



В ответ на Jury N. Belonozhkin

Re: Как сделать так, чтобы кликом по этому номеру открывать связанную запись в другой базе данных?

от Alex Djachenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода Изображение пользователя ООО "Открытые Технологии" Изображение пользователя Тестер Moodle Изображение пользователя Эксперт по Moodle

Для автосвязывания, нужно поставить галочку "разрешить автосвязывание" в том поле, где будете указывать уникальные идентификаторы с префиксами (в основной таблице). В ссылающихся таблицах этого делать не нужно.

Чтобы проставить ссылку, войдите во вкладку "шаблоны", выберите шаблон одиночной записи или шаблон списка, переключите его в режим html и пропишите там ссылку на запись из другой таблицы с подстановкой параметров. Сама ссылка должна вести на форму поиска другой таблицы и сразу активировать поиск по нужному вам полю с подстановкой его значения. Посмотрите, как устроена форма поиска в БД, поэкспериментируйте с параметрами и разберетесь.

В ответ на Alex Djachenko

Re: Как сделать так, чтобы кликом по этому номеру открывать связанную запись в другой базе данных?

от Jury N. Belonozhkin -

Многообещающее решение!

Я создал такую ссылку, у которой в нужном месте находится параметр:

http://educons.online/mod/data/view.php?d=12&mode=list&perpage=10&search=&sort=0&order=ASC&advanced=0&filter=1&advanced=1&f_3159=код пациента&f_2986=&f_2987=&f_2988=&u_fn=&u_ln=

Полужирным шрифтом показано то поле, которое должно по идее подставляться в поле для поиска. Так результат запроса был в оригинале. 

http://educons.online/mod/data/view.php?d=12&mode=list&perpage=10&search=&sort=0&order=ASC&advanced=0&filter=1&advanced=1&f_3159=%D0%91%D0%B5%D0%BB1&f_2986=&f_2987=&f_2988=&u_fn=&u_ln=

Но результат не получается, запрос получается только с названием поля, но с его параметром:

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

В ответ на Jury N. Belonozhkin

Re: Как сделать так, чтобы кликом по этому номеру открывать связанную запись в другой базе данных?

от Jury N. Belonozhkin -

В общем, ни один способ перехода не сработал. Ни ссылкой, ни галочкой автосвязывание. Жаль. 

В ответ на Jury N. Belonozhkin

Re: Как сделать так, чтобы кликом по этому номеру открывать связанную запись в другой базе данных?

от Vadim Tabunshchik -
Изображение пользователя Developers

Юрий, если обе базы данных находятся в одном курсе, то переходы делаются элементарно.

В первой базе данных создаете дополнительное текстовое поле (я его называю ID - идентификатор), включаете автосвязывание этого поля. Во второй базе данных тоже создаете такое же поле, но отключаете автосвязывание.

База 1:

moodle3521

База 2:

moodle35212

В базе 2 конструкция «[1-1]» - ссылка на запись с таким же идентификатором в базе 1. Формируется автоматически фильтром автосвязывания записей БД.

В ответ на Vadim Tabunshchik

Re: Как сделать так, чтобы кликом по этому номеру открывать связанную запись в другой базе данных?

от Jury N. Belonozhkin -

Сделал именно так: сделал Базу 1, в ней поле ID с галочкой автосвязывание. Потом сделал Базу 2, с таким же поле ID без автосвязывания. Сделал две записи в обеих базах, ID записал один и тот же 1-1. Результат виден на картинке: связывания нет. 


Я записал и видео, чтобы показать, что именно я сделал:

 

 

Теоретически все понятно, а практически ничего не работает. 

Алексей, я теоретически сразу понял, что нужны "скрытые параметры формы поиска". Я прошу привести Ваш пример, в котором есть "скрытые параметры формы поиска". Мой пример, где есть "скрытые параметры формы поиска", я привел выше. В чем моя ошибка?

В ответ на Jury N. Belonozhkin

Re: Как сделать так, чтобы кликом по этому номеру открывать связанную запись в другой базе данных?

от Vadim Tabunshchik -
Изображение пользователя Developers

Я ролик снимать не буду, зайдите сюда и посмотрите: https://moodle.pstu.edu/course/view.php?id=31

Две базы: Список литературы и Дополнительная литература

Фильтр «Автосвязывание записей базы данных» точно везде включен? На сайте, в настройках курса, в базе данных?

В ответ на Vadim Tabunshchik

Re: Как сделать так, чтобы кликом по этому номеру открывать связанную запись в другой базе данных?

от Jury N. Belonozhkin -
Помню, что был такой фильтр, но не помнил его точное название. Он называется "Автоматическое создание ссылок на записи модуля «База данных»". Нашел – включил – заработало. Спасибо. Это получается связь только с одной главной таблицей. 

Но мне надо другое: делать переходы между таблицами, у которых нет автосвязывания между собой.

В ответ на Jury N. Belonozhkin

Re: Как сделать так, чтобы кликом по этому номеру открывать связанную запись в другой базе данных?

от Alex Djachenko -
Изображение пользователя Developers Изображение пользователя Майнтейнер перевода Изображение пользователя ООО "Открытые Технологии" Изображение пользователя Тестер Moodle Изображение пользователя Эксперт по Moodle

Что то не так настраиваете, Юрий.

У нас оба способа работают - используем для базы знаний по продукту в тех поддержке клиентов.

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

С автосвязыванием - разбейте задачу на 2 части: сперва добейтесь, чтобы заработало автосвязывание из обучного текста, а потом уже тестируйте автосвязывание с поля на поле.