回答編集履歴

3

補足

2017/07/21 08:16

投稿

popobot
popobot

スコア6586

test CHANGED
@@ -9,3 +9,37 @@
9
9
  * 同じような質問が[StackoverFlow](https://stackoverflow.com/questions/31503332/how-to-include-language-segment-in-the-url-for-links-in-cake-3-0)にありましたので参考にしてください。
10
10
 
11
11
  * また、そのような対応ができそうなプラグイン[cakephp-i18n](https://github.com/ADmad/cakephp-i18n)もありました。
12
+
13
+
14
+
15
+ ----
16
+
17
+
18
+
19
+ **追記** persistオプションがうまく動かないみたいなので、もう少し調べたら、Router::addUrlFilter()方法があるみたいなので載せておきます。(実際には試していません)
20
+
21
+ ```php
22
+
23
+ Router::addUrlFilter(function ($params, $request) {
24
+
25
+ if ($request->param('language')) {
26
+
27
+ $params['language'] = $request->param('language');
28
+
29
+ }
30
+
31
+ return $params;
32
+
33
+ });
34
+
35
+
36
+
37
+ ```
38
+
39
+
40
+
41
+ 参考
42
+
43
+ * [[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)
44
+
45
+ * [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

スコア6586

test 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
 
3
3
  > persist はURLを新規に生成したときに、どのルーティングパラメーターが 自動的にインクルードされるのかを定義するために使われます。 URLで再定義することで一定のパラメーターをオーバーライドしたり、 false に設定することで除去できます。たとえば、 'persist' => array('lang') のように。
4
4
 

1

調整

2017/07/20 21:08

投稿

popobot
popobot

スコア6586

test CHANGED
@@ -1,6 +1,4 @@
1
- 試してはいませんが、connect()の第3引数に'persist' => ['lang']を使いすればうまくいくかもしれません。
2
-
3
- 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)には説明が書いてありました。
4
2
 
5
3
  > persist はURLを新規に生成したときに、どのルーティングパラメーターが 自動的にインクルードされるのかを定義するために使われます。 URLで再定義することで一定のパラメーターをオーバーライドしたり、 false に設定することで除去できます。たとえば、 'persist' => array('lang') のように。
6
4