2013-07-26 100 views
0

我讀一個TYPO3擴展文件:cobj如何在typo3擴展中工作?

class.tx_jcjob_pi1.php

... 
$this->template = $this->cObj->fileResource($this->conf['templateFile']); 
... 

class.tslib_pibase.php

... 
var $cObj; 
... 

class.tslib_content.php

... 
function fileResource 
... 

問題: 這條線如何工作:$this->cObj->fileResource($this->conf['templateFile']);

  1. 沒有這樣的代碼:如$cObj = new tslib_cObj(),究竟是怎麼$cObj實例化?

  2. 有沒有這樣的代碼喜歡require_once('class.tslib_content.php');怎麼可能$this->cObj使用class.tslib_content.php中的方法?

回答

1

這些都是在插件代碼執行之前由Typo3的頁面渲染器完成的。

因爲你的插件extends pi_base和pi_base的類是由Typo3實例化的,所以很多函數已經在使用。

所以,如果你不會延長pi_base,$this->cObj不會在那裏,你將需要自己與例如創建:

$cObj = t3lib_div::makeInstance('tslib_cObj');