質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
CMS

CMS(Content Management System)は複数のユーザーでコンテンツを編集することが可能なWebサイトの管理/構築用のプラットフォームを指します。また、会社単位で運用管理するものはECMと呼びます。

Framework

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

353閲覧

Laravel 5.5 の開発環境(windows10)でSimple-CMSがインストールされない

hidepon

総合スコア206

CMS

CMS(Content Management System)は複数のユーザーでコンテンツを編集することが可能なWebサイトの管理/構築用のプラットフォームを指します。また、会社単位で運用管理するものはECMと呼びます。

Framework

Frameworkは、アプリケーションソフトを開発する際に、一般的な機能をより簡単に、より早く完了させる事を目的とした、ソフトウェアやライブラリのセットを指します。開発にフレームワークを使用する事で、追加で必要となる機能だけを開発するだけで済む為、開発効率の向上が見込めます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Vagrant

Vagrantは、VirtualBox上の仮想マシンを コマンドラインから作成してくれるソフトウェアです。 ビルド環境など容易に構築が可能です。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2018/02/01 09:48

編集2018/02/01 10:10

Laravel5.5でSimple-CMSというツールを導入しようと
VPSでインストールしようとしましたが、うまくいかず、
今回、Windowsのローカル環境で設定をしようと考えました。

https://packagist.org/packages/glebstar/laravel5-simple-cms

を参考に設定をしようとしていますが、

composer require glebstar/laravel5-simple-cms

を実行しても、関連するソースがインストールされません。

Composer.json

にはインストールされた履歴が残っています。

VPSと同じ状況で皆目見当がつかず困っています。

ご存知の方がいらっしゃったら教えていただけるでしょうか?

宜しくお願いいたします。

(追記)

Added routes for cms pages with your autorization middleware: Route::group(['prefix' => 'cms', 'middleware' => 'cms'], function(){ Route::get('/', ['as' => 'cms', 'uses' =>'\GlebStarSimpleCms\Controllers\AdminController@index']); Route::match(['get', 'post'], '/add', '\GlebStarSimpleCms\Controllers\AdminController@add'); Route::match(['get', 'post'], '/edit/{id}', '\GlebStarSimpleCms\Controllers\AdminController@edit'); Route::delete('/delete/{id}', '\GlebStarSimpleCms\Controllers\AdminController@delete'); }); // this route should be the last. Route::get('{path}', '\GlebStarSimpleCms\Controllers\CmsController@index')->where('path', '([A-z\d-/_.]+)?');

これはどのrouteファイルに追記すれば良いのでしょうか?
宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

masaya_ohashi

2018/02/01 09:56

関連するソースとはなにを指していますか?vendorフォルダの中にglebstar/laravel5-simple-cmsが生成されていないということですか?
hidepon

2018/02/01 09:58

ご返答有難うございます。えっ?そんなところに入るんですか????角煮してみます。
hidepon

2018/02/01 10:02

あ、ありました。こんなところに入るんですね・・・これをどのように使うんでしょうか?というのが疑問でして。。。とりあえず、ドキュメントの次のステップをしてみます。
guest

回答1

0

ベストアンサー

これはどのrouteファイルに追記すれば良いのでしょうか?

「Added routes for cms pages with your autorization middleware:」
とめっちゃ書いてあるじゃないですか。英語が読めない、という質問ですか?でしたら「あなたの認証ミドルウェアに合わせて、CMSページのルートを追加してください」と書いてあります。あなたがユーザログインを管理しているのであれば「ユーザログイン後でしかアクセスできない位置」に追記するべきです。LaravelのデフォルトのAuthミドルウェアを使っているなら、こんなかんじになるのではないでしょうか。

PHP

1// route/web.php 2Route::group(['middleware' => 'auth'], function() { // ログイン後しかアクセスできない範囲 3 4Route::group(['prefix' => 'cms', 'middleware' => 'cms'], function(){ 5 // 管理者専用ページ 6 Route::get('/', ['as' => 'cms', 'uses' =>'\GlebStarSimpleCms\Controllers\AdminController@index']); 7 Route::match(['get', 'post'], '/add', '\GlebStarSimpleCms\Controllers\AdminController@add'); 8 Route::match(['get', 'post'], '/edit/{id}', '\GlebStarSimpleCms\Controllers\AdminController@edit'); 9 Route::delete('/delete/{id}', '\GlebStarSimpleCms\Controllers\AdminController@delete'); 10}); 11 12}); // ここまで 13 14// これはおそらく「見る人」がアクセスするページなのでauthの外に置く 15// this route should be the last. 16Route::get('{path}', '\GlebStarSimpleCms\Controllers\CmsController@index')->where('path', '([A-z\d-/_.]+)?');

投稿2018/02/01 10:17

編集2018/02/02 04:03
masaya_ohashi

総合スコア9206

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hidepon

2018/02/02 03:23

ご返答有難うございます。 php artisan make:auth php artisan migrate をしたうえでのこのパッケージ導入ということだったんですね!? 突拍子もなく認証と言われたので、デフォルトで入っているのか?と混乱しました。 本当に有難うございます。 このインストール手順で最後までいったのですが、 http://homestead.test/としてもルートで指定されたページを表示できていないようです。 php artisan migrate としても何も変化がなかったのも気になります。 とても悩んでいます・・・ 宜しくお願いいたします。
masaya_ohashi

2018/02/02 04:02

いえ、別にSimple-CMSとAuthは依存関係にはないです。「あなたの認証ミドルウェアに合わせて」ということは、「使ってないならどこに書いてもいい」ということです。といっても、admin操作を未ログインの状態で使えては閲覧者ですら投稿削除が出来てしまうので問題ですので、何らかの認証の中に入れるべきです。 それと、this route should be the last.と書かれたルーティングはauthの外に置かないと「見る人」もログインが必須になってしまうので直したほうがよさそうです。回答も訂正しておきます。 さて、「ページを表示できていない」について詳しく書いてください。真っ白ということでしょうか?migrateで変化がないというのは「既に一度migrateを実行したことがない」上でのことでしょうか?migrateは「以前実行した後に追加されたマイグレーションを実行する」コマンドなので、すでに実行済である場合何も起きません。
masaya_ohashi

2018/02/02 04:07 編集

config/app.phpの$providersにGlebStarSimpleCms\ServiceProvider::classを追加しましたか? その後php artisan vendor:publish --provider="GlebStarSimpleCms\ServiceProvider"は実行しましたか?実行されていればdatabase/migrationsの中にsimple-cms用のマイグレーションファイルが増えているはずです。 その後php artisan migrateを実行しましたか?増えた後でないと動作しません。
hidepon

2018/02/02 04:11

ご返答有難うございます。 そういうことだったんですね・・・ とりあえず、auth をインストールしてログイン管理をできるようにしました。 そして、ログインをして、route のweb.phpにある http://homestead.test/add にアクセスすると、 Sorry, the page you are looking for could not be found. と表示されました。 なのでrouteが効いていないのかな?と。 migrateに関しては、一度実行しているかもしれないです。auth を入れるときに・・・ (関係あるのかな??) migrateすることによってconfig ファイルができるようなので、しているということだと思います。 本当に有難うございます。
masaya_ohashi

2018/02/02 04:15

cmsのaddのURLは/cms/addで頭にcmsが付きます。'prefix' => 'cms'というのは「接頭語」として 「cms」を付けるという処理で、範囲内のパス全ての先頭に/cms/を付けなければならないという意味です。
masaya_ohashi

2018/02/02 04:16

authを入れてmigrateを実行後、simple-cmsをインストールしたならもう一度migrateを実行しなければなりません。今現在database/migrations内にどんなファイルがあるかを書いてください。
hidepon

2018/02/02 04:19

/cms/addで表示されました。有難うございます!!!!!!!!!!!!!!!!いろいろと機能の確認をしていきます。本当に有難うございました!!!!!!!!!!
hidepon

2018/02/02 04:23

それらしい画面が出たのですが、[Class cms does not exist] というエラーが発生しているみたいですね。 いろいろ調査してみます。
masaya_ohashi

2018/02/02 04:34

多分app/Http/Kernel.phpの$routeMiddlewareにcmsという名前のデータが無いからじゃないですかね。simple-cmsでは'middleware'=>'cms'という記載がありますが、gitのコードを見る限りどこにもmiddlewareがないので、もしかしたら'middleware'=>'cms'というサンプルコードの部分はミスかもしれません。調査が必要かと思います。
hidepon

2018/02/02 04:39

有難うございます。テスト環境なのでいろいろと試してみます。 routeのweb.php部分を編集してみます。
hidepon

2018/02/02 04:45

本当にありがとうございます!!! ご指摘のように routeの部分を編集したら表示されました。 Simple-CMSってこういう機能だったんですね・・・、 本当にシンプルwww
masaya_ohashi

2018/02/02 04:49

コードを見る限り「URL」と「文章」を投稿、閲覧が出来る、程度のことしか出来ないように見えますがそんな感じですかね。
hidepon

2018/02/02 04:57

なんかイマイチですね・・・画像アップロードができないような...orz、ローカルの画像を指定できないような感じです。動きもどうも・・・・(自分の設定が悪いからかもしれませんが・・・・)
masaya_ohashi

2018/02/02 05:03

まああとはご自分で使い方をお調べください。
hidepon

2018/02/02 05:05

はい!有難うございます。多分、使えないような気がしてきました。でも、他のCMSを導入する際の勉強にはなったかと思います。 有難うございますう!!!!!
masaya_ohashi

2018/02/02 05:11

とりあえず今回の質問のやり取りで浮き彫りになったものをちゃんと勉強してくださいね。 - composerがなにをしてくれるのか - migrateとはなにか - middlewareとはなにか - routingとはなにか この辺の基礎的なことは https://readouble.com/laravel/ に全てありがたいことに日本語で書かれています。いきなりプラグイン的なものを導入するのではなく、まず素のLaravelが扱えるようになってからにしましょう。
hidepon

2018/02/02 05:16

ご指摘有難うございます。 middlewareってのがモヤモヤしていて良く分かっていないかもです。 しっかり理解できるようにします。 本当に有難うございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問