Нужно, чтобы у записей в одном из поле была гиперссылка (переход на карточку клиента)
Тип поля "Поле ввода".
Эту ссылку генерирует самописный скрипт.
Ссылка выглядит следующим образом
<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: Как создать ссылку в ячейки
Ну, если разрешить пользователям вводить <>, то можно написать <script></script> и там уже много чего интересного. Вообщем скобки экранируются в целях безопасности.
Re: Как создать ссылку в ячейки
Понял, т.е. запрещено по безопасности.
Получается нам нужно думать, как сделать, чтобы эти записи не было нужды редактировать вовсе.
Ибо если не редактировать, то ссылки работают корректно.
Получается нам нужно думать, как сделать, чтобы эти записи не было нужды редактировать вовсе.
Ибо если не редактировать, то ссылки работают корректно.
- support
- Техническая поддержка
- Сообщения: 9228
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Как создать ссылку в ячейки
includes\classes\fieldstypes\fieldtype_input.php
Метод process сохраняет значение
Функция db_prepare_input экранирует. Замените ее на db_prepare_html_input
Код: Выделить всё
function process($options)
{
return db_prepare_input($options['value']);
}
Функция db_prepare_input экранирует. Замените ее на db_prepare_html_input
Re: Как создать ссылку в ячейки
Заменил.
теперь гиперссылка не экранируется.
Спасибо.
Надеюсь такая замена ничего в срм не нарушит?
Ну кроме того, что теперь пользователи ручками могут ввести код, скрипт через < >
теперь гиперссылка не экранируется.
Спасибо.
Надеюсь такая замена ничего в срм не нарушит?
Ну кроме того, что теперь пользователи ручками могут ввести код, скрипт через < >
- support
- Техническая поддержка
- Сообщения: 9228
- Зарегистрирован: 19 окт 2014, 18:22
- Имя: Харчишин Сергей
- Откуда: Крым, Евпатория
Re: Как создать ссылку в ячейки
Не нарушит.