Physical Address
304 North Cardinal St.
Dorchester Center, MA 02124
在解決問題之道上不斷前行
在OmekaS中大多會使用API來取用資料,主要能分為兩種,PHP的內部API和REST的外部API,詳細介紹可以看以下連結:OmekaS_API參考,今天要來介紹PHP的API呼叫方式以及種類。
OmekaS中有幾個api管理器,引用方式只要使用即可,以下舉例。
use Omeka\Api\Representation\SiteRepresentation;
use Omeka\Api\Representation\SitePageRepresentation;
use Omeka\Api\Representation\SitePageBlockRepresentation;
API用法則是在對應的php物件中取用。
$view //為PhpRenderer的物件
$view->api()->search($resourceType, $query);
這是一個搜尋API,$resourceType是欲取用的物件類型,像是item、item set之類,$query則是查詢條件,下面為我使用的範例。
$resourceType = $block->dataValue('resource_type', 'items'); //從$block取用所有item類型的物件
parse_str($block->dataValue('query'), $query); //轉換文字
$site = $block->page()->site(); //限制從某個site取用
$query['site_id'] = $site->id();
$response = $view->api()->search($resourceType, $query);
$resources = $response->getContent(); //重要,要使用取用的的item物件內容一定要加這句
$resources就是一個可以完整使用的物件資源了,如果取用的是item,那相關後設資料例如tittle等等都在裡面囉。
官方給了數種API取用方法,更多資訊可以參考PHP API說明文件