Перейти к публикации
Дизайн и модификация IPS Community IPBSkinsBETA
Поиск в
  • Дополнительно...
Искать результаты, содержащие...
Искать результаты в...
Grower

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

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

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

 

есть ли возможность создать админский бб-код для вставки ссылки (в идеале с тайтлом) в статью - чтобы без 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>";

               }

 

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

С ббкодами использующие ссылки есть одна одна проблема: автоматический парсинг. Сначала их пытается парсить 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>";

			}

Поделиться сообщением


Ссылка на сообщение

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

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

Поделиться сообщением


Ссылка на сообщение

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

  • Upvote 1

Поделиться сообщением


Ссылка на сообщение

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

Поделиться сообщением


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

 

Вот

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

Поделиться сообщением


Ссылка на сообщение

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

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

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

×
×
  • Создать...