2012-10-09 56 views
0

我有3種形式,一種是SalesFormSalesItemFormEmbedSalesItemFormembeddedforms和事件調度

我使用embedRelation('SalesItems', EmbedSalesItemForm)

這些工作得很好,當我查看銷售,我看到有SalesItemForm到我SalesForm嵌入其中的項目。沒事兒。

但是我期望做的是檢查一個值是否出現在任何嵌入的表單值中,如果是,可能會掛鉤到一個事件分派器/監聽器以發送電子郵件。

我可以通過獲取形式值:

public function processValues($values) { 

    var_dump($values);exit; 

    return parent::processValues($values); 

} 

這將返回:

array 
     'SalesItems' => 
     array 
      0 => 
      array 
       'id' => string '38' (length=2) 
       'quantity' => int 1 
       'sku' => string 'test1' (length=9) 
       'description' => string 'test1' (length=5) 
       'price' => float 9.99 
       'out_of_stock' => null 
      1 => 
      array 
       'id' => string '39' (length=2) 
       'out_of_stock' => string 'on' (length=2) 
       'quantity' => int 1 
       'sku' => string '1234' (length=4) 
       'description' => string 'test' (length=4) 
       'price' => float 9.99 
     'id' => string '20' (length=2) 
     'first_name' => string 'Test' (length=4) 
     'last_name' => string 'Name' (length=4) 
     'email_address' => string '[email protected]' (length=13) 

理想情況下,我需要檢查out_of_stock是否是on。這是一個複選框場

非常感謝

回答

0

據我瞭解,你需要的東西是這樣的:

public function processValues($values) { 

    if(isset($values)){ 
     foreach($values as $value){ 
     if($value['out_of_stock'] == 'on'){ // The checkbox is checked 
      // Send mail 
     } 
     } 
    } 

    return parent::processValues($values); 

}