»

ExpressionEngine Notes

Coding, Log — Tags: , — Posted by Starck on October 17, 2013


Template

取得 channel 的文章, 並顯示 channel custom field 值

if tag

Custom Tags

編寫 Plugin file:

假設我們今天要建立的 Plugin 名稱叫作 Custom

先在 third_party 資料夾底下建立 custom 資料夾 命名為 pi.custom.php .

若發現無法使用 $this->EE->TMPL 時

$this->EE->load->library('template',null,'TMPL');

使用 Template::parse_variables_row

使用 Template::parse_variables

Module

  • upd.module_name.php
  • mcp.module_name.php

mcp 就是 module 的 controller, 假設一個被請求的 url 如下:

admin.php?D=cp&C=addons_modules&M=show_module_cp&module=beyond&method=

C=addons_modules 代表目前的 Controller 是 expression/controllers/cp/addons_modules.php
M=show_module_cp 代表使用該 controller 的 show_module_cp 這個 method
module=beyond 代表被呼叫的 module id名稱為 beyond (third_party/{module_id})
method= 執行該 module controller 的哪一個 method, 未指定預設會導向 index method

透過指定 method 這個 GET 變數,將改變 module controller 呼叫不同的 method, 另外你也可以外部讀取 template 產生不同的 view, 將這些 templates 放置在 module/views 裡, 透過以下在 module controller 的 method 中回傳:

return $this->EE->load->view('template_name', $vars, TRUE);

載入自定義 javascript

  • mod.module_name.php
  • language/english/module_name_lang.php

Language 檔案定義 $lang 語系變數:

語系中 module_name_module_name 和 module_name_module_description 會出現在 MCP 的安裝 modules 列表上

How to create or update a Channel Field?

$this->EE->api_channel_fields->update_field((array) $field_data);

returns: (string) The field_id of the updated/created field.

(c) 2017 Starck Lin | powered by WordPress