Upload
-
View
1.836
Download
2
Embed Size (px)
Citation preview
CakePHPCakePHPCakePHPCakePHPでつくる地域SNSSNSSNSSNS~全国40404040ヶ所以上で展開する地域SNSSNSSNSSNSのシステム~
CakeMatsuri2009.10.31 あつ
■ 名前 あつ
■ 所属 株式会社 一六社(いちろくしゃ)
■ ブログ WEBWEBWEBWEBで地域活性化
CakePHPCakePHPCakePHPCakePHPクッキング
なぜCake?Cake?Cake?Cake?
地域SNSSNSSNSSNS高蔵寺
http://kozoji.chiikisns.net/http://kozoji.chiikisns.net/http://kozoji.chiikisns.net/http://kozoji.chiikisns.net/
地域SNSSNSSNSSNS加子母(かしも)
http://sns.kashimo.net/http://sns.kashimo.net/http://sns.kashimo.net/http://sns.kashimo.net/
地域SNSSNSSNSSNS鵠沼(くげぬま)
http://sns-kugenuma.sapio16.jp/http://sns-kugenuma.sapio16.jp/http://sns-kugenuma.sapio16.jp/http://sns-kugenuma.sapio16.jp/
今日話すこと
ドメインが
ばらばらな
サイトの作り方
・http://kozoji.chiikisns.net/http://kozoji.chiikisns.net/http://kozoji.chiikisns.net/http://kozoji.chiikisns.net/・http://sns.kashimo.net/http://sns.kashimo.net/http://sns.kashimo.net/http://sns.kashimo.net/・http://sns-kugenuma.sapio16.jp/http://sns-kugenuma.sapio16.jp/http://sns-kugenuma.sapio16.jp/http://sns-kugenuma.sapio16.jp/
ドメインが
ばらばら
WEBWEBWEBWEB+DBDBDBDB(PostgreSQLPostgreSQLPostgreSQLPostgreSQL)
appappappapp
地域SNSSNSSNSSNS高蔵寺ドキュメントルート
CakeCakeCakeCake
cakecakecakecake
appappappappCakeCakeCakeCake
cakecakecakecake
地域SNSSNSSNSSNS加子母ドキュメントルート
こんな感じではなく
webrootwebrootwebrootwebrootappappappapp
地域SNSSNSSNSSNS高蔵寺
地域SNSSNSSNSSNS加子母
コピー
CakeCakeCakeCake本体
各地域SNSSNSSNSSNSのドキュメントルート
/index.php/index.php/index.php/index.php<?php if (!defined('ROOT')) { define('ROOT', '/path_to_cake_install'); } if (!defined('APP_DIR')) { define('APP_DIR', 'app'); }
デザインも
ばらばら
そもそもなんで
そんなに
ばらばら?
でもレイアウト
ファイルって
編集できる?
レイアウトファイル
<body> :[main_contents] :[sub_contents] :
app/app_controller.phpapp/app_controller.phpapp/app_controller.phpapp/app_controller.phpfunction afterFilter(){ $this->layout = null; $this->output = file_get_contents('各SNSのレイアウト'); $this->output = str_replace('[main_contents]', $contents, $this->output);}
苦労した点
苦労した点?
Controller:20Controller:20Controller:20Controller:20Model:22Model:22Model:22Model:22View:172View:172View:172View:172
30303030日でできた
OpenidComponentOpenidComponentOpenidComponentOpenidComponentQdmailComponentQdmailComponentQdmailComponentQdmailComponent
日本語化ツール
アソシエーション
で苦戦
$this->Model->query($this->Model->query($this->Model->query($this->Model->query('select 'select 'select 'select **** from TableA'); from TableA'); from TableA'); from TableA');
そんな時はjoinsjoinsjoinsjoins
$joins$joins$joins$joins = array( = array( = array( = array( array( array( array( array( 'table' => 'model_c', 'alias' => 'ModelC', 'type' => 'INNER', 'table' => 'model_c', 'alias' => 'ModelC', 'type' => 'INNER', 'table' => 'model_c', 'alias' => 'ModelC', 'type' => 'INNER', 'table' => 'model_c', 'alias' => 'ModelC', 'type' => 'INNER', 'conditions' => 'ModelC.aid = ModelA.id' 'conditions' => 'ModelC.aid = ModelA.id' 'conditions' => 'ModelC.aid = ModelA.id' 'conditions' => 'ModelC.aid = ModelA.id' ), ), ), ), array( array( array( array( 'table' => 'model_b', 'alias' => 'ModelB', 'type' => 'INNER', 'table' => 'model_b', 'alias' => 'ModelB', 'type' => 'INNER', 'table' => 'model_b', 'alias' => 'ModelB', 'type' => 'INNER', 'table' => 'model_b', 'alias' => 'ModelB', 'type' => 'INNER', 'conditions' => 'ModelB.id = ModelA.bid' 'conditions' => 'ModelB.id = ModelA.bid' 'conditions' => 'ModelB.id = ModelA.bid' 'conditions' => 'ModelB.id = ModelA.bid' ) ) ) )););););$params = array($params = array($params = array($params = array( 'conditions' => array('ModelA.flg' => 0, 'ModelB.flg' => 0, 'conditions' => array('ModelA.flg' => 0, 'ModelB.flg' => 0, 'conditions' => array('ModelA.flg' => 0, 'ModelB.flg' => 0, 'conditions' => array('ModelA.flg' => 0, 'ModelB.flg' => 0, 'ModelC.cid' => $cid 'ModelC.cid' => $cid 'ModelC.cid' => $cid 'ModelC.cid' => $cid ), ), ), ), 'joins' => $joins, 'joins' => $joins, 'joins' => $joins, 'joins' => $joins,););););$data = $this->ModelA->find('all', $params);$data = $this->ModelA->find('all', $params);$data = $this->ModelA->find('all', $params);$data = $this->ModelA->find('all', $params);
今後の予定
Ktai LibraryKtai LibraryKtai LibraryKtai Library
ありがとう
ございました