コンポーザーでページパスを指定できるように改変

2012年5月14日 at 1:35

下記の事項は自分のサイトのみでテストしていますので導入は自己責任でお願いします。

今後のバージョンは不明ですが 5.5.2.1.ja までのバージョンのコンポーザー機能にはページパスを設定できず、ページタイトル(名前)がページパスになってしまうため、タイトルを日本語にすると日本語URLになってしまいます。それを防ぐためページパスを指定できるようにしてみました。

インストール方法
まず、添付のファイルをオーバーライドさせてください。、
controllers フォルダの中身を ルートのcontrollersフォルダへアップ
single_pages フォルダの中身を ルートのsingle_pages フォルダへアップ
それだけで使用可能です。

使い方
「コンポーザー」 -> 「書く」 の画面にページパスという項目を追加しています。ページパスが空白の場合は「名前」がページパスに設定されるようにしています。

ソースは5.5.2.1.jaのものを使用しています。動作確認も自分の5.5.2.1.jaのページで行っております。一応テストはしていますが もしかすると、とんでもないバグがひそんでるかもしれません。導入は自己責任でお願いします。

・動作確認してくださる方。
・パッケージ化してくださる方。
いらっしゃいましたらよろしくお願いします。

添付: composer.zip
タグ:

Re: コンポーザーでページパスを指定できるように改変

2012年5月15日 at 22:48
コンポーザーの下書きは本番のページと同じ様に保存され、pagepathテーブルには登録されないのでページとして扱われないようです。ということは新規ページ作成画面と同じようにページパスを指定する項目を作ってあげれば問題なく機能するはず。。。。。

テストしてくださる方募集していまーす。
 

Re: コンポーザーでページパスを指定できるように改変

2012年5月17日 at 11:51
お。これいいですね!
ちょっと、本家にも Push したいかも・・・。
 

Re: Re: コンポーザーでページパスを指定できるように改変

2012年5月18日 at 18:43
できればプルリクエストしたいと思っています。コメントのサポートお願いします。
英語版でもテストしたのですが、動作には問題は無いです。たぶん。。。。。。

下記の通りテストしました。


コンポーザー 標準搭載の「ブログ記事」で

名前を「マルチバイト文字」
ページパスを空白
結果 名前・ページパスとも「マルチバイト文字」

名前を「マルチバイト文字」
ページパスを「マルチバイト」
結果 名前「マルチバイト文字」 ページパス「マルチバイト」

名前を「single_moji」
ページパスを空白
結果 名前・ページパスとも「single_moji」

名前を「single_moji」
ページパスを「single」
結果 名前「single_moji」 ページパス「single」


問題としては、英語版のコンポーザーではなく新規ページ作成の「名前」の欄が半角文字だとページパスにコピーされるjavascriptが記述されています。その部分は本家に任せたいとおもっています。
 

Re: コンポーザーでページパスを指定できるように改変

2012年8月19日 at 8:04
今頃ですが、、、、
5.5.2.1.ja+さくらの環境で使ってみました。
問題なく動いております!大助かりです!
ありがとうございました。
 

Re: コンポーザーでページパスを指定できるように改変

2012年8月19日 at 13:32
お役に立ててよかったです。
次回バージョン5.5.6からは標準で実装される予定ですので
バージョンアップされる際にはご注意ください。