RomM1
Пользователь
Название: Кнопка "Мне нравится" аля Вк
Автор: RomM1
Описание: Кнопка "Мне нравится" аля Вк, думаю описания не нужно. Единственное - делал через mode, чтобы мод был резиновым. Сделал для постов, дальше сами можете клепать под что вам нужно. Если будут идеи, может и в фулл перейдет.
Cложность установки: Легкая
Время, необходимое для установки: ~ 5 минут
Сделать SQL запрос
Открыть ajax.php и найти
После добавить
Найти
После добавить
Открыть viewtopic.php и найти
После добавить
Найти
После добавить
Открыть viewtopic.tpl и найти
После вставить
Найти
После вставить
Открыть main.css и в конец добавить
Файл like.php положить в папку ajax
Автор: RomM1
Описание: Кнопка "Мне нравится" аля Вк, думаю описания не нужно. Единственное - делал через mode, чтобы мод был резиновым. Сделал для постов, дальше сами можете клепать под что вам нужно. Если будут идеи, может и в фулл перейдет.
Cложность установки: Легкая
Время, необходимое для установки: ~ 5 минут
Сделать SQL запрос
Код:
CREATE TABLE `bb_like` (
`post_id` mediumint(8) NOT NULL,
`user_id` mediumint(8) NOT NULL,
`likes` tinyint(1) NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8
Открыть ajax.php и найти
PHP:
'change_tor_status' => array('user'),
PHP:
'like' => array('user'),
PHP:
function index_data()
{
require(AJAX_DIR .'index_data.php');
}
PHP:
function like()
{
require(AJAX_DIR .'like.php');
}
PHP:
}
else
{
$report_img = $report = '';
}
// Report [END]
PHP:
$like = DB()->fetch_row("SELECT COUNT(likes) AS count_like FROM bb_like WHERE post_id = ". $postrow[$i]['post_id']);
if ($like['count_like'] == 0) $like = ''; else $like = $like['count_like'];
PHP:
'POSTER_JOINED' => ($bb_cfg['show_poster_joined']) ? $poster_longevity : '',
PHP:
'LIKE' => $like,
HTML:
if(data.quote) $('textarea#message').attr('value', $('textarea#message').val() + data.message +' ').focus();
if(data.message_html){
$('#view_message').show();
$('.view-message').html(data.message_html);
initPostBBCode('.view-message');
var maxH = screen.height - 490;
$('.view-message').css({ maxHeight: maxH });
}
};
</script>
<!-- ENDIF -->
HTML:
<script type="text/javascript">
ajax.like = function (post_id) {
ajax.exec({
action: 'like',
mode: 'post',
post_id: post_id
});
};
ajax.callback.like = function (data) {
$('#like_'+ data.post_id).html(data.html);
}
</script>
HTML:
<div class="post_body">
<div class="post_wrap">
<span id="pp_{postrow.POST_ID}">{postrow.MESSAGE}</span>
<span id="pe_{postrow.POST_ID}"></span>
{postrow.ATTACHMENTS}
</div><!--/post_wrap-->
<!-- IF postrow.SIGNATURE -->{postrow.SIGNATURE}<!-- ENDIF -->
<!-- IF postrow.EDITED_MESSAGE --><div class="last_edited">{postrow.EDITED_MESSAGE}</div><!-- ENDIF -->
</div><!--/post_body-->
HTML:
<div class="post_like" onclick="ajax.like({postrow.POST_ID});">Мне нравится<span class="post_like_count"> <span id="like_{postrow.POST_ID}">{postrow.LIKE}</span></span></div>
HTML:
.post_like {
background: #FFF;
color: #2F5879;
font-size: 10px;
cursor: pointer;
padding: 5px 6px;
margin-top: -26px;
right: 9px;
position: absolute;
white-space: nowrap;
-webkit-border-radius: 3px;
-khtml-border-radius: 3px;
-moz-border-radius: 3px;
border-radius: 3px;
overflow: hidden;
}
.post_like_count {
font-weight: bold;
color: #7295b2;
}