Перейти к содержимому
Открыть в приложении

Удобный способ просмотра. Узнать больше.

Дизайн и модификация Invision Community

Полноэкранное приложение на главном экране с push-уведомлениями, медалями и многим другим.

Чтобы установить это приложение на iOS и iPadOS
  1. Нажмите иконку «Поделиться» в Safari
  2. Прокрутите меню и нажмите На экран «Домой».
  3. Нажмите Добавить в правом верхнем углу.
Чтобы установить это приложение на Android
  1. Нажмите меню из трёх точек (⋮) в правом верхнем углу браузера.
  2. Нажмите Добавить на главный экран или Установить приложение.
  3. Подтвердите, нажав Установить.
Русский язык для Invision Community 5

Замена ссылки по всему сайту + куки

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

 

        <script type='text/javascript'>
           ;( function($, _, undefined){

           var hash = location.hash.substring(1);

           // Замена ссылки из куков
           var ref_linkCookie = ips.utils.cookie.get( 'ref_link' );

           if ( ref_linkCookie != '' )	{
               $('#ref_link').attr('href', ref_linkCookie);
           }

           // Запись ссылки в куки и замена при первом посещении
           if ( hash != '' && window.location.href.indexOf("?ref=") > -1 ) {
               $('#ref_link').attr('href', 'https://mercury.gl/'+hash);
               ips.utils.cookie.set( 'ref_link', 'https://mercury.gl/'+hash );
           }

           }(jQuery, _));
       </script>

 

Здесь идет проверка на корректность ссылки, а то она не корректно заменялась при просмотре сообщения на форуме если переходить по такой ссылке: /forums/?tab=comments#comment-7

window.location.href.indexOf("?ref=") > -1

Рекомендованные сообщения

Используйте

window.open($(e.currentTarget).attr('data-ref'), '_blank');

вместо

location.href = $(e.currentTarget).attr('data-ref');

  • Автор

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

$member = null;

if (isset(\IPS\Request::i()->cookie['ref_link']) and \IPS\Request::i()->cookie['ref_link'])
{
try
{
	$member = \IPS\Member::constructFromData(\IPS\Db::i()->select('*', 'core_pfields_content', array('field_1=?', \IPS\Request::i()->cookie['ref_link']))->join('core_members', 'core_members.member_id=core_pfields_content.member_id') ->first());
}
catch (\Exception $e) {}
}

field_1 замените

  • Автор

Это же не будет работать в шаблоне? Ну, если даже вставить {{ }}...

В шаблоне нужно все в одну строку писать

  • 3 недели спустя...

Создайте аккаунт или войдите в него для комментирования

Аккаунт

Навигация

Поиск

Поиск

Настроить push-уведомления браузера

Chrome (Android)
  1. Нажмите на иконку замка рядом с адресной строкой.
  2. Нажмите Права доступа -> Уведомления.
  3. Измените свои настройки.
Chrome (компьютер)
  1. Нажмите на иконку замка в адресной строке.
  2. Выберите Настройки сайта.
  3. Найдите Уведомления и измените свои настройки.