PDA

Просмотр полной версии : [Модуль] Репутация



Osetin
30.03.2013, 22:44
Всем здравствуйте! Вот хочу выложить урок как сделать репутацию на форум

Шаг 1.

Идем "Админ.Раздел->СИСТЕМА->Управление модулями->Администраторский раздел
Заходим в категорию "Модули".
Возле кнопки "Создать новый модуль" пишем "Репутация", нажимаем "Создать новый модуль"
Проверяем тип модуля "Категория".
"Модуль доступен:" ставим "Да"
Заходим в созданную категорию "Репутация",
возле кнопки "Добавить модуль" выбираем модуль "Репутация" (acp_rep_settings) и нажимаем "добавить модуль". Включаем этот модуль.
возле кнопки "Добавить модуль" выбираем модуль "Reputation ranks management" (acp_rep_ranks) и нажимаем "добавить модуль". Включаем этот модуль.
Очищаем кэш во вкладке "ОБЩИЕ". Во вкладке "МОДУЛИ" должны появится настройки репутации.

Шаг 2.

Изменения в шаблонах
Изменения для стилей-клонов SUBSILVER2

открываем шаблон
memberlist_view.html

Находим:

<!-- IF S_SHOW_ACTIVITY -->

Перед этим вставляем:

<!-- IF S_REPUTATION -->
<tr>
<td class="gen" align="{S_CONTENT_FLOW_END}" valign="top" nowrap="nowrap">{L_RP_TOTAL_POINTS}: </td>
<td><b class="gen">{REPUTATION}</b></td>
</tr>
<tr>
<td class="gen" align="{S_CONTENT_FLOW_END}" valign="top" nowrap="nowrap">{L_RP_POWER}: </td>
<td><b class="gen">{REP_POWER}</b></td>
</tr>
<!-- ENDIF -->

открываем шаблон
ucp_main_front.html

Находим:


<tr>
<th colspan="3">{L_YOUR_DETAILS}</th>
</tr>

ПЕРЕД этим вставляем:


<!-- IF .reputation -->
<tr>
<th colspan="3">{L_RP_RECENT_POINTS}</th>
</tr>
<tr>
<td class="row1" colspan="3">
<table width="100%" cellspacing="1" cellpadding="4">
<tr class="row3">
<td><b class="genmed">{L_RP_POINTS}</b></td>
<td><b class="genmed">{L_RP_COMMENTS}</b></td>
<td><b class="genmed">{L_RP_FROM}</b></td>
<td><b class="genmed">{L_POSTS}</b></td>
</tr>
<!-- BEGIN reputation -->
<!-- IF reputation.S_ROW_COUNT is even --><tr class="row1"><!-- ELSE --><tr class="row2"><!-- ENDIF -->
<td><span class="genmed">{reputation.POINT}</span></td>
<td><span class="genmed">{reputation.COMMENT}</span></td>
<td><span class="genmed">{reputation.FROM}</span></td>
<td><span class="genmed"><a href="{reputation.U_POST}">{reputation.POST_SUBJECT}</span></a></td>
<!-- END reputation -->
</tr>
</table>
</td>
</tr>
<!-- ENDIF -->

Находим:

<tr>
<td align="{S_CONTENT_FLOW_END}" valign="top" nowrap="nowrap"><b class="genmed">{L_TOTAL_POSTS}: </b></td>
<td><!-- IF POSTS_PCT --><b class="gen">{POSTS}</b><br /><span class="genmed">[{POSTS_PCT} / {POSTS_DAY}]<br /><a href="{U_SEARCH_SELF}">{L_SEARCH_YOUR_POSTS}</a></span><!-- ELSE --><b class="gen">{POSTS}<b><!-- ENDIF --></td>
</tr>

ПОСЛЕ этого добавляем:


<!-- IF REPUTATION_POINTS -->
<tr>
<td align="{S_CONTENT_FLOW_END}" valign="top" nowrap="nowrap"><b class="genmed">{L_RP_TOTAL_POINTS}: </b></td>
<td><b class="gen">{REPUTATION_POINTS}</b></td>
</tr>
<!-- ENDIF -->

открываем шаблон
ucp_prefs_personal.html

Находим:


<!-- IF S_SELECT_NOTIFY -->

ПЕРЕД этим добавляем:


<!-- IF S_CAN_HIDE_REPUTATION -->
<tr>
<td class="row1" width="50%"><b class="genmed">{L_RP_HIDE}:</b></td>
<td class="row2"><input type="radio" class="radio" name="hidereputation" value="1"<!-- IF S_HIDE_REPUTATION --> checked="checked"<!-- ENDIF --> /><span class="genmed">{L_YES}</span>&nbsp;&nbsp;<input type="radio" class="radio" name="hidereputation" value="0"<!-- IF not S_HIDE_REPUTATION --> checked="checked"<!-- ENDIF --> /><span class="genmed">{L_NO}</span></td>
</tr>
<!-- ENDIF -->

открываем шаблон
viewtopic_body.html

Находим:


<!-- BEGIN custom_fields -->
<br /><b>{postrow.custom_fields.PROFILE_FIELD_NAME}:</b> {postrow.custom_fields.PROFILE_FIELD_VALUE}
<!-- END custom_fields -->

ПОСЛЕ этого вставляем:


<!-- IF postrow.POSTER_REPUTATION or postrow.REPUTATION_TEXT --><!-- IF postrow.S_REP_TEXT or postrow.S_REP_BOTH --><br /><strong>{L_RP_TOTAL_POINTS}:</strong> <!-- IF postrow.S_REP_TEXT --><a href="{postrow.U_VIEW_REP}">{postrow.REP_TEXT}</a><!-- ELSE -->{postrow.REP_TEXT}<!-- ENDIF --><!-- ENDIF --><!-- IF postrow.S_REP_BLOCK or postrow.S_REP_BOTH --><br /><a href="{postrow.U_VIEW_REP}">{postrow.POSTER_REPUTATION}</a><!-- ENDIF --><!-- IF S_REPUTATION --><br /><a href="{postrow.U_REPUTATION}"><img src="{T_IMAGES_PATH}reputation/add.png" title="{L_RP_ADD_POINTS}" alt="{L_RP_ADD_POINTS}" /></a><a href="{postrow.U_REP_NEG}"><img src="{T_IMAGES_PATH}reputation/subtract.png" title="{L_RP_SUBTRACT_POINTS}" alt="{L_RP_SUBTRACT_POINTS}" /></a><!-- ENDIF --><!-- ENDIF -->


Все, на этом изменения шаблонов закончены. Как всегда, не выходя из админ.раздела в другом окне браузера проверяем работоспособность форума (если что-то не работает можно восстановить данные стиля из резервной копии, которую вы сделали ранее).


НАСТРОЙКИ:

Настройки репутации осуществляются в МОДУЛИ->Репутация->Репутация.

Права доступа к функциям репутации настраиваются в "ПРАВА ДОСТУПА"->Права групп->(выбираете группу)Расширенные права->Очки репутации. Как минимум, можно поставить для группы "Зарегистрированные пользователи" Разрешение - "Может давать очки репутации (ДА)".
Также имеет смысл для группы "Администраторы" перейти в "Выберите тип"->"Глобальные права модератора" и во вкладке "разное" разрешить для группы "Администраторы" "Может модерировать очки репутации(ДА)"

Обратите внимание, что пользователи кроме самой репутации, могут иметь различную "СИЛУ репутации". СИЛА репутации может расти от количества сообщений, кол-ва дней на форуме, кол-ва очков репутации (это настраивается в настройках репутации).
Так-же различные группы могут иметь различную СИЛУ репутации. В настройках каждой группы теперь появилась настройка "Сила Репутации группы:". Например группе "Администраторы" можно дать силу репутации гораздо больше, чем всем остальным. Групповая сила действует для группы "по-умолчанию".