管理画面ページ

concrete5 の開発者にとって一般的なタスクは、管理画面のページを作制することです。管理画面ページは "single_pages/dashboard" ディレクトリ内にあるシングルページです。この中に作成したシングルページは、自動的に管理画面内に表示されます。

Dashboard Controller

管理画面のページコントローラーを作成する際は、\Concrete\Core\Page\Controller\PageController ではなく、 \Concrete\Core\Page\Controller\DashboardPageController を継承するようにしてください。次のコードは、管理画面>システムと設定>ゲーム に管理画面ページコントローラーを作成する例です。

<?php

namespace Application\Controller\SinglePage\Dashboard\System;
use \Concrete\Core\Page\Controller\DashboardPageController;

class Game extends DashboardPageController
{

    public function view()
    {

    }

}

エラーハンドリング

管理画面ページコントローラーのすべてのメソッドは、DashboardPageController クラスによって定義された protected $error 変数にアクセスできます。これは、\Concrete\Core\Error\Error オブジェクトのインスタンスになります。単にこのエラーオブジェクトに追加するだけで、ページに表示されます。

public function view()
{
    if ($foo != '1') {
        $this->error->add('This is error 1');
    }
    if ($foo != '2') {
        $this->error->add('This is error 2');
    }
    if ($this->error->has()) {
        // continue processing
    }
}

成功/情報のレスポンスを表示する

同じように、$message と $success パラメーターは特別な変数で、ビューテンプレートで自動的に表示されます。

public function view()
{
    $this->set('message', 'My regular message');
}

public function view()
{
    $this->set('success', 'My success message');
}

デザインガイドライン

success, error, message メッセージは、ユーザーのアクションが成功した時、または失敗した時に表示してください。管理画面は Bootstrap 3 を使用していますので、BootstrapのUI要素を使用することができます。もし作成する管理画面ページにひとつ以上の重要なボタンがある場合、ヘッダーに配置しましょう。bootstrapのボタングループを使ってグルーピングすることもできます。

<form method="post" action="<?=$controller->action('submit')?>">
<div class="ccm-dashboard-header-buttons btn-group">
    <button class="btn btn-default" type="submit" name="action" value="reload"><?=t('Reload Strings')?></button>
    <button class="btn btn-default" type="submit" name="action" value="export"><?=t('Export to .PO')?></button>
    <button class="btn btn-danger" type="button" data-dialog="reset" value="reset"><?=t('Reset All')?></button>
</div>
</form>

"ccm-dashboard-header-buttons" クラスを使うとページの上部にボタンを配置できます。

長いフォームのページを作成する際は、ボタンフッターを使うことができます。

<form method="post" action="<?=$view->action('update_sitename')?>">
    <fieldset>
    <div class="form-group">
        <label for="SITE" class="launch-tooltip control-label" data-placement="right" title="<?=t('By default, site name is displayed in the browser title bar. It is also the default name for your project on concrete5.org')?>"><?=t('Site Name')?></label>
        <?=$form->text('SITE', $site, array('class' => 'span4'))?>
    </div>
    </fieldset>
    <div class="ccm-dashboard-form-actions-wrapper">
    <div class="ccm-dashboard-form-actions">
        <button class="pull-right btn btn-success" type="submit" ><?=t('Save')?></button>
    </div>
    </div>
</form>

ccm-dashboard-form-actions-wrapper と ccm-dashboard-form-actions クラスは、ページの下部に黒い背景色で固定配置することができます。

原文:Dashboard Pages