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

 
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 317
Где формируется ссылка тегов "Хобби" в профиле пользователя?
Хочу выставить rel="nofollow"
Никак не нашёл :(



При прописывании многих тегов в поле "Хобби",получаем открытые ссылки,через которые,как я понимаю,страница профиля теряет в весе.
У меня проект основан на профилях пользователей,вот надо как то закрыть эти ссылки.
Редактировалось: 1 раз (Последний: 15 мая 2014 в 22:46)



Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1694
В com_users_edit_profile.tpl должны быть.
P.S. И там вроде не ссылки, а массив.
Редактировалось: 1 раз (Последний: 15 мая 2014 в 21:34)
Реклама
cms
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 317
Lora:

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

Да там,нету ссылки.Вроде везде смотрел,не находится :)



Посетитель
small user social cms
МедальАвторитет форума
Сообщений: 1694
Сам массив формируется в components/users/frontend.php. if ($do=='editprofile')
Код PHP:
  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. }
Редактировалось: 1 раз (Последний: 16 мая 2014 в 01:35)
Посетитель
small user social cms
МедальПочетный донор проекта
Сообщений: 317
Lora:

Сам массив формируется в components/users/frontend.php. if ($do=='editprofile')
Код PHP:
  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. }

Тут формируются все формы privforms ( тут не подцепить rel="nofollow",)а мне нужно только для поля "Хобби" :)



Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 691
Не знаю как там работает поисковик, но если устроит решение на javascript, то могу показать.... Это так чтобы без вмешательства в файлы системы, если все равно, то нужно обрабатывать переменную во frontend.php непосредственно перед выводом в шаблон. По другому не достаните.
Какой вариант писать?
Редактировалось: 2 раз (Последний: 16 мая 2014 в 10:08)
Skype: pasha--g
Посетитель
small user social cms
Сообщений: 37
Пляшите от файла \components\users\model.php
Строка:
Код PHP:
  1. $user['fdescription'] = cmsPage::getMetaSearchLink('/users/hobby/', $user['description']);
Редактировалось: 2 раз (Последний: 16 мая 2014 в 10:58)
Посетитель
small user social cms
Сообщений: 37
А точнее, вот: \core\classes\page.class.php
строка начала функции:
Код PHP:
  1. public static function getMetaSearchLink($link, $text){
Редактировалось: 2 раз (Последний: 16 мая 2014 в 10:58)
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 555
Pasha:
Не знаю как там работает поисковик, но если устроит решение на javascript, то могу показать....
Не вариант, это как раз для поисковика нужно. Javascript тут не спасет, надо править саму верстку
оптимизирую помаленьку
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 691
SJen:
Не вариант, это как раз для поисковика нужно. Javascript тут не спасет, надо править саму верстку
Тогда как-то так перед передачей в шаблон
Код PHP:
  1. if($usr['fdescription']) $usr['fdescription'] = str_replace('<a', '<a rel="nofollow" ', $usr['fdescription']);
Других вариантов затронуть только одно поле я не вижу, вернее есть конечно, но этот самый простой
Skype: pasha--g
Посетитель
small user social cms
Сообщений: 37
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);

}
Посетитель
small user social cms
Сообщений: 37
вот эту строку
$worlds[] = '<a href="'.$link.urlencode($v).'">'.$v.'</a>';
меняем на
$worlds[] = '<a rel="nofollow" href="'.$link.urlencode($v).'">'.$v.'</a>';
Посетитель
small user social cms
МедальКубок зрительских симпатий
Сообщений: 691
Pasha, Зачем? я же написал где это находится, вот весь код функции!
Затем, что
мне нужно только для поля "Хобби"
Skype: pasha--g
Посетитель
small user social cms
Сообщений: 37
Pasha, не понятно, задает вопрос один человек, а требования выдвигает другой scratch
Посетитель
small user social cms
Медаль
Сообщений: 847
omalisev,
alexbabo:
а мне нужно только для поля "Хобби" :)
В начало страницы
Предыдущая темаСледующая тема Перейти на форум: