Как создать ссылку в ячейки

Все вопросы/проблемы по установке и использовании.
Ответить
dilon
Спонсор
Спонсор
Сообщения: 236
Зарегистрирован: 31 мар 2018, 23:43
Имя: Алексей
Откуда: Саратов

Как создать ссылку в ячейки

Сообщение dilon »

Нужно, чтобы у записей в одном из поле была гиперссылка (переход на карточку клиента)
Тип поля "Поле ввода".
Эту ссылку генерирует самописный скрипт.
Ссылка выглядит следующим образом
<a href="/crm/index.php?module=items/info&path=21-1" target="_blank" >Компания АБВ</a>
Если запись не трогать, то все работает хорошо. В ячейке отображаются слова "Компания АБВ", видно что слова кликабельны (это ссылка) и при нажатии на нее происходит корректный переход.

Но беда начинается после того, как запись отредактировали. Причем редактируется не это поле, а совсем другое. После редактирования, после нажатия сохранить, в этом поле ссылка перестает быть ссылкой. В поле появляется такой текст:
_a href="/crm/index.php?module=items/info&path=21-1" target="_blank" _Компания АБВ_/a_

Причем даже есть ручками потом исправить _ _ на < >
то все равно ссылка уже не работает.

Вопрос.
В чем причина и как исправить?
Аватара пользователя
support
Техническая поддержка
Сообщения: 9228
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Как создать ссылку в ячейки

Сообщение support »

Ну, если разрешить пользователям вводить <>, то можно написать <script></script> и там уже много чего интересного. Вообщем скобки экранируются в целях безопасности.
dilon
Спонсор
Спонсор
Сообщения: 236
Зарегистрирован: 31 мар 2018, 23:43
Имя: Алексей
Откуда: Саратов

Re: Как создать ссылку в ячейки

Сообщение dilon »

Понял, т.е. запрещено по безопасности.
Получается нам нужно думать, как сделать, чтобы эти записи не было нужды редактировать вовсе.
Ибо если не редактировать, то ссылки работают корректно.
De_mon
Спонсор
Спонсор
Сообщения: 278
Зарегистрирован: 14 авг 2017, 09:08
Имя: Дмитрий Горбунов
Откуда: Россия Уфа
Организация: Мебель Феличе
Контактная информация:

Re: Как создать ссылку в ячейки

Сообщение De_mon »

support писал(а): 22 ноя 2018, 17:35 Ну, если разрешить пользователям вводить <>, то можно написать <script></script> и там уже много чего интересного. Вообщем скобки экранируются в целях безопасности.
А если экранировать не скобки а текст script ?
Аватара пользователя
support
Техническая поддержка
Сообщения: 9228
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Как создать ссылку в ячейки

Сообщение support »

includes\classes\fieldstypes\fieldtype_input.php

Код: Выделить всё

  function process($options)
  {
    return db_prepare_input($options['value']);
  }
Метод process сохраняет значение

Функция db_prepare_input экранирует. Замените ее на db_prepare_html_input
dilon
Спонсор
Спонсор
Сообщения: 236
Зарегистрирован: 31 мар 2018, 23:43
Имя: Алексей
Откуда: Саратов

Re: Как создать ссылку в ячейки

Сообщение dilon »

Заменил.
теперь гиперссылка не экранируется.
Спасибо.

Надеюсь такая замена ничего в срм не нарушит?

Ну кроме того, что теперь пользователи ручками могут ввести код, скрипт через < >
Аватара пользователя
support
Техническая поддержка
Сообщения: 9228
Зарегистрирован: 19 окт 2014, 18:22
Имя: Харчишин Сергей
Откуда: Крым, Евпатория

Re: Как создать ссылку в ячейки

Сообщение support »

Не нарушит.
Ответить