Где формируется ссылка тегов "Хобби" в профиле пользователя?

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО
#1 15 мая 2014 в 20:38
Где формируется ссылка тегов "Хобби" в профиле пользователя?
Хочу выставить rel="nofollow"
Никак не нашёл :(



При прописывании многих тегов в поле "Хобби", получаем открытые ссылки, через которые, как я понимаю, страница профиля теряет в весе.
У меня проект основан на профилях пользователей, вот надо как то закрыть эти ссылки.
#2 15 мая 2014 в 21:24
В com_users_edit_profile.tpl должны быть.
P.S. И там вроде не ссылки, а массив.
#3 15 мая 2014 в 22:32


В com_users_edit_profile.tpl должны быть.
P.S. И там вроде не ссылки, а массив.

Lora

Да там, нету ссылки.Вроде везде смотрел, не находится :)
#4 16 мая 2014 в 01:35
Сам массив формируется в components/users/frontend.php. if ($do=='editprofile')
  1. $private_forms = array();
  2. if(isset($model->config['privforms'])){
  3. if (is_array($model->config['privforms'])){
  4. foreach($model->config['privforms'] as $form_id){
  5. $private_forms = array_merge($private_forms, cmsForm::getFieldsHtml($form_id, $usr['formsdata']));
  6. }
  7. }
  8. }
#5 16 мая 2014 в 08:30


Сам массив формируется в components/users/frontend.php. if ($do=='editprofile')

  1. $private_forms = array();
  2. if(isset($model->config['privforms'])){
  3. if (is_array($model->config['privforms'])){
  4. foreach($model->config['privforms'] as $form_id){
  5. $private_forms = array_merge($private_forms, cmsForm::getFieldsHtml($form_id, $usr['formsdata']));
  6. }
  7. }
  8. }

Lora

Тут формируются все формы privforms ( тут не подцепить rel="nofollow",)а мне нужно только для поля "Хобби" :)
#6 16 мая 2014 в 09:04
Не знаю как там работает поисковик, но если устроит решение на javascript, то могу показать… Это так чтобы без вмешательства в файлы системы, если все равно, то нужно обрабатывать переменную во frontend.php непосредственно перед выводом в шаблон. По другому не достаните.
Какой вариант писать?
#7 16 мая 2014 в 10:54
Пляшите от файла \components\users\model.php
Строка:
  1. $user['fdescription'] = cmsPage::getMetaSearchLink('/users/hobby/', $user['description']);
#8 16 мая 2014 в 10:57
А точнее, вот: \core\classes\page.class.php
строка начала функции:
  1. public static function getMetaSearchLink($link, $text){
#9 16 мая 2014 в 12:51

Не знаю как там работает поисковик, но если устроит решение на javascript, то могу показать....

Pasha
Не вариант, это как раз для поисковика нужно. Javascript тут не спасет, надо править саму верстку
#10 16 мая 2014 в 13:13

Не вариант, это как раз для поисковика нужно. Javascript тут не спасет, надо править саму верстку

SJen
Тогда как-то так перед передачей в шаблон
  1. if($usr['fdescription']) $usr['fdescription'] = str_replace('<a', '<a rel="nofollow" ', $usr['fdescription']);
Других вариантов затронуть только одно поле я не вижу, вернее есть конечно, но этот самый простой
#11 16 мая 2014 в 15:49
Pasha, Зачем?
я же написал где это находится, вот весь код функции!

/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
/**
* Разбивает текст на слова и делает каждое слово ссылкой, добавляя в его начало $link
* @param string $link
* @param string $text
* @return html
*/
public static function getMetaSearchLink($link, $text){

if(!$text) { return ''; }

$text = html_entity_decode(trim(trim(strip_tags($text)), '.'));

foreach(explode(',', $text) as $value){

$v = trim(str_replace(array("\r","\n"), '', $value));
$worlds[] = '<a href="'.$link.urlencode($v).'">'.$v.'</a>';

}

return implode(', ', $worlds);

}
#12 16 мая 2014 в 15:50
вот эту строку
$worlds[] = '<a href="'.$link.urlencode($v).'">'.$v.'</a>';
меняем на
$worlds[] = '<a rel="nofollow" href="'.$link.urlencode($v).'">'.$v.'</a>';
#13 16 мая 2014 в 16:03

Pasha, Зачем? я же написал где это находится, вот весь код функции!

Затем, что

мне нужно только для поля "Хобби"

#14 16 мая 2014 в 17:55
Pasha, не понятно, задает вопрос один человек, а требования выдвигает другой scratch
#15 16 мая 2014 в 18:12
omalisev,

а мне нужно только для поля "Хобби" :)

alexbabo
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.