Новости Joomla

0 Пользователей и 1 Гость просматривают эту тему.
  • 10 Ответов
  • 4027 Просмотров
*

talion2003

  • Захожу иногда
  • 95
  • 36 / 6
  • Не программер я...
Вот изменения, которые заменяют вывод имени автора, на его логин.

Изменяем вывод имени на логин:

Сначала ищем эту строчку:

Код
$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. - фига се, а я оказывается программер:)))

[вложение удалено Администратором]
« Последнее редактирование: 14.12.2006, 17:54:58 от talion2003 »
Да говорю же Вам, не программер я!!!

 www.chelovekdnevnik.ru www.serdcadetey.ru
*

talion2003

  • Захожу иногда
  • 95
  • 36 / 6
  • Не программер я...
Прошу прощения, те кто уже скачал мамбот, сделайте это заново. Я внес маленькие изменения, иначе при вооде в строку "псевдоним автора" ссылки вида http://novosti.ru у вас не обрежется префикс http:// во время вывода в фронтэнде.
Да говорю же Вам, не программер я!!!

 www.chelovekdnevnik.ru www.serdcadetey.ru
*

talion2003

  • Захожу иногда
  • 95
  • 36 / 6
  • Не программер я...
Единственное, что не могу пока придумать: как сделать так, чтобы, когда выводится URL, то вначале стояла приписка  "источник", а когда текст выводится не в виде ссылки, то вначале стояла приписка "автор".
Да говорю же Вам, не программер я!!!

 www.chelovekdnevnik.ru www.serdcadetey.ru
*

pedrosoft

  • Захожу иногда
  • 367
  • 113 / 7
Хорошо бы было придумать что бы при параметре #categorylink# выводи на таблицу содержения категории, а не чёрти куда! :)
Интернет Хостинг Центр: отличные цены, лучшее качество, расположение в дата-центре «Оверсан-Меркурий»
*

talion2003

  • Захожу иногда
  • 95
  • 36 / 6
  • Не программер я...
Здесь все очень просто: тебе в настройке категории нужно поставить "отображать категорию в виде ссылки". Тогда все на место встанет.
Да говорю же Вам, не программер я!!!

 www.chelovekdnevnik.ru www.serdcadetey.ru
*

talion2003

  • Захожу иногда
  • 95
  • 36 / 6
  • Не программер я...
А вот и последняя версия мамбота. Что в ней нового?

1. Если вы вибираете автора материала из выпадающего списка (те, что зарегены), то перед логином-ссылкой появляется надбись "добавил".
Пример:http://www.serdcadetey.ru/content/blogcategory/7/39/

2. Если вы вводите имя автора в строку "Псевдоним автора", то оно так и будет отображаться не становясь ссылкой, но перед именем появится надпись "автор"
Пример: http://www.serdcadetey.ru/content/view/112/105/

3. Если вы вводите ссылку вида www.sait.ru или http://sait.ru, то она автоматически превращается в URL а перед ссылкой появляется надпись "источник"
Пример: http://www.serdcadetey.ru/component/option,com_frontpage/Itemid,10/

Прошу заметить, такой хак больше полезен для новостных сайтов и я его делал под себя. Поэтому прошу не сильно критиковать. Если у кого-то возникнет желание его модифицировать еще дальше, то будет только здорово!

[вложение удалено Администратором]
« Последнее редактирование: 15.12.2006, 02:06:47 от talion2003 »
Да говорю же Вам, не программер я!!!

 www.chelovekdnevnik.ru www.serdcadetey.ru
*

pedrosoft

  • Захожу иногда
  • 367
  • 113 / 7
По поводу пункта 3 не совсем понятно! Вводить её где?
Интернет Хостинг Центр: отличные цены, лучшее качество, расположение в дата-центре «Оверсан-Меркурий»
*

talion2003

  • Захожу иногда
  • 95
  • 36 / 6
  • Не программер я...
В поле "Псевдоним автора"
Да говорю же Вам, не программер я!!!

 www.chelovekdnevnik.ru www.serdcadetey.ru
*

pedrosoft

  • Захожу иногда
  • 367
  • 113 / 7
ГЫ) Я думал в самом материале вводить типа http://sait.ru или www.sait.ru и они бы заменял его на ссылку...а так катит только тогда когда источник один и тот же :)
Интернет Хостинг Центр: отличные цены, лучшее качество, расположение в дата-центре «Оверсан-Меркурий»
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
Всё есть в тебе. Реализовывайся.
*

vdr

  • Захожу иногда
  • 196
  • 17 / 0
  • Всё есть в тебе. Реализовывайся.
А есть такой плагин для Joomla 1.5 ?
Сам искал, не нашел.
Всё есть в тебе. Реализовывайся.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Не работают настройки стилей ссылки в mAvik Thumbnails

Автор orsy

Ответов: 0
Просмотров: 1238
Последний ответ 10.04.2017, 16:08:28
от orsy
Можно ли использовать плагин Sourcerer вместо плагина MultiAds?

Автор Briz1

Ответов: 6
Просмотров: 1636
Последний ответ 12.12.2016, 18:50:31
от effrit
модуль меню jv_menus, как удалить циклические ссылки

Автор Анатолий115

Ответов: 0
Просмотров: 969
Последний ответ 06.10.2016, 14:44:53
от Анатолий115
Галерея sigplus, как сделать проход по ссылке при клике, вместо всплывающего окна?

Автор FliXis

Ответов: 0
Просмотров: 1228
Последний ответ 31.07.2015, 22:58:21
от FliXis
Login форма с полями почты и имени

Автор Dusk09

Ответов: 2
Просмотров: 1014
Последний ответ 23.07.2015, 11:13:28
от Dusk09