質問編集履歴

9

タイトル修正

2016/08/29 22:28

投稿

pack
pack

スコア256

test CHANGED
@@ -1 +1 @@
1
- CakePHPでデータベースを利用したi18n。多言語を一括でデータする登録方法
1
+ CakePHPでデータベースを利用したi18n。多言語を一括でデータ登録する方法
test CHANGED
File without changes

8

ソースコード修正

2016/08/29 22:28

投稿

pack
pack

スコア256

test CHANGED
File without changes
test CHANGED
@@ -96,8 +96,6 @@
96
96
 
97
97
  $this->User->locale='jpn';
98
98
 
99
- $this->Title->locale='jpn';
100
-
101
99
  break;
102
100
 
103
101
  default:
@@ -106,8 +104,6 @@
106
104
 
107
105
  $this->User->locale=false;
108
106
 
109
- $this->Title->locale=false;
110
-
111
107
  break;
112
108
 
113
109
  }

7

ソースコード修正

2016/08/29 14:04

投稿

pack
pack

スコア256

test CHANGED
File without changes
test CHANGED
@@ -88,19 +88,27 @@
88
88
 
89
89
  //read cookie, language setting: 'eng' or 'jpn'
90
90
 
91
- if($this->Cookie->read('selectlanguage')){
91
+ switch ($this->Cookie->read('selectlanguage')){
92
-
92
+
93
- $lang = $this->Cookie->read('selectlanguage');
93
+ case 'jpn':
94
-
94
+
95
- Configure::write('Config.language', $lang);
95
+ Configure::write('Config.language', 'jpn');
96
-
96
+
97
- $this->User->locale=$lang;
97
+ $this->User->locale='jpn';
98
+
98
-
99
+ $this->Title->locale='jpn';
100
+
99
- }else{
101
+ break;
102
+
100
-
103
+ default:
104
+
101
- Configure::write('Config.language', 'eng');
105
+ Configure::write('Config.language', 'eng');
102
-
106
+
103
- $this->User->locale='eng';
107
+ $this->User->locale=false;
108
+
109
+ $this->Title->locale=false;
110
+
111
+ break;
104
112
 
105
113
  }
106
114
 

6

文言修正

2016/08/29 14:04

投稿

pack
pack

スコア256

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
- **inputフィールド**
19
+ **登録フォームinputフィールド**
20
20
 
21
21
  username:user1
22
22
 
@@ -62,7 +62,7 @@
62
62
 
63
63
 
64
64
 
65
- - 選択言語に係らず、usernameはusernameに、日本語表示名をi18nテーブルのjpnのcontentに入れたい。
65
+ - 選択言語に係らず、usernameはusernameに、日本語表示名をuser_i18nsテーブルのjpnのcontentに入れたい。
66
66
 
67
67
 
68
68
 
@@ -168,7 +168,7 @@
168
168
 
169
169
  ###現状
170
170
 
171
- - 選択言語により、usernameフィールドに入力された値がi18nのcontentに登録されてしまう
171
+ - 選択言語により、usernameフィールドに入力された値がuser_i18nsのcontentに保存され
172
172
 
173
173
 
174
174
 
@@ -178,7 +178,7 @@
178
178
 
179
179
  $this->User->locale='jpn';
180
180
 
181
- ```の場合、userのusername、i18nのcontent、両方に保存される
181
+ ```の場合、userのusername、user_i18nsのcontent、両方に保存される
182
182
 
183
183
 
184
184
 

5

質問文、追加

2016/08/29 13:53

投稿

pack
pack

スコア256

test CHANGED
File without changes
test CHANGED
@@ -54,6 +54,8 @@
54
54
 
55
55
  最終的に上記のように、データベースに登録を行いたいです。
56
56
 
57
+ i18nの基本的な使い方しか理解しておりませんので、方針などご提案いただければと思います。
58
+
57
59
 
58
60
 
59
61
  ###課題

4

ソースコード修正

2016/08/29 13:46

投稿

pack
pack

スコア256

test CHANGED
File without changes
test CHANGED
@@ -76,7 +76,7 @@
76
76
 
77
77
  public $name = 'Admins';
78
78
 
79
- public $uses = array('User);
79
+ public $uses = array('User');
80
80
 
81
81
 
82
82
 

3

ソースコード修正

2016/08/29 13:10

投稿

pack
pack

スコア256

test CHANGED
File without changes
test CHANGED
@@ -76,6 +76,8 @@
76
76
 
77
77
  public $name = 'Admins';
78
78
 
79
+ public $uses = array('User);
80
+
79
81
 
80
82
 
81
83
  public function beforeFilter() {

2

ソースコード修正

2016/08/29 13:09

投稿

pack
pack

スコア256

test CHANGED
File without changes
test CHANGED
@@ -70,13 +70,19 @@
70
70
 
71
71
  ```php
72
72
 
73
+
74
+
75
+ class AdminsController extends AppController{
76
+
77
+ public $name = 'Admins';
78
+
79
+
80
+
73
81
  public function beforeFilter() {
74
82
 
75
83
  parent::beforeFilter();
76
84
 
77
-
78
-
79
- //read cookie, language setting: 'eng' or 'jpn'
85
+ //read cookie, language setting: 'eng' or 'jpn'
80
86
 
81
87
  if($this->Cookie->read('selectlanguage')){
82
88
 
@@ -94,10 +100,24 @@
94
100
 
95
101
  }
96
102
 
97
-
98
-
99
103
  }
100
104
 
105
+
106
+
107
+ public function add(){
108
+
109
+ if($this->request->is('post')) {
110
+
111
+ $this->User->save($this->request->data);
112
+
113
+ }
114
+
115
+ }
116
+
117
+
118
+
119
+ }
120
+
101
121
  ```
102
122
 
103
123
  ```php
@@ -120,20 +140,6 @@
120
140
 
121
141
  ```php
122
142
 
123
- public function add(){
124
-
125
- if($this->request->is('post')) {
126
-
127
- $this->User->save($this->request->data);
128
-
129
- }
130
-
131
- }
132
-
133
- ```
134
-
135
- ```php
136
-
137
143
  class User extends AppModel {
138
144
 
139
145
  public $name = 'User';

1

現状部分に記載の、動作の修正

2016/08/29 13:07

投稿

pack
pack

スコア256

test CHANGED
File without changes
test CHANGED
@@ -168,7 +168,7 @@
168
168
 
169
169
  $this->User->locale='jpn';
170
170
 
171
- ```の場合、userのusernameは空、i18nのcontentに保存される
171
+ ```の場合、userのusername、i18nのcontent、両方に保存される
172
172
 
173
173
 
174
174