Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
yii2
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
PSDI Army
yii2
Commits
bbc3e321
Commit
bbc3e321
authored
Dec 29, 2014
by
Nobuo Kihara
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
docs/guide-ja/output updated [ci skip]
parent
654dbbb2
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
142 additions
and
10 deletions
+142
-10
README.md
docs/guide-ja/README.md
+3
-4
output-data-widgets.md
docs/guide-ja/output-data-widgets.md
+55
-0
output-pagination.md
docs/guide-ja/output-pagination.md
+37
-3
output-sorting.md
docs/guide-ja/output-sorting.md
+47
-3
No files found.
docs/guide-ja/README.md
View file @
bbc3e321
...
...
@@ -97,8 +97,8 @@ All Rights Reserved.
------------
*
[
データのフォーマット
](
output-formatter.md
)
*
**
TBD
**
[
ページネーション
](
output-pagination.md
)
*
**
TBD
**
[
並べ替え
](
output-sorting.md
)
*
**
翻訳中
**
[
ページネーション
](
output-pagination.md
)
*
**
翻訳中
**
[
並べ替え
](
output-sorting.md
)
*
[
データプロバイダ
](
output-data-providers.md
)
*
[
データウィジェット
](
output-data-widgets.md
)
*
[
クライアントスクリプトを扱う
](
output-client-scripts.md
)
...
...
@@ -185,7 +185,7 @@ RESTful ウェブサービス
*
LinkPager:
**TBD**
link to demo page
*
LinkSorter:
**TBD**
link to demo page
*
**翻訳未着手**
[
Bootstrap ウィジェット
](
widget-bootstrap.md
)
*
**翻訳未着手**
[
Jq
uery UI ウィジェット
](
widget-jui.md
)
*
**翻訳未着手**
[
jQ
uery UI ウィジェット
](
widget-jui.md
)
ヘルパ
...
...
@@ -195,5 +195,4 @@ RESTful ウェブサービス
*
**翻訳未着手**
[
ArrayHelper
](
helper-array.md
)
*
**翻訳未着手**
[
Html
](
helper-html.md
)
*
**翻訳未着手**
[
Url
](
helper-url.md
)
*
**TBD**
[
Security
](
helper-security.md
)
docs/guide-ja/output-data-widgets.md
View file @
bbc3e321
...
...
@@ -6,6 +6,61 @@
ListView
--------
ListView ウィジェットは、データプロバイダからのデータを表示するのに使用されます。
各データモデルは指定されたビューを使って表示されます。
ListView は、特に何もしなくても、ページネーション、並べ替え、フィルタリングなどの機能を提供してくれますので、エンドユーザに情報を表示するためにも、データ管理 UI を作成するためにも、非常に便利なウィジェットです。
典型的な使用方法は以下の通りです。
```
php
use
yii\widgets\ListView
;
use
yii\data\ActiveDataProvider
;
$dataProvider
=
new
ActiveDataProvider
([
'query'
=>
Post
::
find
(),
'pagination'
=>
[
'pageSize'
=>
20
,
],
]);
echo
ListView
::
widget
([
'dataProvider'
=>
$dataProvider
,
'itemView'
=>
'_post'
,
]);
```
`_post`
ビューは次のようなものにすることが出来ます。
```php
<?php
use yii\helpers\Html;
use yii\helpers\HtmlPurifier;
?>
<div class="post">
<h2><?= Html::encode($model->title) ?></h2>
<?= HtmlPurifier::process($model->text) ?>
</div>
```
上記のビューでは、現在のデータモデルを
`$model`
としてアクセスすることが出来ます。
追加で次のものを利用することも出来ます。
-
`$key`
: mixed - データアイテムと関連付けられたキーの値。
-
`$index`
: integer - データプロバイダによって返されるアイテムの配列の 0 から始まるインデックス。
-
`$widget`
: ListView - ウィジェットのインスタンス。
追加のデータをビューに渡す必要がある場合は、次のように、
`$viewParams`
を使います。
```
php
echo
ListView
::
widget
([
'dataProvider'
=>
$dataProvider
,
'itemView'
=>
'_post'
,
'viewParams'
=>
[
'fullView'
=>
true
,
],
]);
```
DetailView
...
...
docs/guide-ja/output-pagination.md
View file @
bbc3e321
ページネーション
================
> Note|注意: この節はまだ執筆中です。
>
> まだ内容がありません。
一つのページに一度に表示するにはデータ数が多すぎる場合に、それぞれ一定数のデータアイテムを含む部分にデータを分割して、一度に一つの部分だけを表示することがよく行われます。
このような部分はページと呼ばれますが、それがページネーションという名前の由来です。
あなたが
[
データウィジェット
](
output-data-widgets.md
)
の一つとともに
[
データプロバイダ
](
output-data-providers.md
)
を使っている場合は、ページネーションは既に自動的に設定されて、うまく動作するようになっています。
そうでない場合は、あなたが
[
[\yii\data\Pagination
]
] オブジェクトを作成し、
[
[\yii\data\Pagination::$totalCount|総アイテム数
]
]、
[
[\yii\data\Pagination::$pageSize|ページサイズ
]
]、
[
[\yii\data\Pagination::$page|現在のページ
]
] などのデータを代入して、クエリに適用し、そして
[
[\yii\widgets\LinkPager|リンクページャ
]
] に与えなければなりません。
まず最初に、コントローラアクションの中でページネーションオブジェクトを作成し、データを代入します。
```
php
function
actionIndex
()
{
$query
=
Article
::
find
()
->
where
([
'status'
=>
1
]);
$countQuery
=
clone
$query
;
$pages
=
new
Pagination
([
'totalCount'
=>
$countQuery
->
count
()]);
$models
=
$query
->
offset
(
$pages
->
offset
)
->
limit
(
$pages
->
limit
)
->
all
();
return
$this
->
render
(
'index'
,
[
'models'
=>
$models
,
'pages'
=>
$pages
,
]);
}
```
次に、ビューにおいて、現在のページのモデルを出力し、リンクページャにページネーションオブジェクトを渡します。
```
php
foreach
(
$models
as
$model
)
{
// ここで $model を表示
}
// ページネーションを表示
echo
LinkPager
::
widget
([
'pagination'
=>
$pages
,
]);
```
docs/guide-ja/output-sorting.md
View file @
bbc3e321
並べ替え
========
> Note|注意: この節はまだ執筆中です。
>
> まだ内容がありません。
表示するデータを一つまたはいくつかの属性に従って並べ替えなければならないことがあります。
あなたが
[
データウィジェット
](
output-data-widgets.md
)
の一つとともに
[
データプロバイダ
](
output-data-providers.md
)
を使っている場合は、並べ替えはあなたに代って自動的に処理されます。
そうでない場合は、コントローラの中で
[
[\yii\data\Sort
]
] のインスタンスを作成して構成し、クエリに適用し、そしてビューに渡して、属性による並べ替えのためのリンクを作成できるようにしなければなりません。
典型的な使用方法の例を次に示します。
```
php
function
actionIndex
()
{
$sort
=
new
Sort
([
'attributes'
=>
[
'age'
,
'name'
=>
[
'asc'
=>
[
'first_name'
=>
SORT_ASC
,
'last_name'
=>
SORT_ASC
],
'desc'
=>
[
'first_name'
=>
SORT_DESC
,
'last_name'
=>
SORT_DESC
],
'default'
=>
SORT_DESC
,
'label'
=>
'Name'
,
],
],
]);
$models
=
Article
::
find
()
->
where
([
'status'
=>
1
])
->
orderBy
(
$sort
->
orders
)
->
all
();
return
$this
->
render
(
'index'
,
[
'models'
=>
$models
,
'sort'
=>
$sort
,
]);
}
```
ビューにおいては、
```
php
// 並べ替えのアクションに導くリンクを表示
echo
$sort
->
link
(
'name'
)
.
' | '
.
$sort
->
link
(
'age'
);
foreach
(
$models
as
$model
)
{
// ここで $model を表示
}
```
上記においては、並べ替えをサポートする二つの属性、すなわち、
`name`
と
`age`
を宣言しています。
並べ替えの情報を Article クエリに渡して、クエリ結果が Sort オブジェクトで指定された順序に従って並べ替えられるようにしています。
ビューにおいては、二つのハイパーリンクを表示して、対応する属性によって並べ替えられたデータを表示するページへ移動できるようにしています。
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment