ログイン

2016年3月 弊社ホームページは新しくなりました。 https://thinkridge.com

メインメニュー

携帯公式サイト


携帯電話をもっと便利に
もっと楽しく


史上初の吹奏楽専門着メロサイト


POPで癒しでライトでとんがって気持ちのいい〜オルゴール着メロをあなたに

Magome

クラウドベースの MIDI シーケンサ Magome

音楽制作に興味のある方を対象に、スタンドアロンでも使え、ネットならではの面白さも兼ね備えた音楽制作アプリの提供を目指しています

for 携帯電話

https://thinkridge.com/m/
ケータイはこちらへ

2014年7月24日(木曜日)

magome のサイトを xoops cube で刷新

カテゴリー: - takatsuka @ 00時21分51秒

magome のサイトを xoops cube を使ったものに刷新しました。

ユーザー登録&管理の仕組みを自前で組むのは手間かかりそうだし、便利なプラグイン(モジュール)がそのまま使えるのはラクだなという理由です。 ラクな分カユいとこに手が届きづらくなるデメリットはきっとあると思うんですが、それを帳消しに出来るほどのメリットがあると思いました。開発者の方々には感謝です。

で、今後もモジュール開発をするであろう主に未来の自分用にメモを残しておこうと思いました。間違いとかあればぜひご指摘頂ければ幸いです。

ノウハウメモ

DB

  • テーブル作成は、"モジュール/sql/mysql.sql” を用意して SQL を書く。それを、xoops_version.php の$modversion[’sqlfile’][’mysql’] = “sql/mysql.sql”; って指定。
    • なので、それを反映させるには、モジュールの再インストールが必要。
    • なお、$modversion[’tables’][index] = “テーブル名” への反映もしないと、モジュールアンインストール時にテーブルを削除してくれない。
    • ここで書くテーブル名は、そのまま採用されるわけではなく、プリフィックスが付加される。なのでDB操作時のSQL文でも、プリフィックスの考慮を忘るべからず。
  • DB操作は、$xoopsDB っていう変数のメンバを使うべし。
  • $xoopsDB->queryF( $query ) は、UPDATE系でコールすべし。それ以外は $xoopsDB->query( $query ) を使うべきっぽい。

preload

  • XOOPS_ROOT 直下の preloadフォルダ と、モジュールの下の preloadフォルダ では動作が違う。全ページに影響させたい場合は XOOPS_ROOT 直下の preloadフォルダ に置くべきっぽい。(が、このあたりは全然把握不足)

REST

  • XMLとかJSONを返すようなwebサービスのページを作りたい場合、そのページの最後の「include XOOPS_ROOT_PATH."/footer.php”;」をコールせずに、自前でechoすれば良いっぽい。(が、お作法的に正しいのかわからない)

表示

条件によって左右のサイドバーとかを非表示にしたい。

  • 各領域の表示をON,OFF出来るような条件文を書いたテーマを自前で用意して対応する。(が、もっとスマートな方法があるのかもしれない。)

テンプレート

  • smartyの書式は「<{○○}>」で括るべし。

トラブったメモ

  • 日本語が表示されない。日本語のlanguageファイルが無視される。
    • UTF8 が標準文字コードっぽいので、languageファイル は 「japanese」ではなく「ja_utf8」になる。(本来は「english」も含めた3種を用意すべき?)
  • テンプレートファイルを編集してもページが変わらない。
    • テンプレートを書き換えたらモジュールのアップデートが必要。もっと手軽な方法があるなら知りたい。
  • モジュールのアンインストールしたとき、作ったテーブルを削除してくれない。
    • xoops_version.php の $modversion[’tables’][index] = “テーブル名” の記述が漏れてるか確認。

2013年8月18日(日曜日)

ホームページの引っ越し

カテゴリー: - takatsuka @ 21時36分59秒
  • ホームページの引っ越し。 ホームページの引っ越しというかPHP&MySQLのバージョンアップをしてみました。 XOOPSを使わせて頂いておりますが、ちょっと一筋縄では行かないとこがあったので、そのへんの備忘録を兼ねて。
    1. DBのバックアップを取る。phpMyAdmin を使った。
    2. PHPを 5.2 → 5.4 に変更
    3. MySQL を 4.x → 5.5 に変更
    4. phpMyAdminで、DBを復元
      1. 新DB は全て ujis を選択して使う。
      2. 復元するときに logcounterx まわりでエラー。 → 原因はわからんが、アクセスのログなので重要ではなさげと思って復元をあきらめた。
      3. 復元するときに CREATE TABLE でエラー。TIMESTAMP(14) を TIMESTAMP に変更。
    5. XOOPSの設定ファイル(mainfile.php )を変更。DBのホスト名やDB名、パスワード等。
    6. 文字化け対策に、/class/database/mysqldatabase.php 236行目付近の$result =& mysql_query($sql, $this->conn); の上に mysql_query("SET CHARACTER SET ujis”, $this->conn); を追加
    7. PHP5.4で、htmlspecialchars のデフォルト引数が変更されたようなので、コード上の全ての htmlspecialchars の引数を明示的に指定するように変更。
      • 旧PHPと同じ動作をするデフォルト引数付きの関数を用意して関数をそっちに全置換(という手抜き対応)。
      • 注意点として、$var->htmlspecialchars みたいな箇所があるが、よくわからんので、ここは変更しない。
    8. tinyd のコンテンツの対応
      1. コンテンツファイルが EUC-JP になってないものが表示されなくなったので、EUC-JPで保存し直し。
      2. コンテンツファイルによっては文字が化けるみたいなので、頭のほうに <!– <p>ページ文字化けしないように</p> –> みたいな文を挿入。原因はよくわからんがこれで文字化けは消えた。
      3. ページラップ mod_rewrite が動作しなくなった。原因はよくわからんので、WRAP2 に変更してお茶を濁す。

2013年7月7日(日曜日)

PHP の文字列に埋め込む

カテゴリー: - takatsuka @ 20時50分48秒
class Database
{
  const dbName = 'user';
  const column = 'id';

  public function __construct()   {     ・・・     $query = "CREATE TABLE {self::dbName} ({self::column} INT)";     ・・・   } };

PHP で、↑のように、文字列定義の中にオブジェクト定数を埋め込む記述が出来ないものか、けっこう調べてみたけど、今は出来ないっぽい。無念。

オブジェクト定数だけじゃなく、関数コールを埋め込みたいとか、ユーザーの要求があるんじゃなかろうかという気がするので、 PHP のバージョンアップでそのうち対応してくれることを期待しよう。と思った次第。


32 queries. 0.028 sec.
Powered by WordPress Module based on WordPress ME & WordPress

カレンダー
2024年 4月
« 11月    
 123456
78910111213
14151617181920
21222324252627
282930  
月別過去ログ
カテゴリ一覧
検索
最近の投稿
最近のコメント
投稿者ブロック