StRiANON Опубликовано 6 Июня 2007 Жалоба Поделиться Опубликовано 6 Июня 2007 Хм, я не знаю, что было бы более предпочтительно для наших пользователей - облако тэгов или категории. Мне просто почему-то видится, что использование тэгов большей части пользователей будет непонятно, т.е. это будет для них более сложнее и неудобнее, чем категоризация сообщений. Разумеется, если речь идет о начинающих блоггерах, скажем так. Тем не менее, хотелось бы ориентироваться в создании дневника на его максимальную простоту и понятность любому пользователю форума, и с этой точки зрения создание категорий выглядит, на мой взгляд, предпочтительнее, чем тэги.Arhar, да, чтобы была возможность пользователю создавать свои категории записей, и потом, при создании нового сообщения, из ниспадающего меню он выбирает, к какой категории эта запись будет относиться.При просмотре записи будет показываться название категории, к которой относится данная запись, в форме ссылки, при нажатии на которую читателю дневника будут показаны только те записи, которые относятся к данной категории. И обязательно при этом должен быть добавлен новый блок информации в дневнике, в котором отображаются существующие у хозяина дневника категории записей (также в виде ссылок, по нажатию на которые будут выводиться записи, относящиеся к данной категории).При этом было бы неплохо, чтобы можно было вводить описания категорий, которые бы выводились мелким шрифтом в данном блоке под их названиями.Примерная структура дополнительного блока информации со списком существующих категорий:"Название категории" "Количество записей""описание категории" Ссылка на комментарий Поделиться на других сайтах Прочее
Lera Опубликовано 6 Июня 2007 Жалоба Поделиться Опубликовано 6 Июня 2007 (изменено) if ($r['in_topic'] != "") { $tid_array[] = $r['in_topic']; } Вот этот код может быть другим? Нет у меня такого почему-то в файле online php может он может быть другим и поэтому я не могу его найти? Из-за того, что его, в он-лайн кто что читает, просто отражается: такой-то Енот читает журнал: и дальше пусто. Как найти этот кусок, каким он может быть. У меня его точно нет, я и так и по частям искала. Фраза in_topic полностью и целиком отсутствует. Я вот про это. Найти:-------------------Код if ($r['in_topic'] != "") { $tid_array[] = $r['in_topic']; } -------------------Добавить ниже:-------------------Код if (isset($r['location'])) { list($act, $pid) = explode( ",", $r['location'] ); if (($act == 'Journal') and (intval($pid) > 0)) { $j_array[] = $pid; } } Изменено 6 Июня 2007 пользователем Lera Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 6 Июня 2007 Жалоба Поделиться Опубликовано 6 Июня 2007 (изменено) StRiANONНу можно и теги и категории сделать т.е. сделать гибрид Также есть вопрос - как сделать на форуме блок вывода последних n сообщений из дневника? Чтобы выводились не полностью сообщения, а в формате shoutbox'a, например:"17:00 сегодня "название дневника" "название автора" "название записи""первые несколько слов записи""16:45 сегодня "название дневника" "название автора" "название записи""первые несколько слов записи"и т.п.Может это подойдет? (см. ниже) Инфо-Блок с последними изменениями в Дненвниках для форума на примере IPB 2.0.xДобавляем в файле /sources/lib/boardstats_functions.php функциюfunction top_x_journal_stats(){global $DB, $ibforums, $std; $DB->simple_construct(array('select' => 't.*', 'from' => "jmembers t", 'order' => 'j_last_comment DESC, j_last_post DESC', 'limit' => array(0, 5))); $DB->simple_exec(); while ( $row = $DB->fetch_row() ) { if ($row['j_last_post'] > $row['j_last_comment']) { $data['top_posters'] .= "<tr><td width='14%'><small><a href='journal.php?user={$row['id']}'>{$row['name']}</a></small></td><td width='56%'><small>{$row['j_title']}</small></td><td width='6%'><span style='color:gray'><small>[зап]</small></span></td><td width='30%'><small>".$std->get_date($row['j_last_post'], 'LONG')."</small></td></tr>"; } else { $data['top_posters'] .= "<tr><td width='14%'><small><a href='journal.php?user={$row['id']}'>{$row['name']}</a></small></td><td width='56%'><small>{$row['j_title']}</small></td><td width='6%'><span style='color:gray'><small>[ком]</small></span></td><td width='30%'><small>".$std->get_date($row['j_last_comment'], 'LONG')."</small></td></tr>"; } } return $data;}в файле /sources/boards.php находим в функции auto_run $this->output .= $this->html->PageTop( $std->get_date( $ibforums->input['last_visit'], 'LONG' ) ); //----------------------------------------- // What are we doing? //-----------------------------------------и добавляем ниже$this->output = str_replace("<!--TOPXJSTATS-->", $this->html->top_x_j_stats($this->statfunc->top_x_journal_stats(), $t5bs), $this->output); В скинах в boards->PageTop в конце дописываем<!--TOPXJSTATS--> Добавляем в boards top_x_j_statsвходные переменные $data="",$show=""и содержимое:<table align='center' width='100%' cellspacing='1' cellpadding='0'> <tr> <th width='50%' align='center'>Последние события в Дневниках</th> </tr> <tr> <td class='row2' width='1000%' valign='top'> <table align='left' width='100%' cellspacing='0' cellpadding='0'> {$data['top_posters']} </table> </td> </tr> </table> После установки даст Вам на индексной странице форума отображение блока с последними (в даном случаем 5-ю событиями) событиями в Дневниках. В расчет берутся и записи и коменты. --жирным выделено то что изначально забыл добавить, каюсь Изменено 7 Июня 2007 пользователем xRay Ссылка на комментарий Поделиться на других сайтах Прочее
StRiANON Опубликовано 6 Июня 2007 Жалоба Поделиться Опубликовано 6 Июня 2007 Не смог подогнать под 2.1 Ссылка на комментарий Поделиться на других сайтах Прочее
Lera Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 Помогите под 2.1 сделать так, что бы "кто в он-лайне" отображали и дневники. Спасибо. Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 (изменено) Фикс к и моему и к Arhar'а Кеширование CSS открываем/journal/dosetup.php найди$css_data = "<style type='text/css'>\n\n".$css_data."</style>"; и перед этим вот это добавить $journal->skin->load_skin(); $img_dir = $ibforums->vars['journal_url'].'/journal/style_images/'.$journal->skin->skin_info['img_dir']; $css_data = str_replace( "<#IMG_DIR#>", $img_dir, $css_data );фиксит непарсинг макроса <#IMG_DIR#> в случае использования хака кеширования CSSтестируйте Да и еще если кто подскажет более прсотой способ получить skin_info['img_dir'] вместо этой "портянки"$journal->skin->clear_skin_list(); $journal->skin->add_to_list(array('prints','posts')); $journal->skin->load_template();буду только рад Изменено 7 Июня 2007 пользователем xRay Ссылка на комментарий Поделиться на других сайтах Прочее
urisoft Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 LeraПомогите под 2.1 сделать так, что бы "кто в он-лайне" отображали и дневники. Спасибо.Для стандартного форумовского "кто онлайн" инструкция есть в архиве с дистрибутивом (блин, круто звучит "дистрибутив" ) дневников. Инструкции для 2.0.х и 2.1.х входят в комплект. Смотрите внимательнее... xRayДа и еще если кто подскажет более прсотой способ получить skin_info['img_dir'] вместо этой "портянки"Помоему достаточно только выполнить $journal->skin->load_skin();Или нет ? Ссылка на комментарий Поделиться на других сайтах Прочее
wrm Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 В стандартном дистрибутиве нет "компонентов метонахождения", т.е. в профиле пользователя, например, не отображается, если юзер в дневнике. Про категории - это действительно очень полезно и удобно. На примере своего же дневника видно, было бы полезно иногда при необх. откопать фотки сделать выборку по категории фотки, а не тупо искать по всем страницам и записям. Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 (изменено) urisoftПомоему достаточно только выполнить $journal->skin->load_skin();Или нет ?да ты прав, спасибо свою инструкцию подкоректировал wrmдля 2.0.х я еще вот это добавлял (к основоной иснтрукции которая в дистрибутиве идет) /sources/online.phpнаходим $act = strtolower($act); if (isset($act)) { $line = isset($this->where[ $act ]) ? $this->where[ $act ] : $ibforums->lang['board_index']; }перед этим добавляемif (eregi($sess['location'],"Journal")) { $act = "Journal"; } находим if ($fid != "" and ($act == 'sf' or $act == 'st' or $act == 'post')) заменяем на это if ($fid != "" and ($act == 'sf' or $act == 'st' or $act == 'post' or $act=='journal')) Это для просмотра по тех кто в онлайн (по последним действиям), а для профиля я не стал делать. Изменено 7 Июня 2007 пользователем xRay Ссылка на комментарий Поделиться на других сайтах Прочее
Vic'er Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 Это для просмотра по тех кто в онлайн (по последним действиям), а для профиля я не стал делатьА это и так наличиствует в инструкции по установке и даже больше... а вот инструкция, для показа соответствующей инфы в профиле (для 2.0.х):lang_profile.phpпосле$lang = array (добавить// JOURNAL MOD 'wol_journal' => "Просмотр журнала", 'journal_main' => "Главная страница дневников", // END JOURNAL MOD profile.phpнайти if ( $member['in_topic'] ) { $topic = $DB->simple_exec_query( array( 'select' => '*', 'from' => 'topics', 'where' => 'tid='.$member['in_topic'] ) );выше // JOURNAL MOD if (isset($member['sesslocation'])) { list($_act, $_j_pid) = explode( ",", $member['sesslocation'] ); if ($_act == 'Journal') { $member['in_journal'] = intval($_j_pid); } } if (isset($member['in_journal'])) { if ($member['in_journal']>0) { $j_mem = $DB->simple_exec_query( array( 'select' => 'id, name', 'from' => 'members', 'where' => 'id='.$member['in_journal'] ) ); $where = $ibforums->lang['wol_journal'].': '."<a href='{$ibforums->vars['board_url']}/journal.php?user={$j_mem['id']}'>{$j_mem['name']}</a>"; }else{ $where = " <a href='{$ibforums->vars['board_url']}/journal.php'>{$ibforums->lang['journal_main']}</a>"; } } else // END JOURNAL MOD Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 ну так что, мне выкладывать для 2.1.х для списка онлайн инструкцию? Ссылка на комментарий Поделиться на других сайтах Прочее
replicant Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 StRiANONНу можно и теги и категории сделать т.е. сделать гибрид Также есть вопрос - как сделать на форуме блок вывода последних n сообщений из дневника? Чтобы выводились не полностью сообщения, а в формате shoutbox'a, например:Может это подойдет? (см. ниже) в файле /sources/boards.php находим в функции auto_run $this->output .= $this->html->PageTop( $std->get_date( $ibforums->input['last_visit'], 'LONG' ) ); //----------------------------------------- // What are we doing? //-----------------------------------------и добавляем ниже$this->output = str_replace("<!--TOPXJSTATS-->", $this->html->top_x_j_stats($this->statfunc->top_x_journal_stats(), $t5bs), $this->output); Загвоздка с добавлением $this->output = str_replace("<!--TOPXJSTATS-->", $this->html->top_x_j_stats($this->statfunc->top_x_journal_stats(), $t5bs), $this->output); на выходе чистый белый экран получается, видимо что-то не проходит (версия 2.0.4) стоит закомментировать эту строку и все отрисовывается как надо Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 потомучто копипастеtop_x_journal_stats -> top_x_j_stats Ссылка на комментарий Поделиться на других сайтах Прочее
replicant Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 Это для просмотра по тех кто в онлайн (по последним действиям), а для профиля я не стал делатьА это и так наличиствует в инструкции по установке и даже больше... а вот инструкция, для показа соответствующей инфы в профиле (для 2.0.х): Все отлично работает. Всем кто будет применять надо учесть, что со скрытыми пользователями не прокатит. Они как были так и будут Offline, я когда прикрутил сначала в непонятках сидел, а потом вспомнил что сижу скрытым пользователем. потомучто копипастеtop_x_journal_stats -> top_x_j_stats Пробовал и так и сяк, все равно белый лист... в boardstats_function.php именно top_x_journal_stats , а в скинах top_x_j_stats или ты предлагаешь $this->output = str_replace("<!--TOPXJSTATS-->", $this->html->top_x_j_stats($this->statfunc->top_x_journal_stats->top_x_j_stats(), $t5bs), $this->output); ??? но это что-то не то ... Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 эээжаль нет 20хнадо знаешь как, везде вообще заменить имена на top_x_j_stats в исходном варианте function top_x_j_stats()$this->output = str_replace("<!--TOPXJSTATS-->", $this->html->top_x_j_stats($this->statfunc->top_x_j_stats(), $t5bs), $this->output); или такой код$j_stats = $this->statfunc->top_x_j_stats(); $this->output = str_replace("<!--TOPXJSTATS-->", $this->html->top_x_j_stats($j_stats , $t5bs), $this->output);тогда можно будет понять, какая именно функция глючит Ссылка на комментарий Поделиться на других сайтах Прочее
replicant Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 2 Arhar, это то же самое только вид сбоку, пробовал различные варианты и этот в том числе ... что-то не так с отрисовкой ... есть несколько мыслей на эту тему ... попробую может получится ... Ссылка на комментарий Поделиться на других сайтах Прочее
Lera Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 Для стандартного форумовского "кто онлайн" инструкция есть в архиве с дистрибутивом (блин, круто звучит "дистрибутив" smile.gif ) дневников. Инструкции для 2.0.х и 2.1.х входят в комплект. Смотрите внимательнее...Спасибо, поняла, а то пыталась использовать 2.0 и не пошло. ну так что, мне выкладывать для 2.1.х для списка онлайн инструкцию?У тебя уже есть? Выложи, пожалуйста. Ребят, а для 2.1 версий есть вывод дневников на панель 5 топ? Или подождать надо? Всем спасибо, дневники преображаются прям))) Лучше форума))) Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 По поводу загвоздки с Инфо-блоком дневников для форумачтобы запахал он на 2.1.х нужно учесть что есть разница в основных классах между IPB 2.0.х и IPB 2.1.х сори, но сам я раньше вечера до кода не смогу добратся чтобы на 2.1.х переписать. Leraпогляди в архив дистрибутивный там етсь же файл online.txt для 2.0.х и для 2.1.хесли нет то вот он для 2.1.х http://webfile.ru/1432426 Это для просмотра по тех кто в онлайн (по последним действиям), а для профиля я не стал делатьА это и так наличиствует в инструкции по установке и даже больше...нет те строчки что я привел их нет в инструкциитолько что еще раз перепроверил за профиль спасибо Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 Ребят, а для 2.1 версий есть вывод дневников на панель 5 топ? Или подождать надо?A-21-22 Top XX Ссылка на комментарий Поделиться на других сайтах Прочее
Lera Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 Поставила кто он в лайн, проверила несколько раз, дневники стали отображаться, то есть я вижу, кто какой дневник читает, но если пользователь на главной странице дневников, то это отображается вот так: Просмотр журнала: (дальше пусто), вместо надписи Главная страница, как указано в моде. // JOURNAL MODWHERE_journal => "Просмотр журнала:",'journal_main' => "Главная страница",// END JOURNAL MOD Как можно поправить? И где искать ошибку? Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 Leraпогляди мой код на пердидущей страничке который я специально выложил он как раз это и фиксит Arhar и replicanttop_x_journal_stats - она у нас используется для заполнения данных в скинеtop_x_j_stats вы скин не забыли создать-то? Ссылка на комментарий Поделиться на других сайтах Прочее
replicant Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 Arhar и replicanttop_x_journal_stats - она у нас используется для заполнения данных в скинеtop_x_j_stats вы скин не забыли создать-то? Погоди погоди, создать новый скин-файл или добавить функцию в существующий skin_boards.php ? Добавить в skin_boards труда не составит, с этим сложно ошибиться. //=========================================================================== // top_x_j_stats //=========================================================================== function top_x_j_stats ($data="", $show="") { global $ibforums; $IPBHTML = ""; //--starthtml--// $IPBHTML .= <<<EOF <table align='center' width='100%' cellspacing='1' cellpadding='0'> <tr> <th width='50%' align='center'>Последние события в Дневниках</th> </tr> <tr> <td class='row2' width='1000%' valign='top'> <table align='left' width='100%' cellspacing='0' cellpadding='0'> {$data['top_posters']} </table> </td> </tr> </table> EOF; //--endhtml--// return $IPBHTML; } Но проблема у меня где-то тут ... $this->output .= $this->html->member_board_panel($bpdata); } else { $this->output .= $this->html->PageTop( $std->get_date( $ibforums->input['last_visit'], 'LONG' ) ); // это вывод самой панельки добро пожаловать ваш последний визит, искать и т.д. к ее скин-функции и пришивается кусок, который мы потом реплейсим чуть ниже <!--TOPXJSTATS--> } //----------------------------------------- // What are we doing? //----------------------------------------- $this->output = str_replace("<!--TOPXJSTATS-->", $this->html->top_x_j_stats($this->statfunc->top_x_journal_stats(), $t5bs), $this->output); // эту строку мы должны вставить, в ней получение данных от top_x_journal_stats и замена куска PageTop отрисованным top_x_j_stats, разместить его можно даже в самом низу в статистике форума, сути дела это не должно менять $this->process_all_cats(); // это вывод всех форумов, если его отключить то будет только шапка и статистика Сама метка <!--TOPXJSTATS--> может быть какой угодно ... и стоять в скин-файле где угодно ... главное чтобы это был skin_boards.php Ссылка на комментарий Поделиться на других сайтах Прочее
xRay Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 replicantпросто добавить новый новый скин top_x_j_stats в группу boards про это не позабыли? В скинах в boards->PageTop в конце дописываем <!--TOPXJSTATS--> Ссылка на комментарий Поделиться на других сайтах Прочее
replicant Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 2 xRay, кусок из skin_boards.php я привел, есс-но что в конце PageTop <!--TOPXJSTATS--> добавлено ... Даже если бы у меня не было скина, то были бы ошибки из-за обращения к несуществующему top_x_j_stats ... стоило только выполниться /sources/boards.php, но когда я комментирую добавляемую строку в boards.php то все снова становится как было ... а с ней просто белая страница ... даже без ошибок ... вот в чем странность-то ... обычно если что-то не так, то у меня ошибки падают на экран. Если бы возникли ошибки то было бы проще, а так их просто нет ... есть пустота и все. Ладно, если у кого-то заработает нормально, и то хорошо, у меня что-то никак не можется... может моды какие вредные мешаются, потом разбираться буду. Ссылка на комментарий Поделиться на других сайтах Прочее
Arhar Опубликовано 7 Июня 2007 Жалоба Поделиться Опубликовано 7 Июня 2007 есть пустота и все | | | | | | \/ Ссылка на комментарий Поделиться на других сайтах Прочее
Рекомендуемые сообщения