[xcl] xCCK周りのアレコレ備忘録

 初心者すぎてアレな管理人が、 Xoops Cube Legacy 2.2 系で新しくサイト作ろうってんで、あれこれ試してた xCCK 周りの備忘録。
 超初歩的な話なんだと思うけど、メモっとかないと忘れちゃいそうなくらいダメな人なので(笑)

xCCK を使おう!

 そもそも xCCK って何やねん? という話からすると、これは “XOOPS Cube Content Creation Kit” の略号……の様子。こいつはデータベースの基本的な管理機構である CRUD (Create Read Update Delete) を、レコードだけでなくフィールドでも行えちゃう。それによって、コンテンツ毎の「項目」まで作ったり消したり編集したりできるというスグレモノ。

 以前はオジサン、あれですよ /pico とかで静的ページちまちま作ってたですよ。
 思えば遠くに来たものだ(笑)

 ……ということで、自分はテキスト系のサイトを作る予定なので、こいつは願ったり叶ったりなのです。
 別にテキスト系に限らず使えるんだけどね。
 まあそれは後にしよう。

まずはインストール!

 とりあえずインストールしなけりゃ始まらない。
 ……ということで、まずはダウンロード。

  • xCCK

 落としたファイルを解凍すると /html と /xoops_trust_path に分かれていて……と、まあこの辺は XCL2.1 の頃から使ってれば分かると思うんだけど。
 基本はファイルをアップロードしてから、管理画面の「モジュールのインストール」で入れていけば OK!
 /html 側はディレクトリ名を変えればナンボでも入れられます。

 ただちょっと注意点があるのでメモ。

/html 側のディレクトリ命名のタブー

 xoops_trust_path 側に本体を置いて、 /html 側はコピーでナンボでも増やせるこのモジュール。
 でも /html 側のディレクトリ名にも注意が必要です。

  • “_” (アンダーバー) はタブー : これは XCL 全般の基本ルールだそうです。
  • 大文字もタブー : これはサーバ側の case insensitive の問題。Win/Mac なら問題ないけど UNIX サーバだと大文字小文字を区別するのでエラーになっちゃう。

 分からんかったのでしばらく首を捻ってました。
 どっちもインストールしちゃうと普通にはアンインストールできなくなるんで、アンインストールで「強制クリーンアップ」にチェックを付けてアンインストール後、データベース側は phpMyAdmin とかで個々のテーブルを削除すること。
 テーブル消しとかないと、大文字を全部小文字に直してからインストールし直す時に、テーブル作れなくてエラー出ちゃうんで。

フィールドを設定する

 インストールしたら、表のページからメインメニューに xCCK モジュールにアクセス出来るようになってるんで、そこに飛んだらもうアレコレと編集できます。
 とりあえずはフィールドの定義をしておきましょう。

 この辺は、あんまり書くこと無いんだけどね。
 えー……注意するのはフィールドのタイプくらい?
 とりあえず使いそうなモノだけ、軽く注釈入れとこう。
 もしかすると忘れるかもしれない(笑)

  • string : 一行の文字列。[input type=”text”]
  • text : 複数行の文字列。[textarea]
  • int : 数値。
  • date : 日付。設定により時刻(時分秒)まで対応。入力フォームでは何とカレンダーを表示してくれちゃう(!)
  • uri : URI。そのまんま(笑)

 だいたいこの辺だけ分かってれば設定できると思います。
 startdate と enddate はアレかな、それぞれ登録日と最終更新日かな?

データを追加してみる

 フィールドの定義がひととおり終わったら、データを追加してみます。
 やってみりゃ分かるんだけど、自分なんかはもうコレだけで驚いちゃったのね。
 それぞれのフィールド設定に応じてフォームがきっちり出来上がってる。

 で、入力してみると view が……つまりレコード別の表示がパッと出る。
 全くテンプレートをいじってない状態だと、全部のフィールドが [dl] で……つまり項目名が [dt] で、内容が [dd] で並べられます。
 とりあえずコレだけで感動(笑)

text を拡張しよう! ~ myckeditor のインストール

 でもちょっと待てよと。
 タイプ “text” のところでちょっと不満があったのです。
 僕は BBCode 系の入力は苦手なんで、じゃあ html で入れようかと……でも WordPress に慣れちゃった駄肉(笑)には、改行をイチイチ HTML で [br /] とか書くの面倒なわけ。段落ごとに [p] で括るとかも面倒なの。
 かつて HTML 手打ちで百数十ページも作ってた人間が、見事に堕落してしまった……(笑)

 そこで氷川霧霞さんから教えてもらったのが myckeditor ね。
 こいつは XCL2.2 の /extra の方にも myckeditor ってのが入ってるんだけど、より高性能なヤツを公開されてる方がいて。
 それが、えー……こちら。

  • domifara雑記 – ダウンロード

 こいつをインストールしておくと、 “text” で html/~ を選んでおけば CKEditor ってボタンが出るようになります。んでそのボタンを押せば、どえらいリッチな入力環境になるわけです。
 実際にやってみたら、これがまた驚いたのなんのって!(笑)

 まあコレはコレで終わりなので、また xCCK の方に戻りませう。

テンプレートを設定する

 でもまあソコで感動して終わってるワケにもいかないので。
 今度はテンプレートをいじりましょう、となります。
 さすがに HTML 弄るくらいなら忘れてないだろ?

 さて、ここでまた xCCK に驚かされるのね。

 管理画面の方で、モジュールのメニューツリーを開くと「展開済みのテンプレート」って項目があります。
 こいつをクリックしてみると、設定済みのフィールドを、それぞれ表示するために展開された php が、各テンプレート毎に表示されるのです。

 まあ、だいたいのところは見りゃあ分かるでしょ?(笑)
 フィールド名の設定も自分でしてるわけだし、基本は [dt][dd] で分けてるダケ。
 ちゃんとテンプレートのどこにコピペすればいいかまで書いてあって、親切すぎて涙が出る!

 ……ということで、基本的な部分は /altsys の方から「テンプレート管理」を。
 あ、そうそう。編集する時は最初に default のテンプレートをコピーしておくこと。
 xCCK はオリジナルファイルを持たない(trust_path側にあるから?)ようなんで、そうしないと復元できなくなっちゃうっぽい。

 とにかく出力(見栄え)はここでテンプレート弄れば OK ってこと!

後は RSS を吐かせられれば

 ここまでで、基本的なコトは粗方できるようになってるでしょう。
 後は更新情報を RSS で吐かせられれば、動的なウェブコンテンツとしての基礎要件は揃う……と思うのです。

 ということで最後、後もう一つモジュールをインストールしましょう。

  • lefeed

 こいつも同じように、ファイルをアップロードしてから「モジュールのインストール」すれば OK!
 終わったら試しに今までセットしてきた xCCK 系のモジュールに、新しくデータを追加してみましょう。
 そしたら lefeed に飛べば、新着情報として追加したデータが吐かれてる。
 あらびっくり! ってなもんですわ。

……とまあ、今日はこんなトコロで

 もし僕がまた大ボケかましてスッカリ忘れちゃったとしても、基本的なトコロは大体これで思い出せるんじゃないかしらん。
 このメモ自体を忘れちゃったら、さすがにどーしよーもないけどね!!(笑)