Ассоциация ЭБНИТ    ИРБИС-корпорация    Вики-Ирбис    Online/CHM справка Ирбис   
J-ИРБИС :  ИРБИС Irbis
 
Прямая ссылка на книгу (запись из каталога)
Пользователь: gavrikov (IP-адрес скрыт)
Дата: 29, October, 2018 12:18

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

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: ksv (IP-адрес скрыт)
Дата: 29, October, 2018 14:33

Прочитайте в документации пункт 4.6.7.2
Может это то, что надо?

Цитирую:

Пример строки запроса, результатом которой является один документ, который должен быть найден в базе IBIS по системному шифру (поле 903):
h t tp://localhost/jirbis2/index.php?option=com_irbis&view=irbis&Itemid=108&task=set_static_req&sys_code=512/S45-734830&bns_string=IBIS

Схема ссылки при этом будет следующей:

<адрес сайта>/jirbis2/index.php?option=com_irbis&view=irbis&Itemid=108&task=set_static_req&sys_code=<значение системного шифра (поле 903)>&bns_string=<названия БД через запятую>

Пример формата, с помощью которого генерируется такая ссылка:

'http://lib.name.kz/jirbis2/index.php?option=com_irbis&view=irbis&Itemid=108&task=set_static_req&sys_code=',v903, '&bns_string=',&uf('+D')



Редактировано 1 раз. Последний раз 29.10.2018 14:34 пользователем ksv.

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: gavrikov (IP-адрес скрыт)
Дата: 29, October, 2018 15:30

Супер, то что надо! ksv спасибо большое! Осталось мне найти актуальную документацию, потому-что в моей нет такого пункта и версия от 11 апреля.

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: ksv (IP-адрес скрыт)
Дата: 29, October, 2018 15:35

Новая документация пришла с обновлением от 09, September, 2018

Я не знаю, можно ли здесь приаттачить этот файл.

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: gavrikov (IP-адрес скрыт)
Дата: 29, October, 2018 15:46

Вот ссылка на актуальную документацию Ссылка на документацию удалена модератором. Пользуйтесь ссылкой из письма поставки! Документация -- часть коммерческого продукта!



Редактировано 1 раз. Последний раз 29.10.2018 18:04 пользователем Кирилл Соколинский (СЗТУ).

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: gavrikov (IP-адрес скрыт)
Дата: 05, December, 2018 10:43

Продолжая данную тему... столкнулись с проблемой, что в прямой ссылке обязательно должна быть указана база в которой содержится эта книга, в противном случае открывается ссылка и ищет книгу в базе по умолчанию и соответственно не всегда находит.
А есть ли в API JIRBIS функция которая по id базы выдаст ее имя, например IBIS, потому что именно ее надо указывать в ссылке.

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: gavrikov (IP-адрес скрыт)
Дата: 06, December, 2018 07:58

Нашел! У нас есть id базы $rec->bl_id, получаем имя базы $bns:
$st=new ji_st();
$bns=ji_st::i(JI_LOCK_NO)->get_bns_by_bl_id($rec->bl_id);

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: gavrikov (IP-адрес скрыт)
Дата: 06, December, 2018 08:01

Получилось, как на скриншоте

Вложения: Снимок.JPG (45.3KB)  
Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 09, December, 2018 22:42

gavrikov написал(а):
-------------------------------------------------------
> Нашел! У нас есть id базы $rec->bl_id, получаем
> имя базы $bns:
> $st=new ji_st();
> $bns=ji_st::i(JI_LOCK_NO)->get_bns_by_bl_id($rec->
> bl_id);

Никогда не сомневался, что профессионалы всегда смогут сориентироваться в коде J-ИРБИС 2.0. :)

Только "$st=new ji_st();" можно удалить: экземпляр объекта генерируется синглтоном.
Но мне бы хотелось увидеть код, который получился. Лучше всего для решения таких задач было бы использовать ji_php_user_rec_correction.php Тогда гарантированно отсутствие проблем с автоматическим обновлением.



Редактировано 1 раз. Последний раз 10.12.2018 13:31 пользователем Кирилл Соколинский (СЗТУ).

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: gavrikov (IP-адрес скрыт)
Дата: 10, December, 2018 13:48

Сделал в ajax_provider.php
public static function show_link(){
$result = "";
$rec=ji_rec_common::get_rec_by_rec_id(ji_st::i(JI_LOCK_NO)->rec_id);
if (!empty($rec->Content[903][0]) && isset($rec->Content[903][0])) {
// add Gavrikov 05/12/2018
$bns=ji_st::i(JI_LOCK_NO)->get_bns_by_bl_id($rec->bl_id);
$result = '<p class="share">';
$result .= "<a href='http://vk.com/share.php?url=http://lib.narfu.ru/index.php?option=com_irbis&view=irbis&Itemid=108&task=set_static_req&sys_code=".$rec->Content[903][0]."&search_form_enable=0&select_catalog_enable=0&req_description_enable=0&checkbox_enable=0&number_enable=0&bns_string=".$bns."&lang=ru' target='_blank' class='share-vk'>Поделиться ВКонтакте</a>";
$result .= "<a href='http://lib.narfu.ru/index.php?option=com_irbis&view=irbis&Itemid=108&task=set_static_req&sys_code=".$rec->Content[903][0]."&search_form_enable=0&select_catalog_enable=0&req_description_enable=0&checkbox_enable=0&number_enable=0&bns_string=".$bns."&lang=ru' class='share-link' target='_blank'>Открыть ссылку</a>";
$result .= '</p>';
// Gavrikov
}
answer::quick_format($result);
}

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: gavrikov (IP-адрес скрыт)
Дата: 10, December, 2018 14:23

И в jirbis_configuration.php добавил
'link' =>
array (
'title' => 'Отправить ссылку',
'type' => 1,
'indicators' =>
array (
0 => 903,
),
'request' => 'task=show_link',
),

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: gavrikov (IP-адрес скрыт)
Дата: 10, December, 2018 14:26

А если делать это в ji_php_user_rec_correction.php, то в __construct?

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 15, December, 2018 16:31

gavrikov написал(а):
-------------------------------------------------------
> Сделал в ajax_provider.php
> public static function show_link(){

Не оптимальный вариант.

1. Замените task=show_link на unit=safu_unit&task=show_vk_link

2. Создайте в units файл и класс ji_safu_unit (образец ji_ed_static.php) c методом show_vk_link, который будет выводить нужные Вам ссылки.

Это корректный подход, полностью совместимый с автоматическим обновлением.

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: muxammadjonov (IP-адрес скрыт)
Дата: 23, November, 2021 12:55

Доброго времени суток!

Прощу помочь по статической ссылки для вывода документов по типу (Характер документа). Нужно в&#1179;делить несколко элементов: 11,119,115.
Что не так со ссылкой ниже?

[lib.tstu.uz]Художественная литература&task=set_static_req&req_irb=((<.>HD=11$<.>)+(<.>HD=119$<.>)+(<.>HD=115$<.>))&bl_id_string=1&sort_name=author&sort_direction=DOWN

Форма показывает формирование такого вида запроса:
Запрос: 
(((<.>HD=11$<.>) (<.>HD=119$<.>) (<.>HD=115$<.>)))

Попробовал и так: req_irb=(<.>HD=11$<.>+<.>HD=119$<.>+<.>HD=115$<.>)

Но не показывает результата.



Редактировано 1 раз. Последний раз 31.05.2022 20:30 пользователем muxammadjonov.

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: muxammadjonov (IP-адрес скрыт)
Дата: 24, November, 2021 10:05

muxammadjonov написал(а):
-------------------------------------------------------
> Доброго времени суток!
>
> Прощу помочь по статистической ссылки для вывода
> документов по типу (Характер документа). Нужно
> в&#1179;делить несколко элементов: 11,119,115.
> Что не так со ссылкой ниже?
>
> [lib.tstu.uz]
> bis&view=irbis&Itemid=115&header=Художественная
> литература&task=set_static_req&req_irb=((<.>HD=11$
> <.>)+(<.>HD=119$<.>)+(<.>HD=115$<.>))&bl_id_string
> =1&sort_name=author&sort_direction=DOWN
>
> Форма показывает формирование такого вида
> запроса:
>
> Запрос:
> (((<.>HD=11$<.>) (<.>HD=119$<.>)
> (<.>HD=115$<.>)))
>
>
> Попробовал и так:
> req_irb=(<.>HD=11$<.>+<.>HD=119$<.>+<.>HD=115$<.>)
>
>
> Но не показывает результата.

Всё, выяснили как получить список через меню с помощью инструкции.

Добавили меню с набором параметров
Itemid=115
task=set_static_req
req_irb=!!!HD=11~!!!+!!!HD=115~!!!
header=Художественная литература
bl_id_string=1
sort_name=author
sort_direction=DOWN

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 29, November, 2021 02:11

muxammadjonov написал(а):
-------------------------------------------------------
> Запрос:
> (((<.>HD=11$<.>) (<.>HD=119$<.>)
> (<.>HD=115$<.>)))
>
>
> Попробовал и так:
> req_irb=(<.>HD=11$<.>+<.>HD=119$<.>+<.>HD=115$<.>)

Дело в том, что в знак "+" интерпретируется браузером как пробел. Поэтому для того, чтобы ссылка, содержащая его, обеспечивала нужный результат, требуется кодировать его в URI. Используйте вместо знака "+" в ссылках кодированное значение -- "%2B"

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: muxammadjonov (IP-адрес скрыт)
Дата: 29, November, 2021 22:19

Понятно, спасибо!

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: LiLi (IP-адрес скрыт)
Дата: 28, October, 2022 09:18

добрый день.
Можете подсказать, что не корректно в ссылке, нужно вывести номера журнала за определенный год. Результат выдает нужные номера, но дважды. Вместо результата 12 записей, выдает 24 записи, повторяет два раза эти записи.
В ЭК дублетов шифра нет.
/jirbis2/index.php?option=com_irbis&view=irbis&Itemid=108&task=set_static_req&bns_string=IBIS&req_irb=<.>I=А1/2022/$<.>

Елена, КрЦНТИБ Красноярской ж.д.

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: Кирилл Соколинский (СЗТУ) (IP-адрес скрыт)
Дата: 31, October, 2022 00:27

LiLi написал(а):
-------------------------------------------------------
> добрый день.
> Можете подсказать, что не корректно в ссылке,
> нужно вывести номера журнала за определенный год.
> Результат выдает нужные номера, но дважды. Вместо
> результата 12 записей, выдает 24 записи, повторяет
> два раза эти записи.
> В ЭК дублетов шифра нет.
> /jirbis2/index.php?option=com_irbis&view=irbis&Ite
> mid=108&task=set_static_req&bns_string=IBIS&req_ir
> b=<.>I=А1/2022/$<.>

Нужно использовать вместо bns_string параметр bl_id_string, т.е. идентифицировать БД по цифровому идентификатору, а не по названию. При идентификации по названию выполняется выбор не только физической, но и виртуальной БД IBIS. При сложении результатов поиска в физической и виртуальной БД происходит дублирование.



Редактировано 1 раз. Последний раз 31.10.2022 00:42 пользователем Кирилл Соколинский (СЗТУ).

Re: Прямая ссылка на книгу (запись из каталога)
Пользователь: LiLi (IP-адрес скрыт)
Дата: 01, November, 2022 04:37

Спасибо! Упустила этот момент и опять на него попалась.

Елена, КрЦНТИБ Красноярской ж.д.



Извините, только зарегистрированные пользователи могут писать в этом форуме.
This forum powered by Phorum.