最初にサイトマップくらい作っておこうってことで、作った。
かなりメニューが多くなってしまったが・・・。
見積もり編集のパターン選択のあたりのインターフェースをどうするか、まだ考えていないのでそこはちょっとまた後で直すことにして、とりあえず、おおまかにはこんな感じで行こう。
開発メモ,主に補足by子連れ親父プログラマー
2010-03-21
2010-03-20
gitを使ってデザイナーとの並行作業でテンプレートを修正する
テンプレートで修正が入った場合について、
例えば自分が作った index.tpl がこんなようなソースだったとする。
例えば、以下のようにエラーメッセージの表示を追加した。
divにclass指定が追加になってる。
問題なのは、デザイナーの修正が、以下のようなものだった場合、
以下のように順番を決めて編集保存して、
例えば自分が作った index.tpl がこんなようなソースだったとする。
<div> <h1>Colored Pencils</h1> </div>まずはコミットする。
$ git add index.tpl $ git commit -m 'first commit'ここで一旦リリースするが、その時にブランチを作っておく
$ git branch design_fixその後なにか修正する。
例えば、以下のようにエラーメッセージの表示を追加した。
<div>
<h1>Colored Pencils</h1>
{$message|escape}
</div>
それをコミットする
$ git commit -a -m 'add message'それを知らないデザイナーからファイルが届いた。
divにclass指定が追加になってる。
<div class="main"> <h1>Colored Pencils</h1> </div>作っておいたデザイナー用のブランチに移動して、
$ git checkout design_fixこの状態で、デザイナーが作った index.tpl をコピーしてからコミットする。
$ git commit -a -m 'design chenged'再びマスターに戻り、マージする
$ git checkout master $ git merge design_fix以下のようにマージされた。
<div class="main">
<h1>Colored Pencils</h1>
{$message|escape}
</div>
ここでまたすかさず次のブランチを作っておくといいかもしれない。問題なのは、デザイナーの修正が、以下のようなものだった場合、
<div> <h1>Colored Pencils</h1> <h2>12 colors</h2> </div>マージでエラーになる。
Auto-merging index.tpl CONFLICT (content): Merge conflict in index.tpl Automatic merge failed; fix conflicts and then commit the result.そのindex.tplを見るとこんなんなってる。
<div>
<h1>Colored Pencils</h1>
<<<<<<< HEAD:index.tpl
{$message|escape}
=======
<h2>12 colors</h2>
>>>>>>> design_fix:index.tpl
</div>
message の行と h2 の行とどっちが上でどっちが下か分からないってことだろう。以下のように順番を決めて編集保存して、
<div>
<h1>Colored Pencils</h1>
<h2>12 colors</h2>
{$message|escape}
</div>
コミットする。
$ git commit -a -m 'design fix'無事マージされた
--- a/index.tpl
+++ b/index.tpl
@@@ -1,5 -1,5 +1,6 @@@
<div>
<h1>Colored Pencils</h1>
+ <h2>12 colors</h2>
+{$message|escape}
</div>
2010-03-18
MacPortsでOSXにphp5.3を入れる
OSXに、php5.3を入れようということで、
PHPのバージョン5.3.2になっている。
が、phpが動いていない。 そこで、以下を実行。
以下を追加。
なったがな、しかし。だな。
port installedで見たところ、apache2とかはもうインストール済みになってるみたいだったので、もう一回以下のコマンドでphpのインストールに挑戦。
sudo port -d install php5 +apache2 +macox +mysql5 +pear +postgres +sockets +sqlite最後に出た以下のメッセージを完全に見逃す
To customize php, copy /opt/local/etc/php5/php.ini-development (if this is a development server) or /opt/local/etc/php5/php.ini-production (if this is a production server) to /opt/local/etc/php5/php.ini and then make changes. If this is your first install, you need to activate PHP in your web server. To enable PHP in Apache, run cd /opt/local/apache2/modules /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.soこうして入れたシステム一式は、OSXの
/opt/localの下に入るようです。
PHPのバージョン5.3.2になっている。
$ php -v PHP 5.3.2 (cli) (built: Mar 18 2010 03:49:53) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologiespearも入っている。
$ pear -V PEAR Version: 1.9.0 PHP Version: 5.3.2 Zend Engine Version: 2.3.0でアパッチを起動したいということで、
sudo launchctl load -w /Library/LaunchDaemons/org.macports.apache2.plistとりあえずこうするだけでapache動いた。
が、phpが動いていない。 そこで、以下を実行。
sudo cp php.ini-development php.ini sudo /opt/local/apache2/bin/apxs -a -e -n "php5" libphp5.soアパッチのhttpd.confに
以下を追加。
Include conf/extra/mod_php.conf以下を付け足し。
で、DirectoryIndex index.html index.php
sudo /opt/local/apache2/bin/apachectl restartしたら、phpもオッケーに。
なったがな、しかし。だな。
2010-03-16
XAMPPのインストールと設定
Windowsのphpのバージョンを5.3.2にアップしようとしたらば、apacheまで動かなくなったので、もうあきらめて新規にXAMPPでインストールすることに。
apache friends
ここから XAMPP Windows版 1.7.3 をダウンロードしてインストール。
最初に環境変数に書かれている既存のMySQLとかphpのパスを消去してからやった方がよかったみたいですね。
既存のそれらのプログラムとごっちゃになってしまって、その修正に丸一日かかってしまった。
そもそもMySQLがサービスとして動いていたようで、XAMPPはそっちを見に行ってしまった模様。
マニュアルには最初に「セキュリティ」からMySQLのrootのパスワードを設定せよ、と書いてあるが、既存のMySQLを見に行ってるので既にパスワードがある状態になっている。
こりゃおかしい、ということで既存のMySQLのサービスを無効にして、環境変数の方は
改めて「セキュリティ」から進んで、rootのパスワードを設定。
あとphpMyAdminのDB接続設定をするために C:\xampp\phpMyAdmin\config.inc.php にrootのパスワードを設定
次にapacheの設定。
C:\xampp\apache\conf\httpd.conf を開いて、Directory の
以下のコメントアウトを外す
さらに、C:\Windows\System32\drivers\etc\hosts を開いて、
あと php.ini のこのヘンを修正
あ、そうそう、あと、こうやってインストールした状態では、apacheの mod_rewrite は最初から使えるようになってるし、phpの short_open_tag はOffになってるぞ。
apache friends
ここから XAMPP Windows版 1.7.3 をダウンロードしてインストール。
最初に環境変数に書かれている既存のMySQLとかphpのパスを消去してからやった方がよかったみたいですね。
既存のそれらのプログラムとごっちゃになってしまって、その修正に丸一日かかってしまった。
そもそもMySQLがサービスとして動いていたようで、XAMPPはそっちを見に行ってしまった模様。
マニュアルには最初に「セキュリティ」からMySQLのrootのパスワードを設定せよ、と書いてあるが、既存のMySQLを見に行ってるので既にパスワードがある状態になっている。
こりゃおかしい、ということで既存のMySQLのサービスを無効にして、環境変数の方は
C:\xampp\mysql\bin;に書き換え、これでようやく正常に戻る。
改めて「セキュリティ」から進んで、rootのパスワードを設定。
あとphpMyAdminのDB接続設定をするために C:\xampp\phpMyAdmin\config.inc.php にrootのパスワードを設定
/* Authentication type and info */ $cfg['Servers'][$i]['auth_type'] = 'config'; $cfg['Servers'][$i]['user'] = 'root'; $cfg['Servers'][$i]['password'] = 'password'; $cfg['Servers'][$i]['AllowNoPassword'] = true;それからMySQLの文字コード関係設定。C:\xampp\mysql\bin\my.ini を開いて一番下に、
[mysqld] skip-character-set-client-handshake default-character-set = utf8 character-set-server = utf8 collation-server = utf8_unicode_ci init-connect = SET NAMES utf8 [mysql] default-character-set=utf8を追加。
次にapacheの設定。
C:\xampp\apache\conf\httpd.conf を開いて、Directory の
<Directory />
Options FollowSymLinks
AllowOverride none
Order deny,allow
Deny from all
</Directory>
を以下に変更
<Directory />
Options FollowSymLinks
AllowOverride all
Order deny,allow
Deny from all
</Directory>
ついでにバーチャルホストの設定。C:\xampp\apache\conf\extra\httpd-vhosts.conf を開いて、以下のコメントアウトを外す
NameVirtualHost *:80一番下に以下を追加
<VirtualHost *:80>
ServerAdmin someone@somedomain
DocumentRoot "D:/project"
ServerName project
ErrorLog "logs/project-error.log"
</VirtualHost>
<Directory "D:/project">
Options FollowSymLinks
AllowOverride all
Order deny,allow
Allow from all
</Directory>
ここで、最後の Allow from が all になってないと見られないので注意。さらに、C:\Windows\System32\drivers\etc\hosts を開いて、
127.0.0.1 localhost 127.0.0.1 projectを追加。
あと php.ini のこのヘンを修正
[mbstring] mbstring.language = Japanese mbstring.internal_encoding = UTF-8 mbstring.http_input = pass mbstring.http_output = pass mbstring.encoding_translation = Off mbstring.detect_order = UTF-8,SJIS,EUC-JP,JIS,ASCII mbstring.substitute_character = none; mbstring.func_overload = 0最後にpearも既存のphpのパスが悪さしてへんてこりんな設定になっていたので、C:\xampp\php に go-pear を置いて、再インストール
php go-pear.phpこれはコマンドプロンプトを管理者モードで実行しないとだめ。
あ、そうそう、あと、こうやってインストールした状態では、apacheの mod_rewrite は最初から使えるようになってるし、phpの short_open_tag はOffになってるぞ。
2010-03-14
2つのsubmitボタンを横にまっすぐ並べる方法
まあ、よくある話なんですが、問い合わせフォームみたいなもので以下のようなボタンが2つ並んだソースがデザイナーさんから送られてきたりする訳です。
まあ、これはこれでそのままでもちゃんと横に並んでくれるし、普通はcssでセンタリングしてあったり、多少マージンがとってあったり、ひどいのになると、ボタンとボタンの間に全角スペース入れてそれで間隔を調整してたり(笑)、そんな感じだと思います。
ただ実際プログラムを入れていくと、これでは用をなさないわけで、以下のようなソースにしたいという場合が多々あります。
これの見た目はこうなってしまいます。
で、こういう時どうしたら、簡単に直せるか、ということですね。
まずこれはどうみてもformとfieldsetがブロック要素で右端まで行っちゃってるので、
とします。あとは適当にマージンとかを調整します。
一応、デザインさんに修正依頼する時間もない時のために。
<div class="controls">
<input type="button" value="戻る" />
<input type="submit" value="送信" />
</div>
まあ、これはこれでそのままでもちゃんと横に並んでくれるし、普通はcssでセンタリングしてあったり、多少マージンがとってあったり、ひどいのになると、ボタンとボタンの間に全角スペース入れてそれで間隔を調整してたり(笑)、そんな感じだと思います。
ただ実際プログラムを入れていくと、これでは用をなさないわけで、以下のようなソースにしたいという場合が多々あります。
<div class="controls">
<form action="form.php" method="post">
<fieldset>
<input type="hidden" name="mode" value="back" />
<input type="submit" value="戻る" />
</fieldset>
</form>
<form action="form.php" method="post">
<fieldset>
<input type="hidden" name="mode" value="send" />
<input type="submit" value="送信" />
</fieldset>
</form>
</div>
「戻る」時と「送信」する時とでモードを切り替えて処理したいような場合ですね。これの見た目はこうなってしまいます。
で、こういう時どうしたら、簡単に直せるか、ということですね。
まずこれはどうみてもformとfieldsetがブロック要素で右端まで行っちゃってるので、
form, fieldset {
display: inline;
border: none;
}
とします。あとは適当にマージンとかを調整します。
form, fieldset {
display: inline;
border: none;
margin: 0px;
padding: 0px;
}
一応、デザインさんに修正依頼する時間もない時のために。
2010-03-13
jQuery1.2の時のバグ
ラベル:
jQuery
AJAXで生成したSELECTのoptionでselectedにした値をセレクトしてくれない
form, fieldset {
display: inline;
border: none;
margin: 0px;
padding: 0px;
}
if (isset($emes)) {
$smarty->assign('emes', $emes);
$smarty->display('form/form.tpl');
exit;
}
- test
登録:
コメント (Atom)
このブログを検索
人気の投稿
Powered by Blogger.
