0

OpenTBSを Cakephp 2.x で動作させようとしていますが、いくつか問題があります。次のスレッドを見つけてフォローしましたが、これはcakephp 1.x用です

CakePHP + TinyButStrong

私が行った違いは次のとおりです。

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();

何が起こっているのでしょうか?

ありがとう

4

0 に答える 0