初心者すぎてアレな管理人が、 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] で並べられます。
とりあえずコレだけで感動(笑)
テンプレートを設定する
でもまあソコで感動して終わってるワケにもいかないので。
今度はテンプレートをいじりましょう、となります。
さすがに HTML 弄るくらいなら忘れてないだろ?
さて、ここでまた xCCK に驚かされるのね。
管理画面の方で、モジュールのメニューツリーを開くと「展開済みのテンプレート」って項目があります。
こいつをクリックしてみると、設定済みのフィールドを、それぞれ表示するために展開された php が、各テンプレート毎に表示されるのです。
まあ、だいたいのところは見りゃあ分かるでしょ?(笑)
フィールド名の設定も自分でしてるわけだし、基本は [dt][dd] で分けてるダケ。
ちゃんとテンプレートのどこにコピペすればいいかまで書いてあって、親切すぎて涙が出る!
……ということで、基本的な部分は /altsys の方から「テンプレート管理」を。
あ、そうそう。編集する時は最初に default のテンプレートをコピーしておくこと。
xCCK はオリジナルファイルを持たない(trust_path側にあるから?)ようなんで、そうしないと復元できなくなっちゃうっぽい。
とにかく出力(見栄え)はここでテンプレート弄れば OK ってこと!
後は RSS を吐かせられれば
ここまでで、基本的なコトは粗方できるようになってるでしょう。
後は更新情報を RSS で吐かせられれば、動的なウェブコンテンツとしての基礎要件は揃う……と思うのです。
ということで最後、後もう一つモジュールをインストールしましょう。
- lefeed
こいつも同じように、ファイルをアップロードしてから「モジュールのインストール」すれば OK!
終わったら試しに今までセットしてきた xCCK 系のモジュールに、新しくデータを追加してみましょう。
そしたら lefeed に飛べば、新着情報として追加したデータが吐かれてる。
あらびっくり! ってなもんですわ。
……とまあ、今日はこんなトコロで
もし僕がまた大ボケかましてスッカリ忘れちゃったとしても、基本的なトコロは大体これで思い出せるんじゃないかしらん。
このメモ自体を忘れちゃったら、さすがにどーしよーもないけどね!!(笑)
text を拡張しよう! ~ myckeditor のインストール
でもちょっと待てよと。
タイプ “text” のところでちょっと不満があったのです。
僕は BBCode 系の入力は苦手なんで、じゃあ html で入れようかと……でも WordPress に慣れちゃった駄肉(笑)には、改行をイチイチ HTML で [br /] とか書くの面倒なわけ。段落ごとに [p] で括るとかも面倒なの。
かつて HTML 手打ちで百数十ページも作ってた人間が、見事に堕落してしまった……(笑)
そこで氷川霧霞さんから教えてもらったのが myckeditor ね。
こいつは XCL2.2 の /extra の方にも myckeditor ってのが入ってるんだけど、より高性能なヤツを公開されてる方がいて。
それが、えー……こちら。
こいつをインストールしておくと、 “text” で html/~ を選んでおけば CKEditor ってボタンが出るようになります。んでそのボタンを押せば、どえらいリッチな入力環境になるわけです。
実際にやってみたら、これがまた驚いたのなんのって!(笑)
まあコレはコレで終わりなので、また xCCK の方に戻りませう。