Перейти к публикации
View in the app

A better way to browse. Learn more.

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

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Открыть для индексации отдельные ссылки

Опубликовано:

Приветствую,

 

есть ли возможность создать админский бб-код для вставки ссылки (в идеале с тайтлом) в статью - чтобы без noindex и nofollow

 

заранее спасибо!

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

Опубликовано:
  • Автор

Актуально, тут кто-то есть? HELP

Опубликовано:

А что мешает создать ббкод и проверить?

Опубликовано:
  • Автор

Мешает недостаток знаний!

 

ссылка имеет вид (см.ниже)

<a href="ссылка" class="bbc_url" title="Ссылка" rel="nofollow external">

как убрать

rel="nofollow external"

 

и в идеале это код в котором также можно заменить тайтл на свой

 

Был бы очень благодарен за помощь!

Опубликовано:
Мешает недостаток знаний!

Насколько мне известно для создания ббкода в IPB особых знаний не требуется.

Опубликовано:

Никаким бб-кодом это не сделать. Только хуком или правкой кода

Опубликовано:
  • Автор
Насколько мне известно для создания ббкода в IPB особых знаний не требуется.

Насколько я вижу вы не читали что мне нужно сделать)

 

суть задачи: есть статьи и туда нужно вставлять пару ссылок без nofollow, в принципе знаю что можно статью редактировать в html - но этот вариант неудобен, думал может для админов сделать ббкод как описал выше, это было бы удобнее всего

 

Никаким бб-кодом это не сделать. Только хуком или правкой кода

 

Подскажи хук, учитывая мои цели, которые я описал выше

Опубликовано:

Насколько я вижу вы не читали что мне нужно сделать)

думал может для админов сделать ббкод как описал выше, это было бы удобнее всего

А что мешает создать ббкод и проверить?

Опубликовано:
Подскажи хук, учитывая мои цели, которые я описал выше

 

Мне такой хук неизвестен. Я делал для себя правкой кода, но у меня там все нахрен переписано. Да и сделано на скорую руку.

 

И логика там таковая - к нужной ссылке добавляется некоторое кодовое слово, известное только админу ( например www.site,ru/KODOVOESLOVO ) и при окончательном формировании ссылки для вывода делается проверка на это слово и если оно есть то выводиться "прямая" ссылка, нет - ссылка с нофолоу. Костыли конечно, но работает.

 

Минусы.

 

Это правка кода, значит при каждом обновлении движка об этом надо помнить.

 

Ссылка с кодовым словом храниться в базе, значит в случае чего (например при обновлении до 4-той версии) про это надо тоже не забыть .

 

Файл /admin/sources/classes/text/parser/bbcode.php

Строка

 

			$replace = "<a href='{$url}' class='bbc_url' title='{$_title}'{$rel}>{$text}</a>";

Меняется на

 

                if(preg_match('#KODOVOESLOVO#is',$url)){

                   $replace = "<a href='{$url}' class='bbc_url'>{$text}</a>";

               }else{

                   $replace = "<a href='{$url}' class='bbc_url' title='{$_title}'{$rel}>{$text}</a>";

               }

 

Для четверки, кстати, уже нацарапал плагин с одновременным редиректом внешних ссылок, там никаких кодовых слов в базе не сохраняется

Опубликовано:

С ббкодами использующие ссылки есть одна одна проблема: автоматический парсинг. Сначала их пытается парсить purify опцией autolinking в composite.php, потом _finishUrlsForDisplay в bbcode.php. Заменить какой-то ббкод на тег без костылей довольно проблематично.

 

Второй вариант, который привел кгб, тоже с костылями, но он по легче будет и с меньшими правками. Можно проверить ссылку например по хештегу #follow и при его наличие не добавлять nofollow к ссылкам.

 

В \admin\sources\classes\text\parser\bbcode.php

Найти

 

			$data = @parse_url( $url );

Ниже добавить

 

			if( $follow = preg_match( '/(#|%23)(follow)$/', $url, $m ) )
			{
				$url  = str_replace( $m[0], '', $url );
				$text = str_replace( "#{$m[2]}", '', $text );
			}

 

Найти

 

			if ( $this->settings['posts_add_nofollow'] )

Заменить на

 

			if ( $this->settings['posts_add_nofollow'] AND ! $follow )

Опубликовано:

Млин, как всегда тороплюсь и забыл

 

        	$replace = "<a href='{$url}' class='bbc_url' title='{$_title}'{$rel}>{$text}</a>";

 

Меняется на

 

			if(preg_match('#KODOVOESLOVO#is',$url)){

				$url = str_replace('KODOVOESLOVO','',$url);

				$replace = "<a href='{$url}' class='bbc_url'>{$text}</a>";

			}else{

				$replace = "<a href='{$url}' class='bbc_url' title='{$_title}'{$rel}>{$text}</a>";

			}

Опубликовано:

Для четверки, кстати, уже нацарапал плагин с одновременным редиректом внешних ссылок, там никаких кодовых слов в базе не сохраняется

Там тоже с такими костылями?

  • 2 года спустя...
Опубликовано:

как в 4.2.8 можно такое реализовать?

  • 4 недели спустя...
Опубликовано:

Меня решение проблемы тоже интересует.

Опубликовано:
как в 4.2.8 можно такое реализовать?
Меня решение проблемы тоже интересует.

 

Вот

Для четверки, кстати, уже нацарапал плагин с одновременным редиректом внешних ссылок, там никаких кодовых слов в базе не сохраняется

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

Сейчас на странице 0

  • Нет пользователей, просматривающих эту страницу.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.