2014-06-24 136 views
0

我有一個小問題,我在控制器中聲明瞭一個布爾類型的變量。向PhalconPHP控制器中使用的視圖發送變量

$done=False 

現在存在,將它變成真正的控制器的觸發而正是在這一點上,我想將它發送到與該控制器對應的視圖..我已經使用以下。

$done=True; 
$this->view->setVar("done", $done); 

現在,當我嘗試調用它,它不知道這varible的任何相應的視圖。

if($done==True) 
{ 
    echo' 
    <div class="alert alert-success"> 
     <a href="addNewSkill" class="alert-link">Add Another Here!</a> 
    </div> 
    '; 
} 

它給我以下:

說明:未定義變量:在>Ç完成:\ XAMPP \ htdocs中\ Blueware \應用\視圖\ addNewSkill \ index.phtml在線路36上

現在是否有更好的方式發送這個變量到視圖還是我犯了一個錯誤?

全部控制器/操作代碼:

<?php 
     class addNewSkillController extends \Phalcon\Mvc\Controller{ 

      public function indexAction(){ 

      } 

      public function confirmAction(){ 

       $this->view->disable(); 
       $done=False; 

       if($this->request->isPost()) { 
        $dataSent = $this->request->getPost(); 

        $skill = new Skills(); 
        $skill->technology  = $dataSent["technology"]; 
        $skill->skillName = $dataSent["skillName"]; 
        $skill->description = $dataSent["description"]; 
        $savedSuccessfully = $skill->save(); 

        if($savedSuccessfully) { 
         $done=True; 
         $this->view->setVar("done", $done); 
        } else { 
         $messages = $skill->getMessages(); 

         echo "Sorry, the following problems were generated: "; 
         foreach ($messages as $message) { 
          echo "$message <br/>"; 
         } 
        } 
       } else { 
        echo "The request method should be POST!"; 
       } 



      } 


     } 

完整視圖代碼:

​​
+0

@Phantom - 完成! –

+0

視圖在確認操作中被禁用。 – Phantom

回答

1
if($savedSuccessfully) { 
     $done=True; 
     $this->view->setVar("done", $done); 
    } else { 

你應該有設置變量,但設置的觀點似乎後它不保存,因此不通過變量

類似

if($savedSuccessfully) { 
     $done=True; 
    } else { 
    ...later in code ... 

    $this->view->setVar("done", $done); 

甚至只是

$this->view->setVar("done", $savedSuccessfully); 
相關問題