OpenTBSを Cakephp 2.x で動作させようとしていますが、いくつか問題があります。次のスレッドを見つけてフォローしましたが、これはcakephp 1.x用です
私が行った違いは次のとおりです。
Tbsヘルパー
class TbsHelper extends Helper
{
function getOpenTbs() {
App::import('Vendor', 'tbs/tbs_class_php5');
App::import('Vendor', 'tbs/tbs_plugin_opentbs');
$tbs = new clsTinyButStrong; // new instance of TBS
$tbs->Plugin(TBS_INSTALL, OPENTBS_PLUGIN); // load OpenTBS plugin
return $tbs;
}
}
mail_merge 関数 (エクスポート機能をビューではなくダウンロードとして置き換えます)
// FUNCTION EXPORT MAIL MERGE
// -------------------------------------------------------------->
function mail_merge()
{
// Stop Cake from displaying action's execution time, this can corrupt the exported file
// Re-ativate in order to see bugs
//Configure::write('debug',0);
// LOAD THE TBS HELPER
// --------------------------------------------------------------->
$this->helpers[] = 'Tbs';
// GET THE CONTACTS
// ------------------------------------------------------------->
$contacts = $this->Contact->find('all', array('limit' => 20, 'contain' => FALSE));
//debug($contacts);
// Get a new instance of TBS with the OpenTBS plug-in
// ------------------------------------------------------------->
$otbs = $this->Tbs->getOpenTbs();
// Load the DOCX template
// ------------------------------------------------------------->
$otbs->LoadTemplate($this->webroot.'/files/data_files/enquiry_letter_sample.docx');
// Merge data in the template
// ------------------------------------------------------------->
$otbs->MergeBlock('r', $contacts);
// End the merge and export
// ------------------------------------------------------------->
$file_name = 'export.docx';
$otbs->Show(OPENTBS_FILE, $file_name);
}
次のエラーが表示されます: Fatal error: Call to a member function getOpenTbs() on a non-object in /home/village/public_html/app/Controller/ContactsController.php 行 408
408 行目: $otbs = $this->Tbs->getOpenTbs();
何が起こっているのでしょうか?
ありがとう