Grower Posted March 12, 2016 Share Posted March 12, 2016 Приветствую, есть ли возможность создать админский бб-код для вставки ссылки (в идеале с тайтлом) в статью - чтобы без noindex и nofollow заранее спасибо! Link to comment Share on other sites More sharing options...
Grower Posted March 18, 2016 Author Share Posted March 18, 2016 Актуально, тут кто-то есть? HELP Link to comment Share on other sites More sharing options...
siv1987 Posted March 18, 2016 Share Posted March 18, 2016 А что мешает создать ббкод и проверить? Link to comment Share on other sites More sharing options...
Grower Posted March 18, 2016 Author Share Posted March 18, 2016 Мешает недостаток знаний! ссылка имеет вид (см.ниже) <a href="ссылка" class="bbc_url" title="Ссылка" rel="nofollow external">как убрать rel="nofollow external" и в идеале это код в котором также можно заменить тайтл на свой Был бы очень благодарен за помощь! Link to comment Share on other sites More sharing options...
siv1987 Posted March 18, 2016 Share Posted March 18, 2016 Мешает недостаток знаний!Насколько мне известно для создания ббкода в IPB особых знаний не требуется. Link to comment Share on other sites More sharing options...
kgb Posted March 19, 2016 Share Posted March 19, 2016 Никаким бб-кодом это не сделать. Только хуком или правкой кода Link to comment Share on other sites More sharing options...
Grower Posted March 19, 2016 Author Share Posted March 19, 2016 Насколько мне известно для создания ббкода в IPB особых знаний не требуется. Насколько я вижу вы не читали что мне нужно сделать) суть задачи: есть статьи и туда нужно вставлять пару ссылок без nofollow, в принципе знаю что можно статью редактировать в html - но этот вариант неудобен, думал может для админов сделать ббкод как описал выше, это было бы удобнее всего Никаким бб-кодом это не сделать. Только хуком или правкой кода Подскажи хук, учитывая мои цели, которые я описал выше Link to comment Share on other sites More sharing options...
siv1987 Posted March 19, 2016 Share Posted March 19, 2016 Насколько я вижу вы не читали что мне нужно сделать) думал может для админов сделать ббкод как описал выше, это было бы удобнее всегоА что мешает создать ббкод и проверить? Link to comment Share on other sites More sharing options...
kgb Posted March 19, 2016 Share Posted March 19, 2016 Подскажи хук, учитывая мои цели, которые я описал выше Мне такой хук неизвестен. Я делал для себя правкой кода, но у меня там все нахрен переписано. Да и сделано на скорую руку. И логика там таковая - к нужной ссылке добавляется некоторое кодовое слово, известное только админу ( например 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>"; } Для четверки, кстати, уже нацарапал плагин с одновременным редиректом внешних ссылок, там никаких кодовых слов в базе не сохраняется 1 Link to comment Share on other sites More sharing options...
siv1987 Posted March 19, 2016 Share Posted March 19, 2016 С ббкодами использующие ссылки есть одна одна проблема: автоматический парсинг. Сначала их пытается парсить 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 ) Link to comment Share on other sites More sharing options...
kgb Posted March 19, 2016 Share Posted March 19, 2016 Млин, как всегда тороплюсь и забыл $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>"; } Link to comment Share on other sites More sharing options...
siv1987 Posted March 20, 2016 Share Posted March 20, 2016 Для четверки, кстати, уже нацарапал плагин с одновременным редиректом внешних ссылок, там никаких кодовых слов в базе не сохраняетсяТам тоже с такими костылями? Link to comment Share on other sites More sharing options...
Fantik Posted May 4, 2018 Share Posted May 4, 2018 как в 4.2.8 можно такое реализовать? 1 Link to comment Share on other sites More sharing options...
Abram Posted June 1, 2018 Share Posted June 1, 2018 Меня решение проблемы тоже интересует. Link to comment Share on other sites More sharing options...
newbie Posted June 2, 2018 Share Posted June 2, 2018 как в 4.2.8 можно такое реализовать?Меня решение проблемы тоже интересует. ВотДля четверки, кстати, уже нацарапал плагин с одновременным редиректом внешних ссылок, там никаких кодовых слов в базе не сохраняется Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now