カスタム コンポーネント (CakePHP 2.3) でセッション コンポーネントを使用しようとしていますが、セッション コンポーネント関数を呼び出すと、次のようになります。 7 行目の Component\CartComponent.php
私の CartComponent は次のようになります。
<?php
App::uses('Component', 'Controller');
class CartComponent extends Component {
public $components = array('Session');
function hasItems() {
$cart = $this->Session->read('Cart');
return $cart != null && count($cart) > 0;
}
}
?>
そして、コントローラーで使用します:
<?php
class OrdersController extends AppController {
public $name = 'Orders';
public $components = array('Cart', 'Email');
function beforeFilter() {
parent::beforeFilter();
if ($this->Cart->hasItems()) {
$this->Auth->allow('add_item', 'remove_item', 'cart');
} else {
$this->Auth->allow('add_item', 'remove_item', 'cart', 'make');
}
}
}
?>