2016-04-15 11 views
0

私はインターネットからの非常に単純で基本的な例を使ってKohana 3.3を研究しています。Kohana 3.3 foreachは配列を出力しません。

マイコントローラ:

クラスController_IndexがController_Template

<h1><?=$title;?></h1> 
<hr> 
<p><?=$content;?></p> 

マイビューv_catalog.php v_index.php {

public $template='v_index'; 

public function action_index() 
{ 

    $this->template->title='Online store'; 
    $this->template->content='Homepage'; 
} 

public function action_catalog() 
{ 
    $title='Products catalog'; 
    $products = array(
     'Product 1'=>100, 
     'Product 2'=>200, 
    ); 

    $this->template->title='Online products store'; 

    $this->template->content=View::factory('v_catalog') 
     ->bind('products',$products) 
     ->bind('product',$product) 
     ->bind('cost',$cost) 
     ->bind('title',$title); 
} 

}

マイビューを拡張:

<h2><?=$title?></h2> 

<? foreach ($products as $product=>$cost): ?> 
    <p><?=$product?><strong><?=$cost?></strong></p> 
<? endforeach; ?> 

私がhttp://localhost/kohana/index/catalogに行くと、ブラウザは2つのタイトルを出力します:オンラインストアと製品カタログはOKです。しかし、foreachサークルの位置には出力があります

$cost): ?> 

私は間違って何をしていますか?この配列をループできませんか?あるいは、私の構文が間違っていますか?私のエラーで助けを感謝します。

答えて

1

PHPのshort_open_tagオプションが無効になっているためです。 Hereこのオプションを有効にする方法の詳細があります。その後、次のコードを使用できます。

<? ?> 
0

私がコードを変更しようとした、このコードでは、それは

<?php ?> 

代わりの

<? ?> 

完全な構文を使用することをお勧めだと思わ:

<?php foreach ($products as $product=>$cost): ?> 
    <p><?=$product?><strong><?=$cost?></strong></p> 
<?php endforeach; ?> 

そして今うまく動作します。

関連する問題