Examples Bootstrap Version 4.5.2 + FriendsOfCake/bootstrap-ui
$ cd ~/path/to
$ composer create-project --prefer-dist cakephp/app my_app_name
今回はbootstrap4を使うので friendsofcake/bootstrap-ui dev-develop
を使います。
$ cd my_app_name
$ composer require friendsofcake/bootstrap-ui dev-develop
$ composer require phpoffice/phpspreadsheet
他に必要なものがあればインストールします。
$ bin/cake plugin load BootstrapUI
次のコマンドは node.js がない環境だと失敗する
$ bin/cake bootstrap install
node.js が実行できる環境で bin/cake plugin load BootstrapUI
までを実行後bin/cake bootstrap install
を実行しますと、jquery
やboostrap
がvendor/friendsofcake/bootstrap-ui
以下にインストールされます。今回はbootstrap@4.3.1
とjquery@3.4.1
、popper.js@1.15.0
がインストールされました。これを、
実行環境のvendor/friendsofcake/bootstrap-ui
にコピーします。
次に
$ bin/cake bootstrap modify_view
$ bin/cake bootstrap copy_layouts
では早速、users
をbakeしてみましょう。
$ bin/cake bake all users -t BootstrapUI
-t BootstrapUI
を付けてbake
するとベイクテンプレートを使用できます。
このままだと、login
メソッドがありませんのでUsersController
にlogin
メソッドを足しましょう。
/**
* login method
*
* @return null
*/
public function login()
{
if ($this->request->is('post')) {
$user = $this->Auth->identify();
if ($user) {
$this->Auth->setUser($user);
return $this->redirect($this->Auth->redirectUrl());
}
$this->Flash->error('ユーザー名またはパスワードが不正です。');
}
$user = $this->Users->newEntity();
$this->set(compact('user'));
}
/**
* logout method
* @return null
*/
public function logout()
{
$this->Flash->success('ログアウトしました。');
return $this->redirect($this->Auth->logout());
}
もう一度今度はtemplate
でbake
します。
bin/cake bake template users -t BootstrapUI
すべて(n)で答えると、login.ctp
が追加されています。