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

Hàm blog và category


Thêm vào: 25.10.2021 / 08:02
Khi không ở trong một chuyên mục nó sẽ hiển thị tất cả bài viết theo thời gian. Còn khi nằm trong chuyên mục nó sẽ chỉ hiển thị bài viết ở chuyên mục đó

Hàm blog
Cú pháp:
  1. <blog:num>value</blog>
  2. <blog:new:num>value</blog> //danh sách bài viết mới nhất hoặc chỉnh sửa gần đây nhất
  3. <blog:hot:num>value</blog> //danh sách bài viết có nhiều lượt xem nhất
  4. <blog:rand:num>value</blog> //danh sách bài viết ngẫn nhiên

Trong đó: value bao gồm các biến:
$url: URL của bài viết
$title: tiêu đề bài viết
$thumbnail: ảnh đại diện của bài viết
$description: mô tả bài viết
$keywords: từ khóa
$view: lượt xem
$time: thời gian
$day/$month/$year: ngày/tháng/năm đăng bài
$UnixTime: thời gian Unix tại thời điểm viết bài
$thumuc->title: tiêu đề của chuyên mục chứa bài viết
$thumuc->url: URL của chuyên mục chứa bài viết
$thumuc->keywords: từ khóa của chuyên mục chứa bài viết
$thumuc->description: mô tả của chuyên mục chứa bài viết
$thumuc->thumbnail: ảnh đại diện của chuyên mục chứa bài viết


Hàm category
1. Danh sách chuyên mục
Cú pháp:
  1. <category:num>value</category>

Trong đó: value bao gồm các biến:
$url: URL của chuyên mục
$title: tiêu đề chuyên mục

2. Xóa chuyên mục
Cú pháp:
  1. [cat:delete:uri]$kq[/cat]

$kq (boolean)
- trả về true nếu uri tồn tại
- trả về false nếu uri không tồn tại

Ví dụ:
  1. <isset('<get:delete>')>
  2.    [cat:delete:<get:post>]
  3.       <if('$kq' == 'true')><script>window.location.href='/index';</script></if>
  4.       <if('$kq' == 'false')>Lỗi: url không phải chuyên mục hoặc không tồn tại</if>
  5.    [/cat]
  6. </isset>


Hàm blogcat
Hàm này là sự kết hợp giữa blogcategory, nói một cách dễ hiểu thì hàm này sẽ trả về danh sách bài viết của chuyên mục bất kỳ.
Cú pháp:
  1. <blog:num:uri>value</blog>

Trong đó:
value là các biến thỏa mãn của hàm blog
num thuộc kiểu nguyên (int).
uri là phân đoạn uri của chuyên mục

Ví dụ: Mình có chuyên mục là Sắc Màu, phân đoạn uri là sac-mau, thì mình sẽ có code mẫu như sau:
  1. <blogcat:10:sac-mau>
  2. Tên bài viết: $title
  3. </blogcat>


Khi bạn muốn tắt phân trang cho danh sách bài viết thì thêm <page:hidden> vào value.

Thêm vào: 02.01.2022 / 15:00
Sử dụng với TWIG:
Lưu ý cực mạnh: Khi sử dụng twig cho các hàm blog, các bài viết chỉ được liệt kê theo lần chỉnh sửa mới nhất. Nếu ae muốn sử dụng bài viết xem nhiều, bài viết ngẫu nhiên, bài viết theo chuyên mục, hãy sử dụng func gốc.

Hàm smm_twig_blog
Cú pháp:
  1. smm_twig_blog(per)

Trong đó:
per: (int) số bài viết hiển thị trên một trang
Trả về: (array)
url: (string) phân đoạn uri của bài viết
title: (string) tiêu đề bài viết
description: (string) mô tả bài viết
keywords: (string) từ khóa bài viết
thumbnail: (string) ảnh đại diện của bài viết
UnixTime: (int) thời gian Unix của lần sửa bài viết cuối cùng
time: (string) thời gian dạng H:i, d/m/Y của lần sửa bài viết cuối cùng
view: (int) lượt xem bài viết
cat_url: (string) phân đoạn uri của chuyên mục chứa bài viết
cat_title: (string) tiêu đề của chuyên mục chứa bài viết
cat_description: (string) mô tả của chuyên mục chứa bài viết
pagination: phân trang


Hàm smm_add_post, smm_edit_post
Các hàm này xử lý nội dung của bài đăng mới
  1. smm_add_post()
  2. smm_edit_post()

Trả về: (array)
error_title: (string) lỗi xảy ra ở tiêu đề bài viết
error_title: (string) lỗi xảy ra ở nội dung bài viết
query: xử lý bài viết

Ví dụ:
  1. {% if smm_request_method()|lower == 'post' %}
  2.    {{smm_edit_post().query}}
  3.    {% if smm_edit_post().error_title != '' %}
  4.       <div class="notice">{{smm_edit_post().error_title}}</div>
  5.    {% elseif smm_edit_post().error_content != '' %}
  6.       <div class="notice">{{smm_edit_post().error_content}}</div>
  7.    {% else %}
  8.       {{smm_edit_post().query}} {{smm_redirect('/'~smm_get_uri_segment()|join('/'))}}
  9.    {% endif %}
  10. {% endif %}


Hàm smm_twig_category_list

Cú pháp:
  1. smm_twig_category_list(per, display_page, get)

Trong đó:
per: (int) số chuyên mục hiển thị trên một trang
display_page: (string) hiển thị phân trang, đặt là page_hidden nếu muốn ẩn phân trang
get: (string) tên của trang phân trang (sử dụng với phương thức GET)
Trả về: (array)
url: (string) phân đoạn uri của chuyên mục được trả về
title: (string) tiêu đề chuyên mục
description: (string) mô tả của chuyên mục
keywords: (string) từ khóa của chuyên mục
thumbnail: (string) ảnh đại diện của chuyên mục

Ví dụ:
  1. {% for cat in smm_twig_category_list('50','page_hidden','pcat') %}
  2.     <div class="menu">
  3.         » <a href="{{cat.url}}">{{cat.title}}</a>
  4.     </div>
  5. {% endfor %}
Đã chỉnh sửa
Cùng Chuyên Mục
Công cụ: