実験として記事をSQLiteで取り出すタイプ。記事を作成してSQLiteに登録するのは面倒で、
実際に運用する場合、記事はファイルとした方が楽そう。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
#container{ margin: 0 auto; width: 970px; } #header{ background-color:green; height: 100px; } #left{ float: left; height: 500px; width: 80%; background-color: grey; } #right{ float: left; height: 500px; width: 20%; background-color:blue; } #footer{ background-color:pink; height: 100px; clear: both; } |
1 2 3 |
RewriteEngine on RewriteCond $1 !^(index\.php|style.css) RewriteRule ^(.*)$ /c/index.php/$1 [L] |
コントローラ
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
<?php /* 外部CSSを読み込む方法。 $this->load->helper('URL') を設定。 $config['base_url'] = 'http://localhost/c'; を設定。 .htaccessでstyle.cssをrewriteから除外設定。 header.phpで <link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>style.css"> とする。 config.phpを変更したくない場合 controller側から絶対パスを変数経由で渡してしまうの一つ方法(共通化できる)。 あるいは、header.phpに直接書いてしまう。 何れにせよ.htaccessでrewriteからの除外は必要。 */ class Vba extends CI_Controller { public function __construct(){ parent::__construct(); $this->load->model('Content'); } public function page($page="1"){ $val['url'] = "http://localhost/c/"; $val['content'] = $this->Content->loadContent($page); $this->load->view('templates/header',$val); $this->load->view('pages/body',$val); $this->load->view('templates/footer'); } } |
モデル
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
<?php class Content extends CI_Model { public function __construct() { $this->load->database(); } public function loadContent($i) { if (empty($i)) { $query = $this->db->get('tbl'); return $query->result_array(); } else { $query = $this->db->get_where('tbl', array('id'=>$i)); return $query->result_array(); //return $query->row_array(); } } } |
ビュー
1 2 3 4 5 6 7 8 9 10 11 12 |
<div id="container"> <div id="header">タイトル</div> <div id="left"> <?php foreach($content as $c): ?> <?php echo $c['article']; ?> <?php endforeach; ?> </div> <div id="right">サイドバー</div> <div id="footer">フッター</div> </div> |
1 2 3 4 5 6 7 8 |
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="<?php echo $url; ?>style.css"> <title>タイトル</title> </head> <body> |
1 2 3 |
<script src="https://code.jquery.com/jquery-2.2.4.min.js" integrity="sha256-BbhdlvQf/xTY9gja0Dq3HiwQF8LaCRTXxZKRutelT44=" crossorigin="anonymous"></script> </body> </html> |