[Tep-j-general] Re: 中央ブロックのカスタマイズについて

Back to archive index

Margy Mutoh margy****@roseb*****
2006年 1月 9日 (月) 10:55:13 JST


益子さん、こんにちは。Margyです。

> すみません、私が探していた「中央ブロック」とはdefault.phpの部
> 分だったのですね。

いままで「default.php = フレームで言うindex.html(全体制御のみ
を行うファイル)」と思って作業されていたのなら、これがわかった
ことで「なんだあ〜」と氷解することも結構あるかと。(^_^;

私も当初かなり理解に苦しみましたが、osCの画面は複数のファイル
を表示させながら、全体で一つのまとまったテーブルを構成してる
ようなもの(厳密には「いちばん外」のテーブルはない…かな?)なので、
どこかで不整合があると全体が崩れる、といったことがあります。
今回の益子さんのように、右に置いたはずのボックスが左側に回って
しまう、という現象も、どこかでタグを閉じていなかったり、余計に
<td>や<tr>が入っていたり、で起こってることも少なくないです。
(フレームでは、これはないですよね)

> 編集はTeraPadを使っています。
> HTML編集には手っ取り早いので、IBM社のHPビルダーも使い
> ます。
> 
> その後コピペして手直しをしていくような感じです。
> 問題ありでしょうか?
> 
> TeraPadの「ファイル」メニューに、「文字コード指定読み込み」と
> ありますが、これでEUC呼び出ししてから保存すると言うことでし
> ょうか?
> 
> その機能はまだ使ったことがないのですが。

「EUCで保存する」というのは、文字通り「保存する時の文字コード
がEUCである」ということです。「EUCで開く」はもちろんですが
「EUCで閉じる」と言ったら感覚わかるでしょうか???
TeraPadは使ったことがないのでわかりませんが、文字コード指定
して開いたら、保存も同じ文字コードでされるようならそれでも可
ですし、保存時に文字コードを明示的に指定できる(保存時に文字
コードオプションがある)のなら、「EUC(EUC-JP)」に指定して保存
しましょう。

エディタによってデフォルトの文字コードが決まってるはずで、
とくに指定せずにファイルを開閉すると、そのエディタのデフォルト
の文字コードで保存されてしまいます。
HPビルダーで書いたコードを貼りつける自体は問題ないでしょうが、
TeraPadでの保存時にEUC以外で保存されてれば文字化けになります。
日本語を含まないファイルだと、文字化けしないがために気づかずに
違う文字コードで保存してしまうこともあると思うのでご注意を。
たまに他のアプリケーションからコピペしてきた時に、ペースト先の
アプリケーションで化けることがありますが、HPビルダーからTeraPad
へ貼りつけた段階で化けていなかったら、たぶん大丈夫でしょう。

私はエディタは秀丸を使っていますが、秀丸はデフォルトではShift-
JISですから、osCの日本語を含むファイルを開くと、その時点でもう
判読不明に文字化けしてます。なので、いったん文字コード指定の
方法でファイルを開き、文字コード指定して保存する、という作業を
行います。
実際には、いちいちその作業をするのは面倒なので、拡張子の関連づけ
機能を使って、phpファイルは開くのも保存もEUCに指定しています。

>>ちなみに、直ったケースでは、やはり「header.php」をいじったフ
> ァイル
>>構成で、ちゃんと表示されてるんでしょうか?
> 
> ファイルは全ていじった状態でリロードです。
> 全く、何事もなかったの如くキレイに表示されてしまい、気が抜け
> たというか・・・。

この部分は、私にも謎です。
もっとも、出していただいたコードをよく見ていないので(すみません)
ちゃんと整合するように書かれているなら、そういうこともあるのかも
しれません。

> phpは主要な(中心的)ファイルがあって、それがあっちへ行って、
> ファイルを呼び出し、又戻って表示する・・・という感じがします。

前々から「osCはプログラムとデザインが混在している」ということを
先輩諸氏がおっしゃってまして、osCだけしか見ていなかった間はその
意味がまったく理解できなかったんですが、最近、他のphpプログラム
もいじるようになって、だいぶわかってきました。
osCでは、htmlを吐き出すファイルに縛りがなく(必要に応じてどの
ファイルにもhtml部分が書き込まれている)、それに慣れると、htmlを
いじりたいとき、直感的にどのファイルを見ればいいか見当がついて、
それはそれで便利だったんですが、逆に言えば「探しているコードを
見つけるのに、全部のファイルをgrepしなければならない」。
たとえば前述の「余計な<td>」なんかの場合でも、どのファイルに
書いた<td>が余計なのかを探すのは一苦労ですよね。(汗)
それに、複数の人が一緒に開発していると、誰かがあるファイルの
プログラム部分を編集してる時は、他の人がデザイン変更をしたいと
思っても同じファイルに手をつけることができないわけです。

他のphpプログラムは(私がいじってきた物に限り、ですが)テンプレート
やテーマという形でhtml部分を指定するファイルが任意のディレクトリ
にごっそりまとめてあり、スタイルシートのように、プログラムが必要
に応じてそれらを呼び出している、という形が多いようです。こっちの
形のほうが主流なのかも知れません。

> grepもどうやったらよいのか、今までは自分で各フォルダをことごと
> く撃破するがの如く、あさりまくっていました。
> この作業は自動化することが出来るのでしょうか?

「その作業」を自動化したものがgrep、と思ったらいいと思います(^_^;
grep機能のあるエディタだと、検索したいディレクトリを指定して、
その中にある全部のファイル(拡張子指定も可)から探したい文字列を
いっぺんに探し出して「どのファイルの何行目」というように検索結果
を表示してくれます。(たとえば、自分のPCの中にあるすべてのテキスト
ファイルから「hogehoge」という文字列を探す、という所作も可能)
自分で一つひとつファイルを開いていく必要がないので便利ですよ。

> まだphp、SQLと分らないことばかりです。

余談ですが、益子さんのメールを拝見すると、英数字の半角/全角が
混在していますね。たとえば「php」が、「php」と書かれていたり
「php」と書かれていたりするようなことです。
「”」(全角)も使われているので気になっていたんですが…このへん
の表記は、プログラムの中では意識的に分けておいでですか?
プログラムの中でこれを気づかずにやると、これまたエラーの原因に
なりますから、お気をつけて。(^-^)

Margy Mutoh




Tep-j-general メーリングリストの案内
Back to archive index