0

CakeDC のタグのプラグインを動作させるのに問題があります。ドキュメントを注意深く読みましたが、ドキュメントが非常に古いようです。

// Totally works. Does what it is supposed to do, does not 
// complain of missing models.
        $tag =  $this->Upload->Tagged->find('tagged', 
        array('by' => $tagname, 'model' => 'Upload', 'conditions' => 
        array( 'Upload.soft_delete !=' => 1) ));


// 100% correct according to the 3 year old documentation. 
// Complains of a missing  "taggeds" model.
// Table taggeds for model Tagged was not found in datasource default.
// Undefined index: tagged [CORE/Cake/Model/Model.php, line 2731]


        $this->paginate['Tagged'] = array(
                        'model' => 'Upload',   
                        'tagged',
                        'by' => $tagname);

        $tag = $this->paginate('Tagged');

ここでドキュメントを読みました: https://github.com/CakeDC/tags/wiki/Find-tagged-objects

最初は、コントローラの上部に public $paginate = array(); を追加するまで、オーバーロードされたプロパティ $paginate の間接的な変更 ... 効果なし" バグが発生しました。これは他のエラーを助けませんでした。

うまくいけば、ここで簡単なものが欠けています。

更新: コードを次のように変更しました

$this->Paginator->settings['Tagged'] = array(
        'tagged',
        'model' => 'Upload',    
        'by' => $tagname
    ); 

$this->Paginator->paginate('Tagged');   

そして、私はこのエラーを受け取ります: エラー: 非オブジェクトのメンバー関数 paginate() への呼び出し

4

2 に答える 2

3

最終的に、コントローラーの上部に追加して機能させました

public $components = array('Paginator');

それから私の方法では

$this->Paginator->settings['Tagged'] = array(
    'tagged',
    'model' => 'Upload',   
    'by' => $tagname
);
$this->Paginator->paginate('Tagged');
于 2014-11-04T17:34:43.513 に答える