2016年8月の記事一覧
レスポンシブデザインについて
このサイトは『株式会社オープンソース・ワークショップ』さんが配布されている『NetCommons2レスポンシブ対応カスタマイズ』を使ってスマホやタブレットに対応させてデザインしました。
Netcommonsをレスポンシブ対応させたい方は、ダウンロードして組込んでみてください。
使いたいモジュールがレスポンシブに対応していない場合や、AppleのRetinaディスプレイに対応させるには若干の修正が必要になる場合もあります。
派手さはありませんがコーポレートサイトに使えるように、テンプレートをカスタマイズしましたので、これから納品するNetcommonsのサイトに積極的に使ってまいります。
(レシポンシブ対応したNetCommons2のサイト)
複数の Netcommons を違う階層に設置する
他のCMSを使った既存サイトに同じネットコモンズを導入する場合、階層の指定方法が面倒だったります。他にも複数のネットコモンズを別の階層に設置したい事もあるでしょう。
そんな時に困るのはフレームワークの「maple」とコア「webapp」のディレクトリを設定方法ですね。出来れば共用しておけばバージョン管理も楽になる。
そんな訳でこんな構成にするために設定ファイルを書き換えてみました。
├webappコア(共用)
│
└htdocsメインサイト公開ディリクトリ(サーバーで変わる)
├index.php
├ css.php
├ js.php
├ js JavaScript用言語別ファイル
├ images イメージディリクトリ
├ themes イメージディリクトリ
├ install イメージディリクトリ
│
└SubSiteサブサイト公開ディリクトリ
├index.php
├ css.php
├ js.php
├ js JavaScript用言語別ファイル
├ images イメージディリクトリ
├ themes イメージディリクトリ
└ install イメージディリクトリ
・mapleとwebappは共用する。
・サイト毎に違うデータベースを使用する。
こんな感じになるようにしました。
■ /webapp/config/install.inc.php の編集
共用で使える様にいくつか定数を指定しなおします。
1)ベースのURL値
define('BASE_URL', 'http://hogehoge.hoge');
↓
if(!defined("BASE_URL")){ define('BASE_URL', './'); }
BASE_URLは index.php の方で指定するので、とりあえずコレで動く事は動くはずです。
2)NetCommonsのBaseディレクトリの設定(ソース格納場所)
if(!defined("BASE_DIR")){
define('BASE_DIR', dirname(START_INDEX_DIR));
}
↓
if(!defined("BASE_DIR")){
define('BASE_DIR', '/home/userdir' );
}
ベースディリクトリはフルパスを直書きした方が安定してます。
3)データベース設定値変更
define('DATABASE_DSN', 'mysql://user:pass@hostname/databasename');
↓
define('DATABASE_DSN', 'mysql://user:pass@hostname/'.DATABASE_NAME);
データベース名はindex.phpで指定しておきます。
define('DATABASE_PREFIX', 'prefix_');
↓
//define('DATABASE_PREFIX', 'prefix_');
プレフィックスはindex.phpで指定するので、コメントアウトしておきます。
■ 各サイトの index.php の編集
1)「NetCommonsの設定ファイルの読込み」の前に定数を追加しておく。
define('DATABASE_PREFIX', 'prefix_');
define('DATABASE_NAME', 'databasename');
まずデータベースの定数を指定します。
define('BASE_DIR', '/home/userdir');
mapleとwebappがあるディリクトリをフルパスで指定する。
define('BASE_URL', 'http://hogehoge.hoge');
サイト毎のURLを記載する。
2)NetCommonsの設定ファイルの読込み
define('INSTALLINC_PATH', dirname(START_INDEX_DIR) . "/webapp/config/install.inc.php");
↓
define('INSTALLINC_PATH', BASE_DIR . "/webapp/config/install.inc.php");
設定ファイルの指定方法を変更しておく。
以上こんな感じで動作すれば大丈夫です。ただ、追加インストールすれば install.inc.php が上書きされてしまうので、追加インストールする場合には留意しておいてください。