說明如何在 CodeIgniter 內透過 library 建立可以共同使用的 JSON-LD 資料,這樣如果有些頁面想要重複使用比如說是像 website、organization 資料時就不用找出所有有用到的地方都改一次了。

首先,建立一個名為 JsonLdLibrary.php 的函式庫檔案,並將其放在 application/libraries 目錄下。

class JsonLdLibrary {
    public function __construct()
    {
        // Assign the CodeIgniter super-object
        $this->ci =& get_instance();
    }
    public function person(){
        $jsonLd=array(
            "@context" => "https://schema.org",
            "@type" => "Person",
            "name" => "deathhell",
"url"=> $this->ci->data["siteUrl"], ... ); return $jsonLd; } public function website(){ $jsonLd=array( ... ); return $jsonLd; } }

 

在 Controller 中使用函式庫生成 JSON-LD 資料。

$this->load->library('JsonLdLibrary');
$jsonLd=[
    $this->jsonldlibrary->website(),
    $this->jsonldlibrary->person(),
    ...
];
$data = compact('jsonLd'...);

 

在 View 中嵌入 JSON-LD 資料。

<script type="application/ld+json">
   <?= json_encode($jsonLd, JSON_PRETTY_PRINT) ?>
</script>

這樣就可以在不同頁面間共用相同的 JSON-LD 資料了。