-
Notifications
You must be signed in to change notification settings - Fork 6
default bucket.blade.php
Mitsuru Mutaguchi edited this page Feb 7, 2025
·
4 revisions
{{--
* バケツ編集画面テンプレート
*
* @author 永原 篤 <nagahara@opensource-workshop.jp>
* @copyright OpenSource-WorkShop Co.,Ltd. All Rights Reserved
* @category サンプル・プラグイン
--}}
@extends('core.cms_frame_base_setting')
- core.cms_frame_base_setting を継承することで、設定画面の共通部分が表示されます。
@section("core.cms_frame_edit_tab_$frame->id")
{{-- プラグイン側のフレームメニュー --}}
@include('plugins_option.user.samples.samples_frame_edit_tab')
@endsection
- 編集画面のタブメニュー
@section("plugin_setting_$frame->id")
- メイン部分をsection で囲む。これで、継承している共通部分に埋め込まれる。
{{-- 共通エラーメッセージ 呼び出し --}}
@include('plugins.common.errors_form_line')
- エラーメッセージの表示は上記の共通部品を使用します。
@if (empty($sample->id) && $action != 'createBuckets')
<div class="alert alert-warning">
<i class="fas fa-exclamation-circle"></i> {{ __('messages.empty_bucket_setting', ['plugin_name' => 'サンプル']) }}
</div>
- プラグイン・バケツが登録されていない場合は、上記でバケツの登録を促して、以下は表示しません。
@else
<div class="alert alert-info">
<i class="fas fa-exclamation-circle"></i>
@if (empty($sample->id))
新しいサンプル設定を登録します。
@else
サンプル設定を変更します。
@endif
</div>
- 画面は登録・変更と共通で使用するので、メッセージは条件判定して表示します。
@if (empty($sample->id))
<form action="{{url('/')}}/redirect/plugin/samples/saveBuckets/{{$page->id}}/{{$frame_id}}#frame-{{$frame->id}}" method="POST">
<input type="hidden" name="redirect_path" value="{{url('/')}}/plugin/samples/createBuckets/{{$page->id}}/{{$frame_id}}#frame-{{$frame_id}}">
@else
<form action="{{url('/')}}/redirect/plugin/samples/saveBuckets/{{$page->id}}/{{$frame_id}}/{{$sample->bucket_id}}#frame-{{$frame->id}}" method="POST">
<input type="hidden" name="redirect_path" value="{{url('/')}}/plugin/samples/editBuckets/{{$page->id}}/{{$frame_id}}#frame-{{$frame_id}}">
@endif
- HTML の form 定義は登録時と変更時で分けます。変更時は記事のID(post_id)まで指定します。
{{ csrf_field() }}
- CSRF対策
<div class="form-group row">
<label class="{{$frame->getSettingLabelClass()}}">バケツ名 <label class="badge badge-danger">必須</label></label>
<div class="{{$frame->getSettingInputClass()}}">
<input type="text" name="bucket_name" value="{{old('name', $sample->bucket_name)}}" class="form-control @if ($errors && $errors->has('bucket_name')) border-danger @endif">
@include('plugins.common.errors_inline', ['name' => 'bucket_name'])
</div>
</div>
- バケツ名の入力エリア。
- getSettingLabelClassはフレームが配置されたエリアを元に皆水表示になるようにclass を設定します。
- old 関数はLaravel のものです。
- 項目のエラー表示は共通処理の plugins.common.errors_inline をinclude して使います。
{{-- Submitボタン --}}
<div class="form-group text-center">
<div class="row">
<div class="col-3"></div>
<div class="col-6">
<button type="button" class="btn btn-secondary mr-2" onclick="location.href='{{URL::to($page->permanent_link)}}'">
<i class="fas fa-times"></i><span class="{{$frame->getSettingButtonCaptionClass('md')}}"> キャンセル</span>
</button>
<button type="submit" class="btn btn-primary form-horizontal"><i class="fas fa-check"></i>
<span class="{{$frame->getSettingButtonCaptionClass()}}">
@if (empty($sample->id))
登録確定
@else
変更確定
@endif
</span>
</button>
</div>
- キャンセル、登録 or 変更ボタンの表示
{{-- 既存サンプルの場合は削除処理のボタンも表示 --}}
@if (!empty($sample->id))
<div class="col-3 text-right">
<a data-toggle="collapse" href="#collapse{{$frame->id}}">
<span class="btn btn-danger"><i class="fas fa-trash-alt"></i><span class="{{$frame->getSettingButtonCaptionClass()}}"> 削除</span></span>
</a>
</div>
@endif
</div>
</div>
</form>
- 削除ボタン
<div id="collapse{{$frame->id}}" class="collapse">
<div class="card border-danger">
<div class="card-body">
<span class="text-danger">サンプルを削除します。<br>このサンプルに登録されている記事も削除され、元に戻すことはできないため、よく確認して実行してください。</span>
<div class="text-center">
{{-- 削除ボタン --}}
<form action="{{url('/')}}/redirect/plugin/samples/destroyBuckets/{{$page->id}}/{{$frame_id}}/{{$sample->id}}#frame-{{$frame->id}}" method="POST">
{{csrf_field()}}
<button type="submit" class="btn btn-danger" onclick="javascript:return confirm('データを削除します。\nよろしいですか?')">
<i class="fas fa-check"></i> 本当に削除する
</button>
</form>
</div>
</div>
</div>
</div>
@endif
- 削除の再確認用ボタン
@endsection
- section の終わり。
- home
- Overview
- Install
- Install (インストール)(Linux等へのインストール:root権限ある場合)
-
Install-sakura(さくらのレンタルサーバ)
- Install-sakura-root(ドキュメントルート版)
- Install-Xserver(XServer)
- Install-lolipop(ロリポップ-ハイスピードプラン)
- Install-ColorfulBox(カラフルボックス)
- install-CentOS7+PHP7
- Install-XAMPP(Windows+XAMPP)
- install-Docker
- Update
- Plans
- Data
- File Upload
- Design
- Theme(テーマ)
- Font-Icon(アイコン)
- Button(ボタン)
- Display of input error(入力エラーの表示)
- Multi Language
- Policies
- Plugin
- Basic function(基本の関数)
- Opac(蔵書管理)
- OpeningCalendar(開館カレンダー)
- Template(テンプレート)
- Cabinet(キャビネット)
- Whatsnew(新着)
- Search(サイト内検索)
- Approval(承認機能)
- Holidays(祝日管理)
- Menu(メニュー)
-
OriginalPlugin(オリジナル・プラグイン開発)
- OriginalPluginFiles(ファイル一覧)
- Sample.php
- SamplePost.php
- plugin.ini
- SamplesPlugin.php
- create_samples_table.php
- create_sample_posts_table.php
- samples_frame_edit_tab.blade.php
- card/index.blade.php
- card/template.ini
- default/bucket.blade.php
- default/edit.blade.php
- default/index.blade.php
- default/list_buckets.blade.php
- default/show.blade.php
- default/template.ini
- WYSIWYG
- Session
- Programing tips
- Rule(ルール)
- Laravel method tips
- Laravel reference pages
- PHP
- phpcs
- Datetimepicker(日付入力)
- Hook(処理のフック)
- SQL
- Pull-Request(Web画面上)
- Post
- Optimize
- Composer
- npm
- コントローラー側の$this--can()-の調査
- API (外部サービスAPI)
- Test Case(テストケース)
- memo(永原のメモ)
- TCPDF(実装サンプル)
- Phpunit(ユニットテスト)
-
Dusk(ブラウザテスト)
- Github-Actions-Dusk(Github Actionsでブラウザテスト)
- Dusk-Manual(マニュアル自動生成)
- Develop-Windows(Windows開発環境)
- users_columns(ユーザ任意項目)
- container-page-beta(コンテナ方式(ページ)対応(ベータ版))
- Migration
- Other
- Link
- MultiLanguage(多言語化の際の注意点)