-
Notifications
You must be signed in to change notification settings - Fork 6
OriginalPlugin
Connect-CMS では、プラグインを開発して追加することもできます。
オリジナル・プラグインを開発して追加することで、機能を向上させ、便利なサイトや特別な業務サイトを作るることが可能です。
ファイルの文字コードは、UTF-8 を使用してください。
※ 半角英数のみの場合は、エディタが Shift_JIS と表示する場合もありますが、それは問題ありません。
改行コードは LF を使用してください。
※ Github にアップロードする際のポイントです。CRLF でも、動作はすると思います。
バケツ、ページ、フレームの理解
https://manual.connect-cms.jp/blueprint/index/index/index.html
※ DB定義では、バケツを表すDBテーブルと、記事を表すDBテーブルの2つを作成します。
Option プラグインで作成する。
※ Option プラグインは今後、マニュアルを追加
進め方
□ migration コマンドでDB 定義のひな型を生成するところは、コマンドを実行してみる。
□ その他のファイルは、Sample プラグインのファイルをひとつずつコピーしてきて、解説していく。
以下の説明で、○○ ファイルを作成。とある部分は、コピーしてくる。と読み替えながら進める。
□ 動かしてみる。
以下のConnect-CMS オプション・プラグインの中のsample を使います。
https://github.com/opensource-workshop/connect-cms_option
サンプル・プラグインのファイル一覧をその説明は以下にあります。
OriginalPluginFiles(ファイル一覧)
--- Migration でDB 定義の生成(オプションプラグイン用)
> php artisan make:migration create_samples_table --path=database/migrations_option
Created Migration: YYYY_MM_DD_HHiiss_create_samples_table
※ database\migrations_option\YYYY_MM_DD_HHiiss_create_samples_table.php が作成される。
> php artisan make:migration create_sample_posts_table --path=database/migrations_option
Created Migration: YYYY_MM_DD_HHiiss_create_sample_posts_table
※ database\migrations_option\YYYY_MM_DD_HHiiss_create_sample_posts_table.php が作成される。
- 必要なカラムの追加
$table->integer('bucket_id');
$table->string('bucket_name', 255)->comment('バケツ名');
- 標準のtimestamps()を削除
//$table->timestamps();
- Connect-CMSのテーブルサフィックスを追加
$table->integer('created_id')->nullable();
$table->string('created_name', 255)->nullable();
$table->timestamp('created_at')->nullable();
$table->integer('updated_id')->nullable();
$table->string('updated_name', 255)->nullable();
$table->timestamp('updated_at')->nullable();
$table->integer('deleted_id')->nullable();
$table->string('deleted_name', 255)->nullable();
$table->timestamp('deleted_at')->nullable();
- 必要なカラムの追加
$table->integer('sample_id');
$table->string('title', 255)->comment('タイトル');
$table->text('content')->nullable()->comment('内容');
- 標準のtimestamps()を削除
//$table->timestamps();
- Connect-CMSのテーブルサフィックスを追加
$table->integer('created_id')->nullable();
$table->string('created_name', 255)->nullable();
$table->timestamp('created_at')->nullable();
$table->integer('updated_id')->nullable();
$table->string('updated_name', 255)->nullable();
$table->timestamp('updated_at')->nullable();
$table->integer('deleted_id')->nullable();
$table->string('deleted_name', 255)->nullable();
$table->timestamp('deleted_at')->nullable();
C:\SitesLaravel\connect-cms\htdocs\connect-cms>php artisan migrate --path=database/migrations_option
Migrating: 2022_03_10_221356_create_samples_table
Migrated: 2022_03_10_221356_create_samples_table (0.03 seconds)
Migrating: 2022_03_11_091238_create_sample_posts_table
Migrated: 2022_03_11_091238_create_sample_posts_table (0.03 seconds)
※ これで、データベースが生成されます。
※ データベースを見るツールは各自で勉強してください。
app\ModelsOption\User\Samples ディレクトリの作成
※ ディレクトリ名は複数形
Sample.php を作成
※ ファイル名(クラス名)は単数形
SamplePost.php を作成
※ ファイル名(クラス名)は単数形
app\PluginsOption\User\Samples ディレクトリの作成
plugin.ini ファイルを作成
plugin_name_full の値を修正
SamplesPlugin.php ファイルを作成
resources\views\plugins_option\user\samples ディレクトリの作成
samples_frame_edit_tab.blade.php ファイルの作成
default ディレクトリの作成
- bucket.blade.php
- edit.blade.php
- index.blade.php
- list_buckets.blade.php
- show.blade.php
管理画面 > プラグイン管理
通常の操作でプラグイン配置
システムエラーの場合
storage\logs\laravel.log を見る。
- 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(多言語化の際の注意点)