Nút like ajax cho bài viết blog, forum, từa lưa,...
Đại Ca 13/01, 07:07 (Đã sửa 8 tháng trước) 10
Diễn Đàn Code & Lập Trình
Code này thì cũng bình thường, không có gì quá khó, share vui nha 😚
(Functions twig dùng tương tự function tiaxgame)

Đặt code này ở bài viết:
{%from '_functions' import get, login, up, del%}
{%set login = login()|trim%}
{%set key = 'test'%} {#key hoặc id bài viết#}
{%if request_method()|lower == 'post'%}
{%if get_post('act') == 'like' and login()|trim not in get('like_'~key)|replace({'-':''})|split('@')%}
{{up('like_'~key,login()|trim,'up')}}
{%elseif get_post('act') == 'unlike' and login()|trim in get('like_'~key)|replace({'-':''})|split('@')%}
{{del('like_'~key,login()|trim,'up')}}
{%endif%}
{%endif%}

{%set like_list = get('like_'~key)|replace({'-':''})|split('@')%}
{%if login()|trim not in like_list%}
<like-area>
<submit onclick="like('{{key}}')">Thích (<like id="scmt_{{key}}">{{get('like_'~key)|replace({'-':''})|split('@')|length-1}}</like>)
</submit>
</like-area>
{%else%}
<like-area>
<submit onclick="unlike('{{key}}')">Bỏ Thích (<like id="scmt_{{key}}">{{get('like_'~key)|replace({'-':''})|split('@')|length-1}}</like>)
</submit>
</like-area>
{%endif%}


Javascript này có thể coppy nguyên văn dán ở foot:
<script>
function like(key) {
var s = document.getElementById('scmt_'+key).innerHTML; //Lấy số like
document.getElementById('scmt_'+key).innerHTML = Math.floor(++s); //Cộng thêm 1 like
$.ajax({
url: "",
type: "post",
dataType: "text",
data: {
'act':'like'
}
}); // Lưu like vào custom data wap4
$('like-area').html(`<submit onclick="unlike('${key}')">Bỏ Thích (<like id="scmt_${key}">${s}</like>)</submit>`);
}

function unlike(key) {
var s = document.getElementById('scmt_'+key).innerHTML; //Lấy số like
document.getElementById('scmt_'+key).innerHTML = Math.floor(--s); //Trừ đi 1 like
$.ajax({
url: "",
type: "post",
dataType: "text",
data: {
'act':'unlike'
}
}); // Lưu like vào custom data wap4
$('like-area').html(`<submit onclick="like('${key}')">Thích (<like id="scmt_${key}">${s}</like>)</submit>`);
}
</script>


DEMO: Click vào đây

#Admin

Good luck!!!
8
Bình Luận
Loading...
Loading...
Trực Tuyến (1)