回答編集履歴

1

例の追記

2017/05/10 12:10

投稿

coba-coba
coba-coba

スコア1409

test CHANGED
@@ -17,3 +17,93 @@
17
17
 
18
18
 
19
19
  動的なプレビューが必要な場合も、JavaScriptでCSSを追加・削除しても一時的なものなので、気にする必要はありません。
20
+
21
+
22
+
23
+
24
+
25
+ ---
26
+
27
+ 以下の内容を書いて、そのCSSを読み込みたいページで```<link rel="stylesheet" href="http://example.com/hoges/style"/>```を書くとCSSが読み込まれます。
28
+
29
+
30
+
31
+
32
+
33
+ ```PHP
34
+
35
+ // コントローラー
36
+
37
+ // src/Controller/HogesController.php
38
+
39
+ public function style()
40
+
41
+ {
42
+
43
+ // レイアウトの設定(CakePHP3でもバージョンによって書き方が変わる)
44
+
45
+ // src/Template/Layoutの.ctpファイルを選択
46
+
47
+ // デフォルトは"default"
48
+
49
+ $this->viewBuilder()->setLayout('css');
50
+
51
+ $this->viewBuilder()->layout('css'); // 3.4 以前
52
+
53
+ $this->layout = 'css'; // 3.1 以前
54
+
55
+
56
+
57
+ // CSS用にヘッダーを設定
58
+
59
+ $this->response->header('Content-Type', 'text/css');
60
+
61
+
62
+
63
+ // ビュー(style.ctp)に変数$sizeを渡す
64
+
65
+ $size = 400;
66
+
67
+ $this->set(compact('size'));
68
+
69
+ }
70
+
71
+ ```
72
+
73
+
74
+
75
+ ```PHP
76
+
77
+ // ビュー
78
+
79
+ // src/Template/Hoges/style.ctp
80
+
81
+ h3 {
82
+
83
+ font-size: <?=$size?>%;
84
+
85
+ }
86
+
87
+ ```
88
+
89
+
90
+
91
+ ```PHP
92
+
93
+ // src/Template/Layout/css.ctp
94
+
95
+ // このレイアウトファイルはコントローラーで指定している
96
+
97
+ // デフォルトはdefault.ctp
98
+
99
+
100
+
101
+ @charset "utf-8";
102
+
103
+
104
+
105
+ // ここにビューの内容が出力される
106
+
107
+ <?= $this->fetch('content') ?>
108
+
109
+ ```