Лайк за сообщениемодификация позволяет пользователю оставлять лайк за любое сообщение в теме.
разумеется, зарегистрированному пользователю.
каждый пользователь сможет оставить не более одного лайка.
возможности удалять лайки нет ни у кого.
при наведении на количество лайков всплывает окно с никами проголосовавших.саму модификацию присмотрел здесь:
оригинальная темадля сабсилвера кода не было - написал как получилось.
в стандартном варианте будет выглядеть так:
Вложение:
like_prosilver.png [ 21.72 КБ | Просмотров: 13 ]
like_prosilver.png
Вложение:
subsilver_like.png [ 22.71 КБ | Просмотров: 13 ]
subsilver_like.png
Если заинтересовало - ставим. (это довольно просто).
Скачать папку
post_like_phpbb3_new из архива сайта
скачать из архива сайтараспаковать и содержимое папки загрузить в корень сайта (где файл config.php).
Теперь редактируем файлы форума:
необходимо провести SQL-запрос:
Код: Выделить всё
create table phpbb_likes (
likes_key varchar(100), primary key(likes_key),
likes_count int,
likes_who text
);Далее:
открыть
viewtopic.phpнайти
Код: Выделить всё
'QUOTE_IMG' => $user->img('icon_post_quote', 'REPLY_WITH_QUOTE'),вставить после найденного
Код: Выделить всё
'LIKE_IMG' => $user->img('icon_post_like', 'LIKE'),найти
вставить перед найденным
Код: Выделить всё
$likes_key = $forum_id.'_'.$topic_id.'_'.$row['post_id'];
$likes_sql = "SELECT * FROM phpbb_likes where likes_key='$likes_key'";
$likes_result = $db->sql_query($likes_sql);
$likes_row = $db->sql_fetchrow($likes_result);
$likes_count = $likes_row['likes_count'];
$likes_who = $likes_row['likes_who'];
if (!$likes_count) $likes_text = '';
if ($likes_count == 1) $likes_text = "<a href='#' title='$likes_who'>1 Like</a>";
if ($likes_count > 1) $likes_text = "<a href='#' title='$likes_who'>$likes_count Likes</a>";
$likes_back = str_replace('&','~',$_SERVER['QUERY_STRING']);
$likes_link = "f=$forum_id&t=$topic_id&p={$row['post_id']}&back=$likes_back";найти
Код: Выделить всё
'U_QUOTE' => ($auth->acl_get('f_reply', $forum_id)) ? append_sid("{$phpbb_root_path}posting.$phpEx", "mode=quote&f=$forum_id&p={$row['post_id']}") : '',вставить после найденного
Код: Выделить всё
'U_LIKE' => ($auth->acl_get('f_reply', $forum_id)) ? append_sid("{$phpbb_root_path}like.$phpEx", $likes_link) : '',
'U_LIKE_TEXT' => $likes_text,открыть
language/en/common.phpнайти
вставить после найденного
открыть
language/ru/common.phpнайти
вставить после найденного

для стилей на основе prosilver
открыть
styles/prosilver/template/viewtopic_body.htmlнайти
добавить после найденного
Код: Выделить всё
<!-- IF postrow.U_LIKE --><li>{postrow.U_LIKE_TEXT}</li><li class="like-icon"><a href="{postrow.U_LIKE}" title="{L_LIKE}"><span>{L_LIKE}</span></a></li><!-- ENDIF -->открыть
styles/prosilver/theme/buttons.cssнайти
Код: Выделить всё
ul.profile-icons li.quote-icon { width: {IMG_ICON_POST_QUOTE_WIDTH}px; height: {IMG_ICON_POST_QUOTE_HEIGHT}px; }вставить после найденного
Код: Выделить всё
ul.profile-icons li.like-icon { width: 57px; height: 20px; }найти
Код: Выделить всё
ul.profile-icons li.quote-icon { margin: 0 0 0 10px; }вставить после найденного
Код: Выделить всё
ul.profile-icons li.like-icon { margin: 0 0 0 10px; }открыть
styles/prosilver/theme/colours.cssнайти
Код: Выделить всё
quote-icon, .quote-icon a { background-image: url("{IMG_ICON_POST_QUOTE_SRC}"); }вставить после найденного
Код: Выделить всё
.like-icon, .like-icon a { background-image: url("{T_IMAGESET_PATH}/bk/icon_post_like.gif"); }

для стилей на основе subsilver2
открыть
styles/subsilver2/template/viewtopic_body.htmlнайти
Код: Выделить всё
<div class="gensmall" style="float: {S_CONTENT_FLOW_END};"><!-- IF not S_IS_BOT --><!-- IF postrow.U_EDIT --><a href="{postrow.U_EDIT}">{EDIT_IMG}</a> <!-- ENDIF --> <!-- IF postrow.U_QUOTE --><a href="{postrow.U_QUOTE}">{QUOTE_IMG}</a> <!-- ENDIF --> <!-- ENDIF --> </div>заменить найденное на
Код: Выделить всё
<div class="gensmall" style="float: {S_CONTENT_FLOW_END};"><!-- IF not S_IS_BOT -->
<!-- IF postrow.U_LIKE -->{postrow.U_LIKE_TEXT} <a href="{postrow.U_LIKE}" title="{L_LIKE}"><img src="{T_IMAGESET_PATH}/bk/icon_post_like.gif" alt="{L_LIKE}" /></a> <!-- ENDIF -->
<!-- IF postrow.U_EDIT --><a href="{postrow.U_EDIT}">{EDIT_IMG}</a> <!-- ENDIF --> <!-- IF postrow.U_QUOTE --><a href="{postrow.U_QUOTE}">{QUOTE_IMG}</a> <!-- ENDIF --> <!-- ENDIF --> </div>(если у вас в этом коде есть что-то своё, то необходимо добавить только код like:
Код: Выделить всё
<!-- IF postrow.U_LIKE -->{postrow.U_LIKE_TEXT} <a href="{postrow.U_LIKE}" title="{L_LIKE}"><img src="{T_IMAGESET_PATH}/bk/icon_post_like.gif" alt="{L_LIKE}" /></a> <!-- ENDIF -->
Очистите кэш темы, шаблона, браузера и пользуйтесь на здоровье.
у автора оригинальной темы (как и у меня) проблемы с пропиской изображений в картинках, поэтому сделал просто отдельную папку в /imageset.
Удачного применения.