入力した内容を元に別フレームにある情報を更新したい場合の方法を記載します。


例えば、


・選択した商品の合計を別フレームに表示


・検索条件入力後と別フレームに検索結果を表示


なんかが考えられます。


今回はフレームなんで、3つのファイルを用意しました。



・frame.html

<html>
<head>
<title>フレームとJavaScript</title>
</head>
<frameset rows="*,*">
	<frame src="html1.html" name="frame1" />
	<frame src="html2.html" name="frame2" />
</frameset>
</html>


・html1.html
<html>
<head />
<body>
<form name="form1">
html1:
<input type="text" name="text1" size="50" />
</form>
</body>
</html>

・html2.html

<html>
<head />
<script language="javascript">
<!--
function setDate(){
var today;
today = new Date();
parent.frame1.document.form1.text1.value=
  today.toGMTString();
}
-->
</script>
<body>
<form name="form1">
html2:
<input type="button" value="上のフレームのテキストに日付をセット" 
  name="actionButton" onclick="setDate();" />
</form>
</body>
</html>





IEでのみの検証になっていますが、どうでしょう?
別のフレームに現在の時刻がセットされたかと思われます。

Linuxで定期的に時刻を合わせる方法です。(CentOSの5が対象となってます。)


そもそもdateコマンドで時刻の設定が可能という人もいると思います。


次のようにやれば任意の時刻に設定可能です。


# date 010111212000

これで、2000/01/01 11:21に設定されます。


ただし、これだと毎回何かしらの方法で正しい日付をもってきて、自分で設定しなければなりません。


そこで、どこから時間を取ってきて、取ってきた時間を設定する技があります。


それが、↓


# ntpdate [NTPサーバのアドレス]

NTPサーバのアドレスとは、結構いろいろ公開しているので、それを使います。


プロバイダは結構提供してくれてるとこが多いので、自分のプロバイダのNTPサーバを使う事をお勧めします。


NTPサーバのアドレスとは、結構いろいろ公開しているので、それを使います。

# date

で現在の時刻が表示されます。


後はスクリプト化し、cronコマンドを用いて定期的に実行すれば定期的に時刻が合わさります。


ちなみにVirtualPCにLinuxをインストールすると、やたら時間が狂います。


なんで、この設定で時刻を定期的に合わせる事をお勧めします。


ちなみに15分毎に実行する方法です。


# su -l
(パスワード入力)
root# cd /root
root# vi ntpdate.sh
(iを押し挿入モードに)
#!/bin/sh
/usr/sbin/ntpdate egserver
(ESCキーを押し、wq:を押しEnterキー)
root# chmod 700 ntpdate.sh
root# crontab -e
(iを押し挿入モードに)
0,15,30,45      *       *       *       *       /root/cron_script/ntpdate.sh
(ESCキーを押し、wq:を押しEnterキー)


ですね。


crontabについては、また機会があったら書きます。


各、数値、*、スクリプトの間はTABになってます。


一定間隔で時間が設定されるようになったかと思われます。

仕事でEC-CUBEによるECサイトの構築 を始めました。


↑のリンクからサイトに移動できます。



という事で、以前調べた事を一つ備忘的な要素で書いときます。



WindowsにXAMPPをインストールし、その上でEC-CUBE ver2 を展開。


権限等の問題がなかったので、すぐにインストールができました。


それで、いざ管理画面にログインをしてみると・・・URLにC:\からのパスが混在していて、正しく管理画面にとびません。


構造を確認するついでにソースをおっかけてみると


data/class/pages/LC_Page.php


のLC_PageクラスのgetLocationメソッド内で実際のパスから、EC-CUBEのルートパスまでを置き換えで削除している部分を発見。


よくよく見ると、EC-CUBEで定義されているEC-CUBEのルートパスの定義が


C:/xampp/htdocs/eccube//


になっていました。


インストール時に何か設定を間違えたのかは検証してませんが、とりあえずEC-CUBEのルートパス[HTML_PATH]が定義されているファイル


data/install.php



define ('HTML_PATH', 'C:/xampp/htdocs/eccube//');

define ('HTML_PATH', 'C:/xampp/htdocs/eccube/');


を修正。


それで、再度ログインを試み、ログインできる事を確認完了


もし、同様の件で悩んでいる方がいたら参考にでもしてください。