ユーザーマニュアル

ビューア・オプション(上級設定)

 

アドミン > PHPコード作成


ビューア・オプション(一覧ページ)

【ビューア・タイプ】一覧ページ:マルチレコード一覧の上級者向けビューア・オプション資料です。


require_once ".../lib/viewer_functions.php";
ビューアにプログラム(CMSF4)の位置を伝えます。ビューア作成時に自動的にパスを埋め込みます。プログラム(CMSF4ディレクトリ・ファイル)の移動時には、このコードの更新が必要です。

tableName
ビューアがレコードを読み込むMySQLデータベースのテーブル名です。テーブル名の変更時には該当コードの更新が必要です。

limit
表示するレコードの最大数を設定できます。例えば 'limit' => '3', は最初の3件のレコードを表示します。limit が無い場合は全てのレコードが表示されます。

offset
表示するレコードを「スキップ」します。例えば2件目と3件目のレコードを表示する場合は、offset を1に、limit を2に設定します。

perPage
「前のページ・次のページ」の様なページ・ナビゲーションの使用時に表示するレコードの数が設定できます。

allowSearch
初期値では自動検索が有効に設定されています。複数のビューアを1つのページに埋め込む場合、全ての検索結果を有効にする必要があるので、この値を false に設定する必要があります。

requireSearchMatch
初期設定ではビューアは検索キーワード無しでも全てのレコードを表示します。このオプションを true に設定すると、結果表示にはキーワードが必要になります。

loadUploads
初期設定ではアップロード(画像・ファイル)が読み込まれます。アップロードの設定があり、でもアップロードを表示しない場合 false に設定する事でデータベース・クエリ数を減らす事でサーバーの負担を軽減します。

loadCreatedBy
初期設定では著作者の情報表示の為、レコード作成者のアカウント情報が結果に追加されます。例:createdBy.* (createdBy.email, createdBy.fullname など)
false に設定する事でデータベース・クエリ数を減らす事でサーバーの負担を軽減します。

loadListDetails
getRecords() ($newsMetaData in the example) により取得される2次変数には全結果数、ページリンクなどの情報が含まれます。
false に設定する事でデータベース・クエリ数を減らす事でサーバーの負担を軽減します。

useSeoUrls
true に設定すると検索エンジンに効果的なURLが作成できます。CMSF4で作成されるURLは通常の状態でも検索エンジンに効果的ですが、useSeoUrls を使用すると ? が / に変換されるので、さらに効果的になります。

通常のURLは以下の様になります。articlePage.php?Hello_World-1/

articleList.php?page=1

articleList.php?color=blue&page-1

useSeoUrls のURLは以下の様になります。articlePage.php/Hello_World-1/

articleList.php/page-1/

articleList.php/color-blue/page-1/
※この機能がサポートされてないサーバーもあります。

where
MySQLに自信のある方はMySQL WHERE 構文のカスタマイズが可能です。

orWhere
MySQLに自信のある方はMySQL WHERE 構文のカスタマイズが可能です。検索の後ろに 'where' の状況を "OR ... " の状況として追加されます。検索クエリ「もしくはその他」の照合結果の表示が可能です。

orderBy
初期設定では表示の配列は "Admin > Section Editors > Sorting" の順になります。 orderBy により表示配列順をカスタマイズできます。orderBy フィールドはカンマ区切りによるレコード内のフィールドリストで設定できます。
以下、特殊配列コマンドです。

fieldname DESC
"DESC" は降順配列します。(後ろが前) 例えば日付フィールドに追加した場合、最近日が前に表示されます。

fieldname+0
数値を元にフィールドを配列します。
※但しデータベースの数値配列は次の様になります。(1, 2, 20, 21, 3, 4, 45 … )

RAND()
「結果」をランダムに配列表示します。結果はビューアの読み込み毎にランダム化されます。

ヒント:orderBy は通常の MySQL ORDER BY 節です。MySQLに自信のある方はカスタマイズが可能です。

joinTable(上級)
他のテーブルから同じユーザーにより作成されたレコードの照合結果を追加します。例えば 'products'(商品)のセクションと 'brands'(ブランド)のセクションが設定してあり、 'brands' のセクションと 'products' のビューアに joinTable => 'homepage' を設定すると、同じユーザー作成した最初の 'brands'(ブランド)が表示される全ての 'products'(商品)に読み込まれます。そして、 'products'(商品)のフィールドが 'brands'(ブランド)で使用可能になります。

debugSql(上級)
デバッグ用の上級コマンドです。true に設定するとSQLクエリを実行する前に使われた全ての内容がビューアに文字表示されます。


設定例

上級者の方は必要に応じて編集して下さい。
<?php
require_once "/CMSF/lib/viewer_functions.php";
list($newsRecords, $newsMetaData) = getRecords(array(

'tableName' => 'news',
-- 指定が無い場合はエラーになります。tableName は $TABLE_PREFIX の様になります。(必須設定)

'limit' => '3',
-- 表示するレコードの最大数。(オプション設定・初期値は空白)

'offset' => '1',
-- limit 無しで設定。(オプション設定・初期値は空白)

'perPage' => '1',
-- 1ページ毎に表示するレコードの数。 viewer.php?page=1 のURLのページ番号順に表示されます。(オプション設定)

'allowSearch' => true,
-- オプション設定。検索情報をクエリ・ストリングから取得追加します。(初期値は有効)

'requireSearchMatch' => false,
-- キーワードの照合が取れない場合は、検索結果を表示しません。(オプション設定)

'loadUploads' => true,
-- アップロード・フィールドにアップロード・アレイを読み込みます。(オプション設定)

'loadCreatedBy' => true,
-- レコード作成者 createdBy を追加します。(オプション設定・初期値は有効)

'loadListDetails' => true,
-- ページナビゲーションに $details を追加します。(オプション設定・初期値は有効)

'useSeoUrls' => false,
-- SEOアドレスを使用します。(オプション設定・初期値は無効)

'where' => '',
--(オプション設定・初期値は空白)

'orWhere' => '',
-- "OR ..." を where 節 の語尾に追加します。(オプション設定)

'orderBy' => '',
-- 指定が無い場合の初期値はテーブル配列順に表示されます。(オプション設定)

'joinTable' => 'tablename',
-- 他のテーブルから同じユーザーにより作成された結果を追加します。(オプション設定)

'debugSql' => false,
-- SQLクエリを表示します。(オプション設定・初期値は無効)

));
?>