Аватара в последнем сообщении на главной форума

0
Пользователи
0
Активный участник
GOD_KILLER
21:48, 30.08.2011
Я выложил тут модификацию как это можно сделать в DLE форуме может кто подскажет как это переделать под LogicBoard?


Открываем файл \engine\forum\main.php
Ищем
php code:
  1. case "forum":

Ниже вставляем
php code:
  1. $usersArray = array();
  2.         $res = $db->query("SELECT * FROM " . PREFIX . "_users");
  3.         while($row = $db->get_row($res)) { $usersArray[$row['name']] = $row; }

Дальше ищем
php code:
  1. global $forum_config, $f_lang;

приводим к вот такому виду
php code:
  1. global $forum_config, $f_lang, $usersArray;

Дальше ищем
php code:
  1. $this->tpl->set('{post}',   $stats_count[1]);

Ниже вставляем
php code:
  1. if($usersArray[$forum['f_last_poster_name']]['foto'] and @is_readable($config['http_home_url'] . 'uploads/fotos/' . $usersArray[$forum['f_last_poster_name']]['foto'])) {
  2. $this->tpl->set('{last_avatar}', '<img style="float:left; margin-right: 4px;" width="50" height="50" src="' . $config['http_home_url'] . 'uploads/fotos/' . $usersArray[$forum['f_last_poster_name']]['foto']. '">');
  3. } else $this->tpl->set('{last_avatar}', '<img style="float:left; margin-right: 4px;" width="50" height="50" src="{THEME}/images/noavatar.png">');

Открыть forums.tpl
Перед
php code:
  1. {last}

Добавьте
php code:
  1. {last_avatar}


Может кто подскажет как это реализовать на LogicBoard?
Администратор
+ 133
Автор LogicBoard
ShapeShifter
22:33, 30.08.2011
GOD_KILLER, чуть по позже может напишу, но пока глянул код и.... просто п*пец код, больше нечего сказать)
php code:
  1. $usersArray = array();
  2. $res = $db->query("SELECT * FROM " . PREFIX . "_users");
  3. while($row = $db->get_row($res)) { $usersArray[$row['name']] = $row; }

У некоторых база под десятки, а то и сотни тысяч - получается нехилы массив данных, чтобы вывести аватарку...

P.S. чья это инструкция, если не секрет?
Пользователи
0
Новичок
ShapeShifter,
сделай код в полях php code: читабельным, это пиз**ц как напрягает вглядываться в мелкий шрифт, не все тут глазастые, особенно после рабочего дня проведенного за монитором.
Администратор
+ 133
Автор LogicBoard
doc. Z., в темку пожеланий Вам. В будущем планирую весь стиль перенести в CSS, чтобы каждый мог под себя настраивать вывод, хотя лично мне норм, учитывая, что у меня разрешение экрана большое.
Пользователи
0
Активный участник
ShapeShifter, Вот тема в ней этот код http://dle-files.ru/forum/topic_3325
Пользователи
0
Активный участник
ShapeShifter
19:18, 01.09.2011
ShapeShifter, Проста даже в этом http://white-master.ru/ ****** форуме токая функция присутствует помогите пожалйёста переделайте под LogicBoard очень удобная и нужная функция!
Вот пример http://white-master.ru/forum/categories-8
А вот как у меня на DLE форуме было http://crysisportal.ru/forum
Пользователи
0
Активный участник
Ну что кто поможет с этой модификацией?
Администратор
+ 133
Автор LogicBoard
ShapeShifter
18:39, 01.09.2011
Загрузите этот файл в папку components\modules и добавьте тег {foto} в щаблон вывода последних тем.
У Вас недостаточно прав для скачивания файлов.
Пользователи
0
Активный участник
ShapeShifter
19:18, 01.09.2011

ShapeShifter (01.09.2011, 18:39) писал:Загрузите этот файл в папку components\modules и добавьте тег {foto} в щаблон вывода последних тем.


Спасибо за модификацию
Пользователи
0
Активный участник
Добавил тэг в main.tpl и вот что получилось не выводит аватар

как сделать чтоб выводил?
Администратор
+ 133
Автор LogicBoard
GOD_KILLER, я думал вам нужно на форуме вывести, чуть позже для сайта напишу.
Пользователи
0
Активный участник
да на форуме вывести нужно вот тут
Администратор
+ 133
Автор LogicBoard
GOD_KILLER, да уж, в следующий раз точнее пишите
Пользователи
0
Активный участник

ShapeShifter (01.09.2011, 19:58) писал:GOD_KILLER, да уж, в следующий раз точнее пишите

Ок извени

Этот модуль выводить аватар последнего человека который оставил сообщение в данном форуме
Администратор
+ 133
Автор LogicBoard
ShapeShifter
17:29, 03.09.2011
Простой вариант вывода, првоеряем есть ли файл в папке с разными расширениями, если есть - вывести аватар, если нет - по умолчанию аватара.
Этот вариант с моей точки зрения проще и лучше, т.к. все форумы выводятся из кеша, а делать отдельный запросы в БД ради аватара мягко говоря - глупо.

Инструкция:
1) Откройте index.php на сайте и добавьте в любое место код:
php code:
  1. echo dirname ( __FILE__ );

2) Обновите страницу сайта и наверху должен появится путь к папке Вашего сервера, скопируйте его и удалите строчку из index.php
3) Откройте components\modules\board\main.php (форум) и найдите (2 раза):
php code:
  1. $tpl->tags_blocks("member_post", false);

Добавьте ниже (2 раза:)
php code:
  1. $tpl->tags('{last_post_member_foto}', $redirect_url."uploads/users/no_avatar.png");

Найдите:
php code:
  1. $tpl->tags('{last_post_member_link}', profile_link($cache_forums[$last_id]['last_post_member']));

Добавьте после:
php code:
  1. $root_dle_dir = "";
  2. $foto_dle_dir = "/uploads/fotos/foto_".$cache_forums[$last_id]['last_post_member_id'];
  3. $foto_dle_dir_2 = $cache_config['general_site_dle']['conf_value']."uploads/fotos/foto_".$cache_forums[$last_id]['last_post_member_id'];
  4. if (@file_exists($root_dle_dir.$foto_dle_dir.".jpg")) $tpl->tags('{last_post_member_foto}', $foto_dle_dir_2.".jpg");
  5. elseif (@file_exists($root_dle_dir.$foto_dle_dir.".jpeg")) $tpl->tags('{last_post_member_foto}', $foto_dle_dir_2.".jpeg");
  6. elseif (@file_exists($root_dle_dir.$foto_dle_dir.".gif")) $tpl->tags('{last_post_member_foto}', $foto_dle_dir_2.".gif");
  7. elseif (@file_exists($root_dle_dir.$foto_dle_dir.".png")) $tpl->tags('{last_post_member_foto}', $foto_dle_dir_2.".png");
  8. else $tpl->tags('{last_post_member_foto}', $redirect_url."uploads/users/no_avatar.png");

Добавьте скопированный путь в переменную (между двойными кавычками):
php code:
  1. $root_dle_dir = "";

4) Откройте components\modules\board\forum.php (форум) и сделайте всё тоже самое, что и в пункте 3.
5) Откройте файлы шаблона board/main.tpl и board/forum.tpl и добавьте тег вывода ссылки на аватар:
HTML code:
  1. {last_post_member_foto}

Тег нужно добавлять между тегами forum
 
Доступ закрыт.
  • Вам запрещено отвечать в темах данного форума.