2.Х.Х Чтоб автоссылки открывались в новой вкладке

+15
3.3K
Привет Инстантеры! Мой первый блог и подарок Вам! Ребята с сайта exticms.com/ поделились двумя файликами, была у нас проблема это когда из личной переписки, при переходе по внешней ссылке, эта внешняя ссылка открывалась не в новом окне, а в текущем, разработчики сказали что это автоссылки, но я не понимаю чем автоссылки отличаются от неавтоссылок. В общем кому надо, чтоб автоссылки (внешние ссылки) открвыались в переписке в новой вкладке налетай.


Изменения коснулись двух файлов

html_filter.php строка 64 приобретает вид $jevix->cfgAllowTagParams('a', array('target'=>array('_blank'),'href', 'name' => '#text'));

jevix.class.php строка 1442 приобретает вид $text.= $this->makeTag('a', array('target'=>'_blank','href' => $href), $url, false);

Этот фикс будет работать только для новых сообщений.

Кому лень править качаем и заливаем файлы
это в /system/libs
kiberkompas.com/podarki/1.zip

это в /system/controllers/typograph/hooks
kiberkompas.com/podarki/2.zip

Ещё ребята написали так:
Может это можно было сделать без правки jevix класса у меня нет времени искать где собака зарыта, но и это решение правильное и безопасное.

В общем какбы там нибыло, всё работает dance

Пользуясь случаем, хочу спросить, как сделать чтоб внешние ссылки указанные в профилях открывались в новой вкладке? Вот смотрите kiberkompas.com/users/56 нажал на личный сайт пользователя и закрылся сайт, а надо чтоб открывалась новая вкладка.
0
ph3no ph3no 9 лет назад #
В ICMS все внешние ссылки не только не открываются в новом окне, так еще они еще и прямые. И это не только в переписке. Весь этот ужас решают ваши файлы?
0
Колян Колян 9 лет назад #
В ICMS все внешние ссылки не только не открываются в новом окне, так еще они еще и прямые. И это не только в переписке. Весь этот ужас решают ваши файлы?
Скорее всего не все проблемы вот ещё по этой теме топик http://instantcms.ru/forum/thread21279-1.html#203174 но после обновы это решение в переписке перестало работать, вероятно решает похожую проблему, гдето в другом месте smile
0
ph3no ph3no 9 лет назад #
Версия 2.2.1, прямые внешние ссылки отдаются комментариях, в блогах, в личных сообщениях.
Я удивляюсь, почему еще из ICMS2 еще не сделали линкопомойки?
+3
My-InstantCMS.Ru My-InstantCMS.Ru 9 лет назад #
Николай Валентинович Сазоненко:
Пользуясь случаем, хочу спросить, как сделать чтоб внешние ссылки указанные в профилях открывались в новой вкладке?
Файл \system\fields\url.php строку 37
Код PHP:
  1. return '<a href="'.htmlspecialchars($href).'">'.$value.'</a>';
заменить на
Код PHP:
  1. return '<a href="'.htmlspecialchars($href).'" target="_blank">'.$value.'</a>';
0
Колян Колян 9 лет назад #
Спасибо братское сердце, работает! dance
+1
PIN PIN 9 лет назад #
С дебютом)
+1
Старый балбес Старый балбес 9 лет назад #
Пожалуй за пару плюсов стоит нанять новых разработчиков.

Так для страховки
""

Разработчики знают азы HTML?
0
Старый балбес Старый балбес 9 лет назад #
+ Но разработчиков на увольнение!
0
Старый балбес Старый балбес 9 лет назад #
Если ВЫ делаете изменения в поточном системном классе ( классе который отвечает за фильтрацию), кто отвечать за проблемы будет, ВЫ как автор темы , или уволенные разработчики,
Если Ваше решение обоснованно , то выложите аргументы для дополнения-изменения метода .
Как код разработчика в трекер !
Оформить как конфигурацию системы вывод ссылок ( стандарт -ваше решение),
ВЫ все равно - переложили Ваше решение на плечи пользователя.
+1
r2 r2 9 лет назад #
Все круто, только непонятно зачем.
В 2.2.1 и так эти ссылки открываются в новом окне.
0
Колян Колян 9 лет назад #
Не открываются внешние ссылки в переписке в новом окне, только что проверил тут http://www.icms2add.ru PIN обновился до 2.2.1 и у нас не открывались до этих правок, тоже обновились до 2.2.1
0
Kreator Kreator 9 лет назад #
В полях тоже в новом окне не открываются, хоть на обновленной последней версии, хоть на чистой установке.
0
r2 r2 9 лет назад #
В полях и не должны.
+3
Kreator Kreator 9 лет назад #
Почему то я думаю, что все внешние ссылки на сайте должны открываться в новой вкладке?
Что со мной не так?
+1
r2 r2 9 лет назад #
Пользователь сам способен решить где ему открыть ссылку. Принудительно заставлять его плодить вкладки допустимо лишь тогда, когда уход со страницы сбрасывает ее состояние (в посте речь об этом случае).
0
Колян Колян 9 лет назад #
А как этот вопрос выбора решается например в планшете, андроиде, эпле, ну там где пальцем нажимаешь на экране?
+1
r2 r2 9 лет назад #
Палец держится на ссылке на полсекунды дольше, появляется контекстное меню, выбирается "Открыть в новой вкладке". Да и кнопку "Назад" там никто не отменял, нажать на которую на мобильном устройстве гораздо проще, чем переключаться между вкладками.
0
ph3no ph3no 9 лет назад #
Если сделаете такое решение, обязательно поделитесь, молю.
+1
ph3no ph3no 9 лет назад #
Это твой сайт и твой посетитель и ты решаешь отдавать его на другой сайт или у себя оставлять.
О пользователе думать хорошо, но и о сайте тоже подумать нужно. Все следят за ссылками, за отказами, отслеживают поведенческий фактор, а тут прям какой-то подарок - прямые внешние ссылки можно навтыкать куда угодно, да еще и переходить по ним в текущем окне схватывая сразу отказ.
0
Колян Колян 9 лет назад #
Всецело и полностью поддерживаю т.к. незачем переходить от вкладки к вкладке, когда доп. вкладку открытую по внешней ссылке можно просто закрыть, чтоб не моячила и продолжить читать с того места где остановился (не факт что браузер вернёт юзера к тому месту в тексте/ветке комментариев откуда он перешёл по внешней ссылке)
+1
r2 r2 9 лет назад #
Вы руководствуетесь только некими собственными соображениями (истинность которых нельзя ни подтвердить ни опровергнуть), тогда как веб-дизайн - это целая наука, сформированная годами и имеющая целый набор устоявшихся правил и принципов. Один из основных принципов это предсказуемость. И насильное открытие ссылок в новом окне как раз нарушает этот принцип. В качестве дополнительного материала можно почитать, например, вот это.
+1
r2 r2 9 лет назад #
Так и решайте на своем сайте, никто же не против. Но по-умолчанию в движке ссылке будут открываться в том же окне (кроме случая с личными сообщениями). Это предсказуемое поведение ссылок и нарушать его без явной необходимости нельзя.
0
Колян Колян 9 лет назад #
Дак и решаем, победим со временем всё, главное чтоб интерес к теме не пропал и скидывали варианты как там сям внешние ссылки поправить на открывание в новом окне smile Вон Вы хоть и привели статью чтоб мы понимали что к чему

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


А тут в комментариях по Вашей ссылке внешней, левый сайт открылся в новом окне и удобно ведь scratch

В общем мы жуткие спамщики получаемся...

А вот по совету из статьи насчёт всплывающего окна при нажатии внешней ссылки, можноб было соорудить дополнение/компонент платный, чтоб окошко спрашивало как перейти открыв новую вкладку или в текущем окне и выдавало сообщение мол вы пытаетесь перейти к нехорошему сайту, и вести базу ссылок этих сайтов или ещё круче, как в вк сделано, если внешний сайт внесён в базу плохих сайтов, то и копирование и вставка этой ссылки в строку браузера не даёт перейти к сайту, только ручками набирать smile
0
ph3no ph3no 9 лет назад #
>>В качестве дополнительного материала можно почитать, например, вот это.
>>А тут в комментариях по Вашей ссылке внешней, левый сайт открылся в новом окне и удобно ведь.

R2, у вас в комментарии выше ссылка не прямая,а через редирект, открывается ссылка в новом окне. Ну о чем разговор.
0
ph3no ph3no 9 лет назад #
А я, новый пользователь instantcms2 сейчас должен перерывать сходу файлы чтоб повторить то же самое. при всем моем уважении, вы делаете большую ошибку.
0
Колян Колян 9 лет назад #
Или ещё круче, создаёте брендовый компонент, с общей базой плохих сайтов, а у тех Двоишников у которых стоит этот компонент, где нибудь в футере, Лого крутое, мол данный сайт заботится о чистоте информационного пространства, типа даже деткам безопасно тут находиться.
0
Колян Колян 9 лет назад #
Вот придумал, всплывает окно в нём сообщение Администрация не знакома с содержанием данного сайта и две кнопки Открыть в новом окне или в текущем. А если в базе компонента есть инфа по главному урлу, тогда комментарий соответствующий всплывает, заранее подготовленный и также две кнопки открыть в новом окне или в текущем.

Еще от автора

2.Х.Х Правило удаления типов контента
Решил значит я удалить лишние типы контента и при попытке удаления наблюдал белую страницу и в админке и на сайте, немного покубаторив (недельку висел
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.