| description |
|---|
取得帶有標記 (tag) 的指標 (pointer) 資料,簡稱:TBP |
使用 TBP() 開頭,後面可以使用 -> 串接附帶函式增加條件
- 第一參數為必填,請輸入指標名稱
- 第二參數為選填,請輸入布林代數
- 如果為 "是",第一參數改為輸入資料 url 查詢
- 如果為 "否" 或是不輸入,則是原本以指標進行搜尋功能
{% tabs %}
{% tab title="範例 1" %}
假設有一指標 abc。
TBP('abc');{% endtab %}
{% tab title="範例 2" %} 假設有一指標以變數帶入。
TBP($pointer);{% endtab %}
{% tab title="範例 3" %} 假設以商品首頁 url 搜尋。
TBP('products', true);{% endtab %} {% endtabs %}
指定查詢條件,可以輸入一項參數,以下是可以使用的各參數及其意義:
| 參數 | 意義說明 | 範例 |
|---|---|---|
children | 搜尋指定指標子層資料 | |
descendants | 搜尋指定指標下層資料 | |
parent | 搜尋指定指標父層資料 | |
ancestors | 搜尋指定指標上層資料 | |
leaf | 搜尋指定指標底層資料 | |
self | 搜尋指定指標資料 | |
{% hint style="info" %}
如果沒有使用此函式,TBP() 一律以 children 條件查詢。
{% endhint %}
指定查詢的標記,可以輸入一項參數,以下是可以使用的各參數及其意義:
| 參數 | 意義說明 | 範例 |
|---|---|---|
new | 最新 | |
hot | 熱門 | |
sale | 促銷 | |
custom1 | 自訂 1 | |
custom2 | 自訂 2 | |
{% hint style="info" %} 如果沒有使用,則不限制查詢資料。 {% endhint %}
TBP($pointer)->tag('new')->tag('sale')->get();指定查詢的排序,可以輸入一項參數,以下是可以使用的各參數及其意義:
| 參數 | 意義說明 | 範例 |
|---|---|---|
nested | 依照分類排序 | |
create | 依照建立時間排序 | |
create_desc | 依照建立時間反向排序 | |
public | 依照顯示時間排序、如果沒有顯示時間 public_at 則以建立時間排序 | |
public_desc | 依照顯示時間反向排序、如果沒有顯示時間 public_at 則以建立時間反向排序 | |
enable | 依照啟用時間排序、如果沒有啟用時間 enable_at 則以建立時間排序 | |
enable_desc | 依照啟用時間反向排序、如果沒有啟用時間 enable_at 則以建立時間反向排序 | |
{% hint style="info" %}
如果沒有使用,一律以 nested 條件排序。
{% endhint %}
指定查詢的數量,如果有使用必填輸入一項整數參數。
TBP($pointer)->limit(1); // 限制查詢一筆資料
TBP($pointer)->limit(2); // 限制查詢二筆資料
TBP($pointer)->limit(30); // 限制查詢三十筆資料{% hint style="info" %} 如果沒有使用,沒有限制數量。 {% endhint %}
{% hint style="warning" %} 請注意!如果是查詢多個模組,每個模組會各自計算查詢數量。 {% endhint %}
指定查詢資料的關聯資料,可以輸入一項陣列參數,以下是可以使用的各陣列元素及其意義:
| 參數 | 意義說明 | 範例 |
|---|---|---|
| nested | 分類樹節點資料 | |
| images | 圖片資料 | |
| attach | 附件資料 | |
| seo | SEO 資料關聯 | |
| tag | 標記關聯 | |
| state | 啟用狀態關聯 | |
| stock | 庫存關聯 | |
| ship_exclude | 排除的運費規格 | |
| ship_scale_match | 運費規格關聯 | |
| description | 描述資料 | |
| redirect | 重導向 | |
| finance_clone | 關聯的投資人專區 | |
| lockedModel | 鎖定模式 | |
{% hint style="info" %}
如果沒有使用,一律以 ['images', 'description'] 作為關聯條件。
{% endhint %}
結尾函式,最後串連呼叫的函式,才能取得查詢的資料。
{% hint style="info" %}
除了結尾函式與起始函式 TBP() 以外,其他函式沒有順序分別。
{% endhint %}
可以輸入一項參數,以下是可以使用的各參數及其意義:
| 參數 | 意義說明 | 範例 |
|---|---|---|
products | 僅取出商品資料 | |
news | 僅取出最新消息資料 | |
message | 僅取出訊息管理資料 | |
aboutus | 僅取出關於我們資料 | |
download | 僅取出下載檔案資料 | |
qa | 僅取出常見問題資料 | |
null | 取出所有模組資料 ( null 不是字串,不要用單引號包裹) | |
{% hint style="info" %}
如果沒有填寫參數,預設查詢訊息管理資料:message。
{% endhint %}
{% tabs %}
{% tab title="範例 1" %}
只設定指標 $pointer,其他都預設。
TBP($pointer)->get();{% endtab %}
{% tab title="範例 2" %}
指標 abc、查詢所有最下層 (內容) 資料、以發佈日期反向排序、
帶有最新標記、僅取得最新消息資料。
TBP('abc')->find('leaf')->tag('new')->sort('public_desc')->get('news');{% endtab %}
{% tab title="範例 3" %}
指標 $pointer、查詢所有上層資料、僅取得商品資料。
TBP($pointer)->find('ancestors')->get('products');{% endtab %}
{% tab title="範例 4" %} 以某商品資料 url、查詢所有上層資料。
TBP('water', true)->find('ancestors')->get();{% endtab %}
{% tab title="範例 5" %} 跨模組查詢同指標資料。
TBP($pointer)->find('leaf')->get(null);{% endtab %} {% endtabs %}
分頁結尾函式,最後串連呼叫的函式,才能取得查詢的資料。
{% hint style="info" %}
除了結尾函式與起始函式 TBP() 以外,其他函式沒有順序分別。
{% endhint %}
- 第一項參數與函式
get()相同。 - 第二項參數為正整數,代表每頁資料筆數。
- 第三項參數為正整數,代表分頁號碼
- 如果沒有指定會自動抓取網頁
page網址參數。 - 完全沒有參數預設是第 1 頁。
- 如果沒有指定會自動抓取網頁
{% tabs %}
{% tab title="範例 1" %}
只設定指標 $pointer,其他都預設。
TBP($pointer)->paginate();{% endtab %}
{% tab title="範例 2" %}
指標 abc、查詢所有最下層 (內容) 資料、以發佈日期反向排序、
帶有最新標記、僅取得最新消息資料。
TBP('abc')->find('leaf')->tag('new')->sort('public_desc')->paginate('news');{% endtab %}
{% tab title="範例 3" %} 雷同範例 2,增加限制輸出 20 筆資料限制。
TBP('abc')->find('leaf')->tag('new')->sort('public_desc')->paginate('news', 20);{% endtab %}
{% tab title="範例 4" %} 雷同範例 3 增加輸出第 2 頁資料。
TBP('abc')->find('leaf')->tag('new')->sort('public_desc')->paginate('news', 20, 2);{% endtab %} {% endtabs %}
結尾函式,測試模式輸出,使用方式同函式 get()。
{% hint style="info" %}
除了結尾函式與起始函式 TBP() 以外,其他函式沒有順序分別。
{% endhint %}
輸出查詢資料用的 SQL 語句集合而不是資料。
TBP($pointer)->testMode();