0

私はここしばらく Yii フレームワークを使用してきましたが、特に開発を容易にするこれらのウィジェットで本当に楽しい時間を過ごしています。拡張機能に Yii ブートストラップを使用していますが、各ウィジェットの仕組みを理解するのに少し苦労しています。

私の質問は、タブ内にTbDetailViewなどのウィジェットを表示するにはどうすればよいですか? 私は基本的にコンテンツをタブ形式で表示したい..しかし、それらのいくつかはテーブル形式である.いくつかはリスト、詳細ビューなど.

私はこのウィジェットを持っています:

$this->widget('bootstrap.widgets.TbDetailView',array(
        'data'=>$model,
        'attributes'=>$attributes1,
        )); 

タブの中に入れたい

$this->widget('bootstrap.widgets.TbWizard', array(
    'tabs' => $tabs,
    'type' => 'tabs', // 'tabs' or 'pills'
    'options' => array(
        'onTabShow' => 'js:function(tab, navigation, index) {
            var $total = navigation.find("li").length;
            var $current = index+1;
            var $percent = ($current/$total) * 100;
            $("#wizard-bar > .bar").css({width:$percent+"%"});
        }',
    ),

私の $tabs 配列は次のように宣言されています:

$tabs = array('studydetails' => 
array(
'id'=>'f1study-create-studydetails', 
'label' => 'Study Details', 
'content' =>//what do i put here?),
...
...);

$table = $this->widget('boots....); のような変数内にウィジェットを格納すると、「コンテンツ」パラメーターに $table 変数を使用すると、次のようなエラー メッセージが表示されます: クラス TbDetailView のオブジェクトを文字列に変換できませんでした

私はこれがどのように機能するかをよく理解していないようです...助けが必要です..ありがとう:)

4

2 に答える 2

2

widget() 関数が取る 3 番目のパラメーターは、実行しようとしているように出力を変数にキャプチャするために使用されます。

ドキュメントから:

public mixed widget(string $className, array $properties=array ( ), boolean $captureOutput=false)

$this->widget('class', array(options), true)

現在、オブジェクトをエコーアウトしようとして、オブジェクト自体を変数にキャプチャしています。エコーは、文字列にキャストできるものに対してのみ機能します。

于 2013-07-04T01:11:06.450 に答える