- jekyll (SV!) [Off]
-
Từng có những ngày tháng tuyệt vời đến thế…
Hàm archive
Hàm này
sử dụng cho TWIG, trả về nội dung của đính kèm tệp trong bài blog.
Cú pháp: luôn được bắt đầu với
smm_twig_
smm_twig_archive(per, article_uri, status)
smm_twig_archive_total(article_uri)
smm_twig_archive_save(article_uri)
smm_twig_archive_get(fileid, article_uri)
smm_twig_archive_delete(article_uri)
Trong đó:
per: số tập tin hiển thị trên một trang
article_uri: phân đoạn uri cuối cùng của url bài viết
fileid: id tập tin
status: (string) trạng thái nhập dữ liệu
+) send: Hàm smm_twig_TYPE chấp nhận dữ liệu được gửi đến
+) dont_send: Hàm smm_twig_TYPE không chấp nhận dữ liệu được gửi đến
Dữ liệu đầu vào
Phương thức: POST
name input: name, size, price
Trả về
+ smm_twig_archive: (array) trả về danh sách tập tin có trong bài viết
+ smm_twig_archive_get: (array) trả về thông tin tập tin fileid có trong bài viết article_uri
Trong đó, array:
userid: (int) id người dùng tải tệp lên
nick: (string) tên người dùng tải tệp lên
fileid: (int) id tập tin
UnixTime: (int) thời gian Unix tại thời điểm tải lên tập tin
filesize: (int) kích thước tệp
filename: (string) tên tập tin
fileprice: (int) giá tệp
total: (int) tổng số tập tin có trong bài viết
pagination: phân trang, chỉ trả về trong hàm smm_twig_archive
smm_twig_archive_total: (int) trả về số tập tin có trong bài viết
smm_twig_archive_save: lưu thông tin của tập tin mới
smm_twig_archive_delete: xóa toàn bộ tập tin có trong bài viết
Ví dụ: Tạo một macro đơn giản thể hiện danh sách tệp đính kèm
{% macro attached_files(box) %}
{% set archive_box = 'archive_'~box %}
{% if smm_twig_archive_total(archive_box)|default(0) >= '1' %}
<div style="font-family:Lora;font-size:14px">
<div class="attachedFiles"><div class="attachedFilesHeader"><i class="fa fa-clone" aria-hidden="true"></i> Tập tin đính kèm ({{smm_twig_archive_total(archive_box)|default(0)}})</div><ul class="attachmentList">
{% for i in smm_twig_archive(smm_twig_archive_total(archive_box)|default(0),archive_box,'dont_send') %}
{% if i.UnixTime %}
<a href="$f->home/post/files?blog={{box}}&id={{i.UnixTime}}">
<li {% if 'mobile' not in smm_user_agent()|lower %}style="width:100%;"{% else %}style="width: 50%;"{% endif %}class="attachment" >
<div class="boxModelFixer"><div class="attachmentInfo pairsJustified">
<table style
="table-layout:fixed"><tbody
><tr
><td rowspan
="3" style
="padding-right:10px"><i
class="fa fa-2x fa-{{checkExtension(['',i.filename])}}" aria
-hidden
="true"></i
></td
></tr
><tr
><td style
="word-break:break-all;"><i
class="fa fa-circle-o-notch" aria
-hidden
="true"></i
> <b
>{{i
.filemame
}}</b
></td
></tr
><tr
><td
><small
><i
class="fa fa-info-circle" aria
-hidden
="true"></i
> {{' '~smm_size
(['',i
.filesize])~
' '}}/ Giá
: {% if i
.fileprice
== '1' %} Miễn phí
{% else %}{{' '~i
.fileprice
}} xu
{% endif %}</small
></td
></tr
></tbody
></table
>
</div></div>
</li></a>
{% endif %}
{% endfor %}
</ul></div>
</div>
{% endif %}
{% endmacro %}
Sử dụng:
{% set uri_blog = smm_get_uri_segment()|last %}
{{_self.attached_files(uri_blog)}}
Kết quả:
Đã chỉnh sửa