管理画面の全体設定からアップロード先を指定する。Laravel」を上手く連携させたサイト構築について検討しました。使い回せる構成になったかなと思いますので、noteに残したいと思います。今回は、基本構造及び設定まわりと検討箇所について触れていきたいと思います。1,MT:CMSテンプレートからLaravel:bladeテンプレート(ビューテンプレート)を更新する構造を検討MTで登録した記事に対して、ログインユーザーのアクション機能を持たせる必要があったため、CMSテンプレート内に必要なPHPでの処理を記載したうえで、.htmlファイルではなく、.blade.phpファイルとして書き出す設定を行います。そのためMT/Laravelのインストールディレクトリ構造についても検討する必要がありました。実際の手順は以下です。※下記ディレクトリ構造はテスト用ですので、ディレクトリ名とドメインは、任意で名称を変更してください。https://www.product.jp※ルーティング設定はLaravel側で行いますMTとLaravelディレクトリを同階層に設置すると、MTテンプレートからLaravelテンプレートを編集できないため、公開ディレクトリ(Laravel)をMTのルートディレクトリ配下に設置する必要があります。今回、TOPや記事詳細用インデックステンプレートは、PHPの処理を記載するため、MTから直接Laravelのビューテンプレートを編集する必要があり、.htmlではなく.blade.phpで出力させます。記事詳細ページ記事詳細はhttps://resources/views/category01/20200101987654.blade.phpのように出力されます。category01は記事に設定されたカテゴリーで、数字部分は、2020(年)01(月)01(日)987654(記事ID番号)で出力されます。cssファイルはpublic/assets/css配下、js,jsonファイルはpublic/assets/js配下に配置します。header,footerテンプレはMTのグローバルテンプレートを使い、各テンプレにインクルードさせます。file="/resources/views/parts/header.blade.php"$>のようにインクルードさせてください。(2),MTテンプレート内のパーマリンク設定パーマリンクタグ「<$mtEntryPermalink$>」内に置換用のモディファイアを設定しないと、https://resources/views/category01/20200101987654.blade.phpのように、/resources/views/と.blade.phpが置換されていないまま出力されてしまうので、遷移されません。そのため、MTのregex_replaceモディファイアを使って、パーマリンクタグ内に以下の記述をいれて置換させます。regex_replace="/.blade.php/",""出力すると、/resources/views/と.blade.phpが置換されて、https://test.product.jp/category01/20200101987654のようになります。ドキュメントサイトモディファイアを付与したファンクションタグの値に対して、正規表現を利用して検索文字列を置換文字列で置き換えます。www.movabletype.jp2,MT管理画面からのアップロードファイル(assets類)の設置場所を検討MTディレクトリとLaravelディレクトリを同階層にした時のassetsファイルのアップロード先は、サイトパス/yyyy/mm/ddで設定していましたが、1でMTを公開ディレクトリの上位ディレクトリにインストールしたため、MTの管理画面からassets類のアップロード先をLaravelディレクトリ配下に格納する必要があります。管理画面の全体設定からアップロード先を指定する。MT管理画面からassets類をアップロードするファイルのアップロード先を%s/public/assets/upload/%y/%m/%d配下に格納するようにします。%d(日)※アップロード先は、任意で変更してください。管理画面の全体設定から、アップロード先をキャプションのように設定してください。↓(2),サムネイルのアップロード先設定<$mt:AssetURL$>タグで生成されたサムネイルのアップロード先は、/public/assets_c配下に格納する設定が必要なため、mt-config.cgiファイルの最下部に以下の記述をいれる。ドキュメントサイトアイテムのキャッシュディレクトリ名を設定します。「アップロード時に変更を許可する」、「画像の向きを自動的に修正する」はチェックを外しておいてください。↓まとめMTとLaravelを連携させたサイト構築は初めての経験でした。Laravelとの兼ね合いもあり、ディレクトリ設定やassets類のアップロード先の設定に苦戦しました。今回は、アップロード先を%s/public/assets/upload/%y/%m/%d/配下に格納されるように設定しました。そこまで細かくする必要がないかと思われますが、こちらの設定の方が、何年,何月,何日に何が格納されたのかが、把握しやすいようになっています。タグ検索結果や管理画面のプレビューについては別途検討しなければいけないことがあり解決策もまとまったのですが、そこはいずれ書きたいと思います。参考にしてみてください!ダウンロード#Laravel#movabletypeこの記事が気に入ったら、サポートをしてみませんか?気軽にクリエイターを支援できます。CTO的な何か【デザイナー向け】Lottieの使い方。OkudaFigmaの使い方、全力でまとめました。クリエイターへのお問合せnoteカイゼン目安箱クリエイターの。