質問するログイン新規登録

回答編集履歴

3

補足

2017/07/21 08:16

投稿

popobot
popobot

スコア6588

answer CHANGED
@@ -3,4 +3,21 @@
3
3
 
4
4
  **その他の参考**
5
5
  * 同じような質問が[StackoverFlow](https://stackoverflow.com/questions/31503332/how-to-include-language-segment-in-the-url-for-links-in-cake-3-0)にありましたので参考にしてください。
6
- * また、そのような対応ができそうなプラグイン[cakephp-i18n](https://github.com/ADmad/cakephp-i18n)もありました。
6
+ * また、そのような対応ができそうなプラグイン[cakephp-i18n](https://github.com/ADmad/cakephp-i18n)もありました。
7
+
8
+ ----
9
+
10
+ **追記** persistオプションがうまく動かないみたいなので、もう少し調べたら、Router::addUrlFilter()方法があるみたいなので載せておきます。(実際には試していません)
11
+ ```php
12
+ Router::addUrlFilter(function ($params, $request) {
13
+ if ($request->param('language')) {
14
+ $params['language'] = $request->param('language');
15
+ }
16
+ return $params;
17
+ });
18
+
19
+ ```
20
+
21
+ 参考
22
+ * [[CakePHP]URLクエリを自動で引き継ぎたい](https://anz-note.tumblr.com/post/139972446191/cakephpurl%E3%82%AF%E3%82%A8%E3%83%AA%E3%82%92%E8%87%AA%E5%8B%95%E3%81%A7%E5%BC%95%E3%81%8D%E7%B6%99%E3%81%8E%E3%81%9F%E3%81%84)
23
+ * [Cakephp 3 routing with language parameter](https://stackoverflow.com/questions/31365260/cakephp-3-routing-with-language-parameter)

2

誤字

2017/07/21 08:15

投稿

popobot
popobot

スコア6588

answer CHANGED
@@ -1,4 +1,4 @@
1
- 試してはいませんが、connect()の第3引数に'persist' => ['lang']を使いすればうまくいくかもしれません。CakePHP3のマニュアルにはありませんが、[2系のマニュアル](https://book.cakephp.org/2.0/ja/development/routing.html#api)には説明が書いてありました。
1
+ 試してはいませんが、connect()の第3引数に'persist' => ['lang']を指定すればうまくいくかもしれません。CakePHP3のマニュアルにはありませんが、[2系のマニュアル](https://book.cakephp.org/2.0/ja/development/routing.html#api)には説明が書いてありました。
2
2
  > persist はURLを新規に生成したときに、どのルーティングパラメーターが 自動的にインクルードされるのかを定義するために使われます。 URLで再定義することで一定のパラメーターをオーバーライドしたり、 false に設定することで除去できます。たとえば、 'persist' => array('lang') のように。
3
3
 
4
4
  **その他の参考**

1

調整

2017/07/20 21:08

投稿

popobot
popobot

スコア6588

answer CHANGED
@@ -1,5 +1,4 @@
1
- 試してはいませんが、connect()の第3引数に'persist' => ['lang']を使いすればうまくいくかもしれません。
2
- CakePHP3のマニュアルにはありませんが、[2系のマニュアル](https://book.cakephp.org/2.0/ja/development/routing.html#api)には説明が書いてありました。
1
+ 試してはいませんが、connect()の第3引数に'persist' => ['lang']を使いすればうまくいくかもしれません。CakePHP3のマニュアルにはありませんが、[2系のマニュアル](https://book.cakephp.org/2.0/ja/development/routing.html#api)には説明が書いてありました。
3
2
  > persist はURLを新規に生成したときに、どのルーティングパラメーターが 自動的にインクルードされるのかを定義するために使われます。 URLで再定義することで一定のパラメーターをオーバーライドしたり、 false に設定することで除去できます。たとえば、 'persist' => array('lang') のように。
4
3
 
5
4
  **その他の参考**