Yii Framework Forum: ウィジェット関連はこちらで - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

ウィジェット関連はこちらで ウィジェットに関する質問等はこちら Rate Topic: -----

#1 User is offline   jamband 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 75
  • Joined: 05-November 10

Posted 04 April 2011 - 02:24 AM

ウィジェットの参考資料


その他、Wiki, Forum, Class Referenceなどが参考になるかと思います
0

#2 User is offline   jamband 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 75
  • Joined: 05-November 10

Posted 04 April 2011 - 03:56 AM

CJuiDatePickerについて

CJuiDatePickerをテストしていたんですが
テーマをbase以外のものにしたときに
ブラウザの画面にパネルの枠が一辺だけ表示されてしまいます
これはバグでしょうか。もしくは、何か自分で変なことをやってしまっているんでしょうか?
IE, Firefox, Chromeで試しましたが、どれもダメでした

config/main.php
'widgetFactory' => array(
	'widgets' => array(
		'CJuiDatePicker' => array(
			'theme' => 'pepper-grinder',
			'name' => 'sample',
			'language' => 'ja',
			'value' => '1900-01-01',
			'options' => array(
				'dateFormat' => 'yy-mm-dd',
			),
		),
		...

views/site/index.php
<?php $this->widget('zii.widgets.jui.CJuiDatePicker', array()); ?>

Posted Image
0

#3 Guest_tuvanxaynha2011_*

  • Group: Guests

Posted 04 April 2011 - 09:52 PM

このトピックに感謝
0

#4 User is offline   jamband 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 75
  • Joined: 05-November 10

Posted 06 April 2011 - 12:41 AM

CJuiDatePickerでブラウザの画面にパネルの枠が一辺だけ表示されるの件、解決しました
参考リンク - http://primefaces.pr....php?f=3&t=7072

あと、CJuiDatePickerの基本的な使い方と
日本語対応の仕方などを簡単にですが、書いておきます ( モデル対応版 )
'options'はたくさんあるのでこちらのOptionsタブを参考にしてください
<?php $this->widget('zii.widgets.jui.CJuiDatePicker', array(
	'model'=>$model, 'attribute'=>'birthday',
	'language'=>'ja', // 言語設定
	'options'=>array(
		'autoSize'=>'true', // inputの幅を自動で調整するかどうか
		'defaultDate'=>'1930-01-01', // 初期値
		'dateFormat'=>'yy-mm-dd', // 形式
		'showButtonPanel'=>'true', // 「今日」、「閉じる」ボタンを表示させるかどうか
		'yearRange'=>'-70:+0', // 年の範囲 ( 現在の年から70引いた値~現在の年。他には'1930:1999'など可 )
		'changeYear'=>'true', // 年を選択させるかどうか
		'changeMonth'=>'true', // 月を選択させるかどうか
		'showAnim'=>'fade', // 表示アニメーション
	),
)); ?>

その他、レイアウトに関する補足 ( main.cssに追加するなどして対処できます )
日本語にすることによって改行される件は、月の'changeMonth'をfalseにすることでも対処できます
#ui-datepicker-div {font-size:9pt;} /* パネルサイズ変更 */
#ui-datepicker-div thead th {background:none;} /* 曜日背景色の対処 ( blueprint使用時 ) */
#ui-datepicker-div select.ui-datepicker-month, 
#ui-datepicker-div select.ui-datepicker-year { width: 45%;}  /* 日本語にすることによって改行される件の対処 */

( ※変更 2011-06-14 )
0

#5 User is offline   jamband 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 75
  • Joined: 05-November 10

Posted 24 July 2011 - 01:33 AM

CGridViewを使用してデータをハイパーリンクで表示し、かつ新しいタブで開くには?

CGridViewを使ってhogeカラムのデータ(外部サイトのURLが入っている)を
ハイパーリンクで表示して、かつ、新しいタブで開く場合、答えとして、以下の2通りが出てきました
CDataColumnだと、filterが効き、CLinkColumnだと効きません
だとすると、CLinkColumnはいったい、どのようなケースに使用されるものなんでしょうか?

<?php $this->widget('zii.widgets.grid.CGridView', array(
	'id' => 'hoge-hoge-grid',
	'dataProvider' => $model->search(),
	'filter' => $model,
	'columns' => array(
		// CDataColumn
		array(
			'name' => 'hoge',
			'type' => 'raw',
			'value' => 'CHtml::link(CHtml::encode($data->hoge), $data->hoge, array("target" => "_blank"));',
		),
		// CLinkColumn
		array(
			'header' => 'Hoge',
			'class' => 'CLinkColumn',
			'labelExpression' => '$data->hoge',
			'urlExpression' => '$data->hoge',
			'linkHtmlOptions' => array('target' => '_blank'),
		),
	),
)); ?>

0

#6 User is offline   softark 

  • Keep It Simple
  • Yii
  • Group: Moderators
  • Posts: 2,041
  • Joined: 16-February 11
  • Location:Japan

Posted 24 July 2011 - 05:52 PM

コラムの'name'属性を指定すればフィルターが使えると思います。

[EDIT] というのは間違いです。
0

#7 User is offline   jamband 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 75
  • Joined: 05-November 10

Posted 25 July 2011 - 06:04 AM

View Postsoftark, on 24 July 2011 - 05:52 PM, said:

コラムの'name'属性を指定すればフィルターが使えると思います。

<?php $this->widget('zii.widgets.grid.CGridView', array(
        'id' => 'hoge-hoge-grid',
        'dataProvider' => $model->search(),
        'filter' => $model,
        'columns' => array(
                // CLinkColumn
                array(
                        'header' => 'Hoge',
                        'name' => 'hoge', // こういうことでしょうか?
                        'class' => 'CLinkColumn',
                        'labelExpression' => '$data->hoge',
                        'urlExpression' => '$data->hoge',
                        'linkHtmlOptions' => array('target' => '_blank'),
                ),
        ),
)); ?>

0

#8 User is offline   softark 

  • Keep It Simple
  • Yii
  • Group: Moderators
  • Posts: 2,041
  • Joined: 16-February 11
  • Location:Japan

Posted 25 July 2011 - 08:16 AM

済みません。間違いました。
CLinkColumn には name 属性はありません。てっきり、CLinkColumn は CDataColumn の派生だと思い込んでいました。

[EDIT]
filter および sort をサポートしているのは、CDataColumn だけですね。CLinkColumn や CButtonColumn は、CDataColumn の子じゃなくて、兄弟でした。親は CGridColumn です。
汎用性の高い CDataColumn が親クラスだと勘違いしてました。
0

#9 User is offline   jamband 

  • Junior Member
  • Pip
  • Yii
  • Group: Members
  • Posts: 75
  • Joined: 05-November 10

Posted 26 July 2011 - 09:51 AM

よく理解できました。ありがとうございます。

CButtonColumnにfilterがないのは理解できるんですが
CLinkColumnにはあっても良いんじゃないか?と勝手に思ってたんですけど
いろいろ調べたり、試したりしたんですが、やっぱないみたいです・・・
sortもサポートしていないのは知りませんでした。収穫です。

CLinkColumnのClass Referenceのコメントを見ると
emailを送る際に使用されていますが、こういう使い方がベストなのかもしれないですね
array(
    'class'=>'CLinkColumn',
    'header'=>'e-mail',
    'labelExpression'=>'$data->email',
    'urlExpression'=>'"mailto:".$data->email',
),

0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users