2011-12-19 4 views
0

Это мое Controller кодирования в рамках ZENDкак поставить точку зрения в рамках ZEND

public function homeAction() { 

    $storage = new Zend_Auth_Storage_Session(); 
    $data = $storage->read(); 
    if (!$data) { 
     $this->_redirect('admin/login'); 
    } 
    $this->view->storeid = $data->storeid; 
    $iExtStoreId = $data->storeid; // admin storeid 

    $db = Zend_Db_Table::getDefaultAdapter(); 
    $sql = "SELECT storeId FROM stores where extStoreId= '$iExtStoreId' "; 

    $result = $db->fetchAll($sql); 
    $sStoreId = $result[0]['storeId']; 
    if (strlen($sStoreId) >= 32) { 
     $sql = "select * from voucherRedemptions where storeId='$sStoreId'"; 

     $result2 = $db->fetchAll($sql); 
    } else { 
     $result2 = array(); 
    } 
    echo "<table border='1'> 
         <tr> 
         <th>redemptionId</th> 
         <th>voucherId</th> 
         <th>storeId</th> 
         <th>redemptionTime</th> 
       </tr>"; 

    if (count($result2) > 0) { 
     foreach ($result2 as $row) { 
      echo "<tr>"; 
      echo "<td>" . $row['redemptionId'] . "</td>"; 
      echo "<td>" . $row['voucherId'] . "</td>"; 
      echo "<td>" . $row['storeId'] . "</td>"; 
      echo "<td>" . $row['redemptionTime'] . "</td>"; 
      echo "</tr>"; 
     } 
    } else { 
     echo "<tr><td colspan='4'>Data not found </td></tr>"; 
    } 

    echo "</table>"; 
} 

теперь я хочу, чтобы сохранить вид code в view папки home.htmlwhat i can do ?

+0

Почему вы печатаете материал 'view' в своем контроллере? – PeeHaa

+0

Вы делаете это * так * неправильно. Как говорит PeeHaa, у вас не должно быть просмотра материала (HTML) в вашем контроллере. Zend Framework очень ориентирована на MVC, и вы полностью * не * следуете шаблону MVC, поэтому у вас проблемы. –

+0

@MartinBean/media/New Volume_/admin/application/views/scripts/admin/home.phtml Я хочу сохранить здесь – John

ответ

1

Не echo всех этих вещей в контроллере. Вот для чего это view.

После установки всех viewvariables сделать:

$this->render('/path/to/home.html'); 

И печатать все вещи там.

Также обратите внимание, что Zend Framework имеет pretty good documentation available.

1

Я не слишком последнюю скорость с Zend Framework, но происходит ответ PeeHaa и моего схематичного знания, я предполагаю, что ваш контроллер будет выглядеть следующим образом:

class YourController { 

    public function indexAction() { 
     $view = new Zend_View(); 
     $view->someVar = 'Some Value.'; 
     $view->render('/admin/admin.phtml'); 
    } 
} 

, а затем в вашей admin.phtml template:

<!-- should output "Some Value." --> 
<p><?php echo $this->someVar; ?></p> 
+0

Вам не нужна эта строка '$ view = new Zend_View()', поскольку действия имеют объект вида по умолчанию. На самом деле вам не нужно '$ view-> render()' либо как все, что сделано автоматически, если у вас есть сценарий просмотра в местоположении по умолчанию. – vascowhite

Смежные вопросы