トップページ⇒php
930コメント657KB

コンテンツとデザインの分離

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。2001/05/27(日) 17:59ID:6pK8snWA
ASPでもPHPでもPerlでもJavaでも形こそ違えど結局は可変部を吐き出すための
<%〜%>やらprint文の嵐になってしまう。

「HTMLはHTML、プログラムはプログラムと完全に分離する方法はないものか。」
を話し合うスレッドです。
0655nobodyさん05/02/11 14:21:52ID:???
ほかのもためしたけど、Smartyがベストだと思う。
0656nobodyさん05/02/12 11:24:01ID:???
>>655
マジ?あれのどこがよいのかさっぱりわからん。
Smartyつかうくらいなら素のPHPスクリプトで十分じゃねえか?
0657nobodyさん05/02/12 13:43:13ID:???
Smartyでかすぎ。もっとコンパクトにしる
0658nobodyさん05/02/12 20:02:04ID:???
php -w smarty.class.php > smarty_compact.class.php
0659nobodyさん05/02/14 01:02:37ID:fzJwBWF6
>>658
確かにファイルサイズは半分になったが、、、
0660nobodyさん05/02/14 10:19:19ID:???
コンパクトだと
あれもできない
これもできない
になるから Smarty くらいが
丁度いいと思うよ。
0661nobodyさん05/02/20 19:18:14ID:???
そうでもない
0662nobodyさん05/02/22 23:25:17ID:???
>>661
じゃぁどのへん?
0663nobodyさん05/02/23 09:14:08ID:OrWqFsfq
StrutsよりもTapestry
0664nobodyさん05/02/23 09:56:17ID:5HyLwVaX
XSLはデザインしてくれるわけでなくてJCL程度のダサいもんなんでつね。

Cascading Style Sheet
って使いやすい?
0665nobodyさん05/02/23 20:47:00ID:???
しかし4年近く前から続いてる話題で未だ標準的な解がないというのも…。
そんなに根の深い話なのか?
0666nobodyさん05/02/24 00:46:38ID:???
プログラマとデザイナの間には
深くて暗いk(ry
0667nobodyさん05/02/24 05:36:50ID:???
そして気持ちいい(ry
0668nobodyさん05/02/24 09:49:27ID:???
大きくなれよ(ry
0669nobodyさん05/02/25 13:53:07ID:???
デザイナがSmartyのタグ覚えられないからいやだって言います。
0670nobodyさん05/02/26 00:18:46ID:???
>>669
教え方が下手
0671nobodyさん05/02/26 05:47:27ID:???
俺は教えてません。一から教える暇が無いので・・
マニュアル送ってこれ覚えてねって言ってあります。
0672nobodyさん05/02/26 09:45:19ID:???
>>671
お前が悪い。
0673nobodyさん05/02/26 10:41:01ID:???
>>671 お前がへたすぎ
0674nobodyさん05/02/26 10:56:52ID:???
デザイナーの作ったHTMLにプログラマが必死でSmartyタグを書き加えて回る
というのが普通だと思ってたのだが、違うのか?
0675nobodyさん05/02/26 13:27:16ID:???
それテンプレートエンジン使う意味無いじゃん・・
0676nobodyさん05/02/26 13:28:27ID:???
お前等ってデザイナにSamrty用のテンプレートの書き方まで教えてるの?
0677nobodyさん05/02/26 16:44:12ID:???
教えたよ(過去形)。
半日で集中して説明して
2, 3 日は細々とフォローして
1 週間くらいはぽつぽつ質問を受けて
1 ヶ月もあればバリバリ書けるようになってるね。
今は新人がきても教育はデザイナたちがしてくれるのでノータッチ。
0678nobodyさん05/02/27 01:00:24ID:???
Velocityのサイトに、デザイナもすぐに覚えたとか書いてあるのは誇大広告?
0679nobodyさん05/02/27 01:05:53ID:???
まあデザイナのレベルにもよる
0680nobodyさん05/02/27 18:01:19ID:???
うちはデザイナはおろかプログラマでも無理
もうだめぽ
0681nobodyさん05/02/28 00:25:17ID:???
社内にデザイナが居ない
0682nobodyさん05/02/28 01:00:12ID:???
悲惨なところが多いな
0683nobodyさん05/03/05 08:58:12ID:???
HTMLタグを解さない人間や、CSSはツールが自動的に作る物だと思ってる人間でも
Webデザイナーだったりするからな。

>>681
CMS使ってお茶を濁す。
0684nobodyさん皇紀2665/04/01(金) 22:27:47ID:w41uHyAk
.
0685nobodyさん皇紀2665/04/01(金) 23:49:43ID:???
今日とある携帯サイトがバグって思いっきりサーブレットの例外が出ててワロタんだが
Tapestory使ってたよ
実用で使ってるとこもあるんだなぁ。てかあんまし分かってないがTapestory。
0686nobodyさん2005/04/03(日) 11:18:53ID:???
テンプレート使うなら、どうしてもループの概念ぐらいは必要だしなあ。
「横4列x縦n行で商品画像を並べて表示」みたいなのが鬼門。こういうのにまともに
対応できるデザイナーは少ないね。
0687nobodyさん2005/04/03(日) 14:54:03ID:???
それって、いつも思うんだけど
設定ファイルか何かでカラム数を設定しておいて、予めプログラムで回しながらフラグ立てて置くのと
テンプレートの機能駆使しながらカウントしつつカラムつけるのどっちが効率良いんだろうか。
06886862005/04/03(日) 16:02:51ID:???
>>687
例えばPerl のtemplateToolkit なら、テンプレートに二重ループ書いておいて
(→ [% FOREACH %] <tr> [% FOREACH %] <td> </td> [% END %] </tr> [% END %] )
同じく二重構造のリストを引数で渡してやればOK
(→ [ [ item1, item2, item3 ,item4 ], [ item5, item6, .item7, item8 ] ] )

でもそれだと、テンプレートには行も列もひとつしかないように見えるので、デザイナー
が混乱する。で、コラムを付け加えちゃったり、横幅の指定がおかしくなったりして残念な結果に。

0689nobodyさん2005/04/04(月) 00:03:30ID:???
>>686
div.product { width: 25%; float:left; }

>>688
テンプレートの構造に依存してデータ構造を変えるっていうのは考えもん。
デザインが変更でカラム数が変わったら使えなくなる。
0690nobodyさん2005/07/13(水) 11:36:58ID:4YoqWe3k
hosh
0691nobodyさん2005/07/13(水) 13:32:12ID:JaaneMSy
TTはいいあれはいいものだ
0692nobodyさん2005/07/13(水) 22:31:13ID:???
TTオライリーの日本語版が欲しい
0693nobodyさん2005/07/14(木) 03:23:34ID:???
TTってperlのtemplate toolkitのこと?
オライリーから出てるperl関係の本にちょこっと載ってなかったっけ?

で、template toolkitって、phpでいう所のsmartyって感じ?
もっと良いもの?
0694nobodyさん2005/07/15(金) 00:44:21ID:???
template-toolkitのことです。
かなり奥深いんでもっと突っ込んだ内容の本が欲しいですねぇ。
基本的にsmartyと同じですがTTの方が基礎がしっかりしてて論理的に
ちゃんと作ってあるって感じがしますね。
0695nobodyさん2005/07/15(金) 02:10:52ID:???
template toolkitの洋書がオライリーから出てんだね。
流石オライリー
オライリーには翻訳してもらいたい物が沢山あんだよね〜〜
0696nobodyさん2005/09/15(木) 23:19:46ID:???
ttp://www.programmers-paradise.com/web/template-system.html

ここの話は出てこないんだな。良くまとまってると思うんだけど。
0697nobodyさん2005/11/12(土) 18:31:08ID:???
perlのSmartyクローンってないでしょうか?
0698nobodyさん2005/11/12(土) 18:37:50ID:+mfMPo2s
age
0699nobodyさん2005/11/12(土) 22:49:22ID:???
ざっと調べた感じではSmartyクローンは存在しないみたいだね。
簡単なテンプレートだったら自分で変換プログラム作ってTT使うのがいいのでは
07006972005/11/12(土) 23:21:56ID:???
自分はPerl使いたいんですが、デザイナがDreamweaver使ってる関係上、
Smartyがいいんですよね。
自分であんまり調べてないんでアレなんですが、キャッシュとかそういう
細かいところ考えなければ、そこまで手間かけずにできそうですね…

ところで、
Smartyのキャッシュってのは、要はそのまま実行できるPHPコードに
落としたってことなんでしょうか?それとも、もっと工夫とかしてるんで
しょうか?
識者の方、たのんます
0701nobodyさん2005/11/13(日) 05:42:01ID:???
しょぼいけどこんなものも
http://template-toolkit.org/pipermail/templates/2002-September/003717.html

>そのまま実行できるPHPコード
です。生成されるコードはあまり頭良くありません。
PerlからSmarty呼ぶPHPコードを作成してforkするのはキモいですねl。
0702nobodyさん2005/11/13(日) 17:30:31ID:???
>>700
DreamweaverってSmartyのテンプレートを認識する機能があるの?
0703nobodyさん2005/11/15(火) 19:03:20ID:???
>>702
ありますよ。デフォではないけど、ファイル落としてきて設定できます。
あと、極める PHP とかいう本に DW のテンプレート (*.tpl) を Smarty のプレフィルタ通して
そのまま使う方法が紹介されてたと思います。
0704nobodyさん2005/11/16(水) 09:23:51ID:???
>>697
> 自分はPerl使いたいんですが、デザイナがDreamweaver使ってる関係上、
> Smartyがいいんですよね。
遊びならそういう考え方でもいいけどね、仕事ならデザイナに合わせるか、
デザイナに合わさせるか、どっちかにしなさい。
0705nobodyさん2005/11/16(水) 10:19:34ID:???
?
0706nobodyさん2005/11/16(水) 11:48:20ID:???
デザの主張ですから
0707nobodyさん2005/11/24(木) 10:39:19ID:???
コンテンツとデザインの分離なんて夢物語だったんだよ…。
0708nobodyさん2005/11/24(木) 13:52:42ID:???
>>707 >>28
0709nobodyさん2005/11/26(土) 13:32:29ID:???
ロジックの成果物がコンテンツだろ。こだわるない。
0710nobodyさん2005/11/26(土) 20:32:48ID:???
つまりデザインからデザインを分離したいスレだったと言うわけか
0711nobodyさん2005/11/27(日) 14:35:30ID:???
コンテンツの提示・操作するインタフェイスがデザインだよ。
お前なんてテンプレートエンジン使ってテンプレートで満足しときな。
0712nobodyさん2005/11/27(日) 14:45:49ID:???
いや、無知なら無理せずだまっとけばいいじゃん
0713nobodyさん2005/11/27(日) 20:36:56ID:???
コンテンツとデザインの分離と聞いて思い浮かぶのが、
HTML(コンテンツ)とCSS(デザイン)。
でも、板的にこの解釈は違うよなぁ
0714nobodyさん2005/11/27(日) 22:22:49ID:???
HTMLをまったくの修正無しにデザインを変えられたら、
コンテンツとデザインが分離されていると思うが、
実際は、CSSでデザインするために、divで囲ったり、
classやidを指定したりとHTMLを修正するのが現実。
0715nobodyさん2005/11/29(火) 01:08:19ID:???
結局そこまでしてもHTMLで文書構造を記述してる奴なんて居ないしな。
ただ単にH1とか文書構造を記述するタグを使わなくなった奴が増えただけ。
0716nobodyさん2005/11/29(火) 12:12:41ID:???
ttp://www.csszengarden.com/tr/japanese/
0717nobodyさん2005/11/29(火) 13:05:36ID:???
>>716
そういうの見ると、CSS の限界を感じるな。
0718nobodyさん2005/11/30(水) 00:23:29ID:???
確かに。いくつか見てみたけどやたらと独善的なデザインが多いというか…、
よくあるBlogのデザインを超えれない感じ。
まぁ、Blog自体がデザインをCSSでやってる感じだからあたりまえっちゃあたりまえか。
0719メソドロジスト2005/12/31(土) 23:24:10ID:8280SbsE
オブジェクトブラウザを使えばいいじゃない
サーバ側はオブジェクトDBで表示(表示せず検索だけっていうのもあり)はクライアントに任せる
0720nobodyさん2006/01/01(日) 00:54:46ID:WHqdtVTb
>>719
ヒント: 普及
0721nobodyさん2006/01/05(木) 11:40:54ID:???
>>718
Zen Gardenが先でBlogツールのデザイナーが真似してるんだが…
0722nobodyさん2006/01/06(金) 08:03:48ID:???
>>713
コンテンツは何らかの DB でデザインは HTML + CSS という考え方も
この板的には可能だと思うけどね。
0723nobodyさん2006/03/01(水) 13:25:50ID:oSoRhsQG
age
0724nobodyさん2006/03/18(土) 03:31:11ID:???
分離なんかすんなよ
あっちこっち見なきゃいけないだろ
0725nobodyさん2006/03/19(日) 20:24:10ID:SDrZ8pUg
>>724
うまく分離できれば、必要な箇所だけをみればすむので、逆に楽になる。
あっちこっちみなきゃいけないのは分離の仕方がまずいだけ。
関連するものはひとまとめにし、関連しない・関連がうすいものは別にする。
これをちゃんとやっていれば、分離した方がぜったい楽になる。
問題は、どうやったらうまい分離ができるのかだ。それを議論するためにこのスレがある。
07261852006/03/19(日) 22:40:59ID:???
私が以前試したやり方はこうです。
1. HTMLに<{title}>のような記述をする。
2. プログラム側で<{title}>を置き換えるためのコードを書く。
3. プログラムにHTMLを読み込んで,<{title}>の部分を置き換える。
4. 出力する。

結局、HTMLは見やすくなりましたが、プログラムの方はわかりにく
くなりました。(ただし、1の言うようなprintの嵐は回避できました)
0727nobodyさん2006/03/20(月) 10:52:21ID:???
>>726
そういうのはわざわざ自分でやらずにテンプレートシステム
使った方が楽じゃないの?  で、テンプレートに実際に値を
放り込む部分をうまく抽象化すればロジックに集中できる
ようになるよ。

テンプレート使っても値のセットを直に書いてると全然見やすく
ならない。
0728572006/03/20(月) 14:30:14ID:???
>>727
確かにそうなんですよねぇ。私もsmartyというヤツを使ったことが
ありあます。機能性はかなりいいのですが、動作が遅くて…
0729nobodyさん2006/03/20(月) 15:35:41ID:???
>>727
置換程度ですむなら、わざわざテンプレートシステムつかう必要はない。
ロジックが入ってきたり、ちょっと複雑なことをしたくなったら、そのときにテンプレートシステムを検討すればよい。
0730nobodyさん2006/03/20(月) 15:45:25ID:???
時代を先取りしていた MVC スレはここでつか?
0731nobodyさん2006/03/20(月) 15:58:08ID:???
でもテンプレートを間に入れとくと XSS とか防ぎやすくなるよ
0732nobodyさん2006/03/21(火) 22:46:59ID:???
>>726
私のやり方は似てるがちょっと違ってて次のようにHTMLをマーキングする。

<!--FUNCBEGIN display_title $title-->

... 何かHTML ... $title ...

<!--ENDFUNC-->

これを簡単に書いたコンパイラーを通して次のようなperlコードを生成する。
(自分はperl使うけど他の言語にも応用は効くと思う)

sub display_title {
my ($title) = @_;
print <<__END_HTML;

... 何かHTML ... $title ...

__END_HTML__
}

このようにして1つのHTMLを好きな単位で複数の論理的な単位に分解し、
プログラムから呼び出す。 プログラムは単純。 HTMLも単純。
ランタイムのオーバーヘッドもなし。 かなりおいしい方法だと
思ってるのだが。


0733nobodyさん2006/03/22(水) 08:16:53ID:???
>>732
そのHTMLの断片が使用するCSSやJavaScriptはどうしてる?
それらはまとめて1つのCSSファイルやJavaScriptにしてるのか、それともそいつらまで複数ファイルに分離しているのかききたい。

もし後者なら、HTMLの断片を、必要なCSSとJavaScriptもいっしょにして、いわゆるコンポーネントとしてまとめることができる。
JSPのカスタムタグのような大げさな方法でないから、スクリプト言語向きだよな。
0734nobodyさん2006/03/22(水) 09:54:29ID:???
Template::Toolkit 最強ということでおk?
0735nobodyさん2006/03/22(水) 20:29:36ID:???
>>733
使う画面はすべて1つのHTMLにまとめました。 画面によって違うCSSとか使うといったら
出来ないけど、自分の場合はCSSは1つで共通だったのでおk。
0736nobodyさん2006/03/22(水) 23:23:40ID:???
>>735
そこなんだよなあ。Portletのようなことをしたいとき、HTMLだけだったらなんとかなるんだけど、CSSとJavaScriptがどうもうまく扱えない。
まあ<head>の中で<script>や<style>を動的に出力すればいいだけともいえるのだが。
0737nobodyさん2006/03/24(金) 00:23:39ID:???
webプログラムって、ほんと、ごった煮技術だもんなぁ。
0738nobodyさん2006/04/02(日) 21:47:09ID:???
HTML上にアルゴリズム記述して動作させてる分にはウェブデザの範疇だと思うな。
ウェブデザがプログラム出来ないって事なら、HTMLとプログラムを分離すればいいだけ。
あくまでHTMLはウェブデザが記述して納品すべきモノ。

smartyの速度に不満があるってのは、速い鯖買わせるかzend買いなさい。
あるいはウェブデザを換えるかだね。プログラマが変わってもいいけど嫌だろ?
0739nobodyさん2006/04/29(土) 14:41:41ID:???
ASP.NETはだめなの?
HTMLとCSSでデザインして、必要なデータは引っ張ってこれるし、
ASP.NETの独自タグつかわなてもHTMLのタグでも、runat="server"さえ
挿入してやれば、ほとんど問題ないとおもうんだけど?
0740nobodyさん2006/07/20(木) 00:39:41ID:aTH5P7qm
スレッドと住民が分離している件について
0741nobodyさん2006/07/22(土) 09:22:32ID:???
src="script.cgi"って出来るコードならほぼ分離できる。
0742nobodyさん2006/07/26(水) 03:51:25ID:???
そんな複雑なこと許したら、cgiに実行権付け忘れて、スクリプトダウンロードさせまくりのサイトが量産されるだけだよ。
今でさえ、asp/jsp/php/plとかのページをクリックするとダウンロードが始まるサイトがあちこちにあるのに(w
0743nobodyさん2006/07/26(水) 11:03:38ID:???
複雑?w
web閲覧自体ダウンロードじゃなくてなんなのか問いたいw
0744nobodyさん2006/07/26(水) 19:02:34ID:???
そもそも静的ファイルをダウンロードする機能しか無いのに、スクリプト使って動的に生成する時点で規格外。
0745nobodyさん2006/07/26(水) 21:56:38ID:???
ん?
<img src="cnt.cgi">とかは普通にカウンターとかで使われてますよね?
0746nobodyさん2006/07/26(水) 22:40:05ID:???
サーバー側で何しようが、送られるべきモノさえ送られれば、何の問題も無いよ。
0747nobodyさん2006/07/27(木) 01:39:07ID:???
HTTPの仕様では、そこはcnt.cgiってイメージファイルを要求してるわけだが。
0748nobodyさん2006/07/27(木) 13:09:07ID:???
HTTPはプロトコルなので、サーバ側がどうデータを生成するべきかまでは規定していない。
0749nobodyさん2006/07/28(金) 01:21:49ID:???
ブラウザが想定してリクエストしている。鯖がリクエストに従って返せばいい。
0750nobodyさん2007/01/29(月) 12:17:19ID:HmfI8Dy9
age
0751nobodyさん2007/02/03(土) 04:41:04ID:???
javaならmayaaがいいかも
0752nobodyさん2007/02/05(月) 04:53:15ID:???
pythonならkidがいいかも
0753nobodyさん2007/02/20(火) 17:57:57ID:S18lAwTV
wicketってHTMLを分離できてる?一見できているように見えるんだけど、
実はできてないように思える。
0754nobodyさん2007/02/26(月) 18:23:31ID:???
PHPならCakeがいいかも
0755nobodyさん2007/02/26(月) 18:37:30ID:???
おまいら分離する事自体が間違いだと気付けよ
■ このスレッドは過去ログ倉庫に格納されています