ホーム > フォーラム > 開発 > モジュール開発 > XoopsCube2.2 + CakePHP2.0

XoopsCube2.2 + CakePHP2.0
投稿者: wf9a5m75 | 投稿日時: 2011/4/28 3:33 | 閲覧: 6169回
wf9a5m75

3年前に「xoopsCube + CakePHP」(http://xoopscube.jp/forum/5884)というやり方を投稿したのですが、
時代が進んで「XoopsCube2.2 + CakePHP2.0」になったので、そのやり方です。
(自分用の備忘録を含めて投稿します)

基本的にはそんなに変わらなかったでした。
===================================
app/config/core.php

//一番最初に追加
if(!defined('XOOPS_URL')) {
require_once (dirname(__FILE__) . '/../../../../mainfile.php');
}

----
//管理画面のコメントアウトを外す
//Configure::write('Routing.prefixes', array('admin'));
 ↓
Configure::write('Routing.prefixes', array('admin'));

----

Configure::write('Security.salt', XOOPS_SALT);

----
//キャッシュ設定を変更 (この辺は好みで)
//Cache::config('default', array('engine' => 'File'));
 ↓
Cache::config('default',array(
'engine' => 'File',
'path' => XOOPS_TRUST_PATH . '/cache',
'prefix' => dirname(dirname(dirname(__FILE__))).'_'
));

===================================
app/config/database.php

//データベースの設定はmainfile.phpを利用するようにする

define("CAKE_XOOPS_DB_PREFIX", XOOPS_DB_PREFIX."_");
class DATABASE_CONFIG {
public $default = array(
'driver' => XOOPS_DB_TYPE,
'persistent' => false,
'host' => 'localhost',
'login' => XOOPS_DB_USER,
'password' => XOOPS_DB_PASS,
'database' => XOOPS_DB_NAME,
'prefix' => CAKE_XOOPS_DB_PREFIX,
'encoding' => 'utf8',
);
}

===================================
app/config/bootstrap.php

//デバッガの追加
App::import("Core", "Debugger");

===================================
app/controllers/admin_controller.php
(管理画面用のコントローラの作成)

<?php
class AdminController extends AppController {
var $name = "Admin";
function index(){
$this->set("message", "This page is administrator panel.");
}
}
?>
===================================
app/views/admin/index.ctp
(管理画面用のビュー作成)

<?php
echo $message;
?>
===================================
app/views/layouts/default.ctp
(レイアウト作成)

<?php
global $xoopsTpl;
$xoopsTpl->assign('xoops_module_header', $this->Html->css('cake.generic') . $scripts_for_layout);
echo $content_for_layout;
echo $this->element('sql_dump');
?>
===================================
app/webroot/index.php
(xoopsのテーマが適用されるようにする)

//最初の方に定義 (ヘッダー)
$cp_footer=false;
if(!defined('XOOPS_URL')) {
require_once (dirname(__FILE__) . '/../../../../mainfile.php');
}

ini_set("default_charset", "utf-8");
ini_set("mbstring.http_output", "utf-8");
ini_set("mbstring.internal_encoding", "utf-8");
ini_set("mbstring.detect_order", "utf-8");
ini_set("mbstring.substitute_character", "long");
if(strpos($_SERVER['REQUEST_URI'],"admin")){
$cp_footer=true;
include_once XOOPS_ROOT_PATH.'/include/cp_header.php';
include_once XOOPS_ROOT_PATH.'/class/template.php' ;
xoops_cp_header();
}else{
require_once( XOOPS_ROOT_PATH.'/mainfile.php' );
include XOOPS_ROOT_PATH."/header.php";
}
-----

//最後に追加

if($cp_footer){
xoops_cp_footer();
}else{
require XOOPS_ROOT_PATH."/footer.php";
}

===================================

これだけでした。
(といいつつ、cakePHPの開発からは随分と離れていたので、ちょっと手間取りましたけど。)

参考にしてください。

コメント(0)

新しいものから | 古いものから | ネスト表示 | RSS feed

投票(2)

新しいものから | 古いものから | RSS feed
 
    To Top