Grower 0 03/12/16 10:15 Приветствую, есть ли возможность создать админский бб-код для вставки ссылки (в идеале с тайтлом) в статью - чтобы без noindex и nofollow заранее спасибо! Поделиться сообщением Ссылка на сообщение
siv1987 2628 03/18/16 15:14 А что мешает создать ббкод и проверить? Поделиться сообщением Ссылка на сообщение
Grower 0 03/18/16 22:00 Мешает недостаток знаний! ссылка имеет вид (см.ниже) <a href="ссылка" class="bbc_url" title="Ссылка" rel="nofollow external">как убрать rel="nofollow external" и в идеале это код в котором также можно заменить тайтл на свой Был бы очень благодарен за помощь! Поделиться сообщением Ссылка на сообщение
siv1987 2628 03/18/16 22:07 Мешает недостаток знаний!Насколько мне известно для создания ббкода в IPB особых знаний не требуется. Поделиться сообщением Ссылка на сообщение
kgb 35 03/19/16 12:15 Никаким бб-кодом это не сделать. Только хуком или правкой кода Поделиться сообщением Ссылка на сообщение
Grower 0 03/19/16 12:32 Насколько мне известно для создания ббкода в IPB особых знаний не требуется. Насколько я вижу вы не читали что мне нужно сделать) суть задачи: есть статьи и туда нужно вставлять пару ссылок без nofollow, в принципе знаю что можно статью редактировать в html - но этот вариант неудобен, думал может для админов сделать ббкод как описал выше, это было бы удобнее всего Никаким бб-кодом это не сделать. Только хуком или правкой кода Подскажи хук, учитывая мои цели, которые я описал выше Поделиться сообщением Ссылка на сообщение
siv1987 2628 03/19/16 12:36 Насколько я вижу вы не читали что мне нужно сделать) думал может для админов сделать ббкод как описал выше, это было бы удобнее всегоА что мешает создать ббкод и проверить? Поделиться сообщением Ссылка на сообщение
kgb 35 03/19/16 13:31 Подскажи хук, учитывая мои цели, которые я описал выше Мне такой хук неизвестен. Я делал для себя правкой кода, но у меня там все нахрен переписано. Да и сделано на скорую руку. И логика там таковая - к нужной ссылке добавляется некоторое кодовое слово, известное только админу ( например 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 Поделиться сообщением Ссылка на сообщение
siv1987 2628 03/19/16 15:47 С ббкодами использующие ссылки есть одна одна проблема: автоматический парсинг. Сначала их пытается парсить 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 ) Поделиться сообщением Ссылка на сообщение
kgb 35 03/19/16 18:13 Млин, как всегда тороплюсь и забыл $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>"; } Поделиться сообщением Ссылка на сообщение
siv1987 2628 03/20/16 22:14 Для четверки, кстати, уже нацарапал плагин с одновременным редиректом внешних ссылок, там никаких кодовых слов в базе не сохраняетсяТам тоже с такими костылями? Поделиться сообщением Ссылка на сообщение
Fantik 2 05/04/18 17:59 как в 4.2.8 можно такое реализовать? 1 Поделиться сообщением Ссылка на сообщение
Abram 4 06/01/18 15:46 Меня решение проблемы тоже интересует. Поделиться сообщением Ссылка на сообщение
newbie 1723 06/02/18 06:57 как в 4.2.8 можно такое реализовать?Меня решение проблемы тоже интересует. ВотДля четверки, кстати, уже нацарапал плагин с одновременным редиректом внешних ссылок, там никаких кодовых слов в базе не сохраняется Поделиться сообщением Ссылка на сообщение