jekyll
  • jekyll (SV!)  [Off]
  • Từng có những ngày tháng tuyệt vời đến thế…
 9 thág 1, 09:21

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_
  1. smm_twig_archive(per, article_uri, status)
  2. smm_twig_archive_total(article_uri)
  3. smm_twig_archive_save(article_uri)
  4. smm_twig_archive_get(fileid, article_uri)
  5. 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
  1. {% macro attached_files(box) %}
  2. {% set archive_box = 'archive_'~box %}
  3. {% if smm_twig_archive_total(archive_box)|default(0) >= '1' %}
  4. <div style="font-family:Lora;font-size:14px">
  5. <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">
  6. {% for i in smm_twig_archive(smm_twig_archive_total(archive_box)|default(0),archive_box,'dont_send') %}
  7. {% if i.UnixTime %}
  8. <a href="$f->home/post/files?blog={{box}}&id={{i.UnixTime}}">
  9. <li {% if 'mobile' not in smm_user_agent()|lower %}style="width:100%;"{% else %}style="width: 50%;"{% endif %}class="attachment" >
  10. <div class="boxModelFixer"><div class="attachmentInfo pairsJustified">
  11. <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>
  12. </div></div>
  13. </li></a>
  14. {% endif %}
  15. {% endfor %}
  16. </ul></div>
  17. </div>
  18. {% endif %}
  19. {% endmacro %}

Sử dụng:
  1. {% set uri_blog = smm_get_uri_segment()|last %}
  2. {{_self.attached_files(uri_blog)}}

Kết quả:
Đã chỉnh sửa
Cùng Chuyên Mục
Công cụ: