Вот изменения, которые заменяют вывод имени автора, на его логин.
Изменяем вывод имени на логин:Сначала ищем эту строчку:
$query="SELECT a.name, a.email, a.usertype, a.registerDate, a.lastvisitDate, b.name as cname,
И добавляем в ней после "a.name" "a.username", вот так:
$query="SELECT a.name, a.username, a.email, a.usertype, a.registerDate, a.lastvisitDate, b.name as cname,
Чуть ниже ищем строчку:
$MOSCONTENTSTRING[$i]=str_replace("#author#",$authorstring,$MOSCONTENTSTRING[$i]);
И заменяем на:
if ($row->created_by_alias) {
$MOSCONTENTSTRING[$i]=str_replace("#author#",$authorstring,$MOSCONTENTSTRING[$i]); }
else
{$MOSCONTENTSTRING[$i]=str_replace("#author#",$extauthorinfo[0]->username,$MOSCONTENTSTRING[$i]);
}
Деляем логин ссылкой на профиль в CB:Для этого берем уже знакомый нам кусок кода:
if ($row->created_by_alias) {
$MOSCONTENTSTRING[$i]=str_replace("#author#",$authorstring,$MOSCONTENTSTRING[$i]); }
else
{$MOSCONTENTSTRING[$i]=str_replace("#author#",$extauthorinfo[0]->username,$MOSCONTENTSTRING[$i]);
}
И заменяем на этот:
if ($row->created_by_alias) {
$MOSCONTENTSTRING[$i]=str_replace("#author#",$authorstring,$MOSCONTENTSTRING[$i]); }
else
{$MOSCONTENTSTRING[$i]=str_replace("#author#",'<a href="'.$mosConfig_live_site.'/component/option,com_comprofiler/task,userProfile/user,'.$row->created_by.'/Itemid,57">'.$extauthorinfo[0]->username.'</a>',$MOSCONTENTSTRING[$i]);
}
Обратите внимание на параметр "Itemid"! Его вам нужно заменить на свой или совсем удалить из кода.
Делаем автоматическое превращение "псевдонима автора" в сслылку URLЭта нам нужно, если мы вдруг решили в этом поле вместо имени автора, вставить источник статьи, например
www.novosti.ru. Хак позволяет автоматически сгенирировать ссылку вида novosti.ru с обрезанием префикса www или http:// в начале.
Для начала вставим это кусок кода в самый конец скрипта, прямо перед "?>" (smart, это твой парсер):
function parseurl($text) {
$urlsearch[]="/^(www\.)([^ \r\n\(\)\*\^\$!`\"'\|\[\]\{\};<>]*)/si";
$urlsearch[]="/^(ftp\.)([^ \r\n\(\)\*\^\$!`\"'\|\[\]\{\};<>]*)/si";
$urlsearch[]="/^((https?|ftp):\/\/|www\.)([^ \r\n\(\)\*\^\$!`\"'\|\[\]\{\};<>]*)/si";
$urlreplace[]="<a href=\"http://\\1\\2\">\\2</a>";
$urlreplace[]="<a href=\"ftp://\\1\\2\">\\1\\2</a>";
$urlreplace[]="<a href=\"\\1\\3\">\\3</a>";
$emailsearch[]="/^([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,}))/si";
$emailreplace[]="<a href=\"mailto:\\1\\3\">\\0</a>";
$text = preg_replace($urlsearch, $urlreplace,$text);
if (strpos($text, "@")) $text = preg_replace($emailsearch, $emailreplace, $text);
return $text;
}
Затем найдем строку (эта та, что мы вставляли в первом примере):
$MOSCONTENTSTRING[$i]=str_replace("#author#",$authorstring,$MOSCONTENTSTRING[$i]);
И заменим ее на:
$MOSCONTENTSTRING[$i]=str_replace("#author#",parseurl("$authorstring"),$MOSCONTENTSTRING[$i]);
Вот:) Теперь, если в поле "псевдоним автора" мы введем
www.novosti.ru, то в фронтэнде увидим novosti.ru в виде ссылки.
Всё, готово:) В действии можно глянуть здесь -
http://www.serdcadetey.ru/content/blogcategory/7/39/ Теперь вместо имени будет выводиться логин, да еще в виде ссылки на профайл в Комунити билдере;)
Я приаттачил хакнутый мамбот и удалил в нем параметр Itemid, чтобы вы могли вписать свой.
p.s. - фига се, а я оказывается программер:)))
[вложение удалено Администратором]