コンテンツとデザインの分離at PHP
コンテンツとデザインの分離 - 暇つぶし2ch684:nobodyさん
皇紀2665/04/01(金) 22:27:47 w41uHyAk
.

685:nobodyさん
皇紀2665/04/01(金) 23:49:43
今日とある携帯サイトがバグって思いっきりサーブレットの例外が出ててワロタんだが
Tapestory使ってたよ
実用で使ってるとこもあるんだなぁ。てかあんまし分かってないがTapestory。

686:nobodyさん
05/04/03 11:18:53
テンプレート使うなら、どうしてもループの概念ぐらいは必要だしなあ。
「横4列x縦n行で商品画像を並べて表示」みたいなのが鬼門。こういうのにまともに
対応できるデザイナーは少ないね。

687:nobodyさん
05/04/03 14:54:03
それって、いつも思うんだけど
設定ファイルか何かでカラム数を設定しておいて、予めプログラムで回しながらフラグ立てて置くのと
テンプレートの機能駆使しながらカウントしつつカラムつけるのどっちが効率良いんだろうか。

688:686
05/04/03 16:02:51
>>687
例えばPerl のtemplateToolkit なら、テンプレートに二重ループ書いておいて
(→ [% FOREACH %] <tr> [% FOREACH %] <td> </td> [% END %] </tr> [% END %] )
同じく二重構造のリストを引数で渡してやればOK
(→ [ [ item1, item2, item3 ,item4 ], [ item5, item6, .item7, item8 ] ] )

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



689:nobodyさん
05/04/04 00:03:30
>>686
div.product { width: 25%; float:left; }

>>688
テンプレートの構造に依存してデータ構造を変えるっていうのは考えもん。
デザインが変更でカラム数が変わったら使えなくなる。

690:nobodyさん
05/07/13 11:36:58 4YoqWe3k
hosh

691:nobodyさん
05/07/13 13:32:12 JaaneMSy
TTはいいあれはいいものだ

692:nobodyさん
05/07/13 22:31:13
TTオライリーの日本語版が欲しい

693:nobodyさん
05/07/14 03:23:34
TTってperlのtemplate toolkitのこと?
オライリーから出てるperl関係の本にちょこっと載ってなかったっけ?

で、template toolkitって、phpでいう所のsmartyって感じ?
もっと良いもの?

694:nobodyさん
05/07/15 00:44:21
template-toolkitのことです。
かなり奥深いんでもっと突っ込んだ内容の本が欲しいですねぇ。
基本的にsmartyと同じですがTTの方が基礎がしっかりしてて論理的に
ちゃんと作ってあるって感じがしますね。

695:nobodyさん
05/07/15 02:10:52
template toolkitの洋書がオライリーから出てんだね。
流石オライリー
オライリーには翻訳してもらいたい物が沢山あんだよね~~

696:nobodyさん
05/09/15 23:19:46
URLリンク(www.programmers-paradise.com)

ここの話は出てこないんだな。良くまとまってると思うんだけど。

697:nobodyさん
05/11/12 18:31:08
perlのSmartyクローンってないでしょうか?

698:nobodyさん
05/11/12 18:37:50 +mfMPo2s
age

699:nobodyさん
05/11/12 22:49:22
ざっと調べた感じではSmartyクローンは存在しないみたいだね。
簡単なテンプレートだったら自分で変換プログラム作ってTT使うのがいいのでは

700:697
05/11/12 23:21:56
自分はPerl使いたいんですが、デザイナがDreamweaver使ってる関係上、
Smartyがいいんですよね。
自分であんまり調べてないんでアレなんですが、キャッシュとかそういう
細かいところ考えなければ、そこまで手間かけずにできそうですね…

ところで、
Smartyのキャッシュってのは、要はそのまま実行できるPHPコードに
落としたってことなんでしょうか?それとも、もっと工夫とかしてるんで
しょうか?
識者の方、たのんます

701:nobodyさん
05/11/13 05:42:01
しょぼいけどこんなものも
URLリンク(template-toolkit.org)

>そのまま実行できるPHPコード
です。生成されるコードはあまり頭良くありません。
PerlからSmarty呼ぶPHPコードを作成してforkするのはキモいですねl。

702:nobodyさん
05/11/13 17:30:31
>>700
DreamweaverってSmartyのテンプレートを認識する機能があるの?


703:nobodyさん
05/11/15 19:03:20
>>702
ありますよ。デフォではないけど、ファイル落としてきて設定できます。
あと、極める PHP とかいう本に DW のテンプレート (*.tpl) を Smarty のプレフィルタ通して
そのまま使う方法が紹介されてたと思います。

704:nobodyさん
05/11/16 09:23:51
>>697
> 自分はPerl使いたいんですが、デザイナがDreamweaver使ってる関係上、
> Smartyがいいんですよね。
遊びならそういう考え方でもいいけどね、仕事ならデザイナに合わせるか、
デザイナに合わさせるか、どっちかにしなさい。


705:nobodyさん
05/11/16 10:19:34
?

706:nobodyさん
05/11/16 11:48:20
デザの主張ですから

707:nobodyさん
05/11/24 10:39:19
コンテンツとデザインの分離なんて夢物語だったんだよ…。

708:nobodyさん
05/11/24 13:52:42
>>707 >>28

709:nobodyさん
05/11/26 13:32:29
ロジックの成果物がコンテンツだろ。こだわるない。

710:nobodyさん
05/11/26 20:32:48
つまりデザインからデザインを分離したいスレだったと言うわけか

711:nobodyさん
05/11/27 14:35:30
コンテンツの提示・操作するインタフェイスがデザインだよ。
お前なんてテンプレートエンジン使ってテンプレートで満足しときな。

712:nobodyさん
05/11/27 14:45:49
いや、無知なら無理せずだまっとけばいいじゃん

713:nobodyさん
05/11/27 20:36:56
コンテンツとデザインの分離と聞いて思い浮かぶのが、
HTML(コンテンツ)とCSS(デザイン)。
でも、板的にこの解釈は違うよなぁ

714:nobodyさん
05/11/27 22:22:49
HTMLをまったくの修正無しにデザインを変えられたら、
コンテンツとデザインが分離されていると思うが、
実際は、CSSでデザインするために、divで囲ったり、
classやidを指定したりとHTMLを修正するのが現実。

715:nobodyさん
05/11/29 01:08:19
結局そこまでしてもHTMLで文書構造を記述してる奴なんて居ないしな。
ただ単にH1とか文書構造を記述するタグを使わなくなった奴が増えただけ。

716:nobodyさん
05/11/29 12:12:41
URLリンク(www.csszengarden.com)

717:nobodyさん
05/11/29 13:05:36
>>716
そういうの見ると、CSS の限界を感じるな。

718:nobodyさん
05/11/30 00:23:29
確かに。いくつか見てみたけどやたらと独善的なデザインが多いというか…、
よくあるBlogのデザインを超えれない感じ。
まぁ、Blog自体がデザインをCSSでやってる感じだからあたりまえっちゃあたりまえか。

719:メソドロジスト
05/12/31 23:24:10 8280SbsE
オブジェクトブラウザを使えばいいじゃない
サーバ側はオブジェクトDBで表示(表示せず検索だけっていうのもあり)はクライアントに任せる

720:nobodyさん
06/01/01 00:54:46 WHqdtVTb
>>719
ヒント: 普及

721:nobodyさん
06/01/05 11:40:54
>>718
Zen Gardenが先でBlogツールのデザイナーが真似してるんだが…

722:nobodyさん
06/01/06 08:03:48
>>713
コンテンツは何らかの DB でデザインは HTML + CSS という考え方も
この板的には可能だと思うけどね。

723:nobodyさん
06/03/01 13:25:50 oSoRhsQG
age

724:nobodyさん
06/03/18 03:31:11
分離なんかすんなよ
あっちこっち見なきゃいけないだろ

725:nobodyさん
06/03/19 20:24:10 SDrZ8pUg
>>724
うまく分離できれば、必要な箇所だけをみればすむので、逆に楽になる。
あっちこっちみなきゃいけないのは分離の仕方がまずいだけ。
関連するものはひとまとめにし、関連しない・関連がうすいものは別にする。
これをちゃんとやっていれば、分離した方がぜったい楽になる。
問題は、どうやったらうまい分離ができるのかだ。それを議論するためにこのスレがある。


726:185
06/03/19 22:40:59
私が以前試したやり方はこうです。
1. HTMLに<{title}>のような記述をする。
2. プログラム側で<{title}>を置き換えるためのコードを書く。
3. プログラムにHTMLを読み込んで,<{title}>の部分を置き換える。
4. 出力する。

結局、HTMLは見やすくなりましたが、プログラムの方はわかりにく
くなりました。(ただし、1の言うようなprintの嵐は回避できました)

727:nobodyさん
06/03/20 10:52:21
>>726
そういうのはわざわざ自分でやらずにテンプレートシステム
使った方が楽じゃないの?  で、テンプレートに実際に値を
放り込む部分をうまく抽象化すればロジックに集中できる
ようになるよ。

テンプレート使っても値のセットを直に書いてると全然見やすく
ならない。


728:57
06/03/20 14:30:14
>>727
確かにそうなんですよねぇ。私もsmartyというヤツを使ったことが
ありあます。機能性はかなりいいのですが、動作が遅くて…

729:nobodyさん
06/03/20 15:35:41
>>727
置換程度ですむなら、わざわざテンプレートシステムつかう必要はない。
ロジックが入ってきたり、ちょっと複雑なことをしたくなったら、そのときにテンプレートシステムを検討すればよい。


730:nobodyさん
06/03/20 15:45:25
時代を先取りしていた MVC スレはここでつか?

731:nobodyさん
06/03/20 15:58:08
でもテンプレートを間に入れとくと XSS とか防ぎやすくなるよ


732:nobodyさん
06/03/21 22:46:59
>>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も単純。
ランタイムのオーバーヘッドもなし。 かなりおいしい方法だと
思ってるのだが。




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

もし後者なら、HTMLの断片を、必要なCSSとJavaScriptもいっしょにして、いわゆるコンポーネントとしてまとめることができる。
JSPのカスタムタグのような大げさな方法でないから、スクリプト言語向きだよな。

734:nobodyさん
06/03/22 09:54:29
Template::Toolkit 最強ということでおk?

735:nobodyさん
06/03/22 20:29:36
>>733
使う画面はすべて1つのHTMLにまとめました。 画面によって違うCSSとか使うといったら
出来ないけど、自分の場合はCSSは1つで共通だったのでおk。

736:nobodyさん
06/03/22 23:23:40
>>735
そこなんだよなあ。Portletのようなことをしたいとき、HTMLだけだったらなんとかなるんだけど、CSSとJavaScriptがどうもうまく扱えない。
まあ<head>の中で<script>や<style>を動的に出力すればいいだけともいえるのだが。

737:nobodyさん
06/03/24 00:23:39
webプログラムって、ほんと、ごった煮技術だもんなぁ。

738:nobodyさん
06/04/02 21:47:09
HTML上にアルゴリズム記述して動作させてる分にはウェブデザの範疇だと思うな。
ウェブデザがプログラム出来ないって事なら、HTMLとプログラムを分離すればいいだけ。
あくまでHTMLはウェブデザが記述して納品すべきモノ。

smartyの速度に不満があるってのは、速い鯖買わせるかzend買いなさい。
あるいはウェブデザを換えるかだね。プログラマが変わってもいいけど嫌だろ?

739:nobodyさん
06/04/29 14:41:41
ASP.NETはだめなの?
HTMLとCSSでデザインして、必要なデータは引っ張ってこれるし、
ASP.NETの独自タグつかわなてもHTMLのタグでも、runat="server"さえ
挿入してやれば、ほとんど問題ないとおもうんだけど?

740:nobodyさん
06/07/20 00:39:41 aTH5P7qm
スレッドと住民が分離している件について

741:nobodyさん
06/07/22 09:22:32
src="script.cgi"って出来るコードならほぼ分離できる。

742:nobodyさん
06/07/26 03:51:25
そんな複雑なこと許したら、cgiに実行権付け忘れて、スクリプトダウンロードさせまくりのサイトが量産されるだけだよ。
今でさえ、asp/jsp/php/plとかのページをクリックするとダウンロードが始まるサイトがあちこちにあるのに(w

743:nobodyさん
06/07/26 11:03:38
複雑?w
web閲覧自体ダウンロードじゃなくてなんなのか問いたいw

744:nobodyさん
06/07/26 19:02:34
そもそも静的ファイルをダウンロードする機能しか無いのに、スクリプト使って動的に生成する時点で規格外。

745:nobodyさん
06/07/26 21:56:38
ん?
<img src="cnt.cgi">とかは普通にカウンターとかで使われてますよね?

746:nobodyさん
06/07/26 22:40:05
サーバー側で何しようが、送られるべきモノさえ送られれば、何の問題も無いよ。

747:nobodyさん
06/07/27 01:39:07
HTTPの仕様では、そこはcnt.cgiってイメージファイルを要求してるわけだが。

748:nobodyさん
06/07/27 13:09:07
HTTPはプロトコルなので、サーバ側がどうデータを生成するべきかまでは規定していない。

749:nobodyさん
06/07/28 01:21:49
ブラウザが想定してリクエストしている。鯖がリクエストに従って返せばいい。

750:nobodyさん
07/01/29 12:17:19 HmfI8Dy9
age

751:nobodyさん
07/02/03 04:41:04
javaならmayaaがいいかも


752:nobodyさん
07/02/05 04:53:15
pythonならkidがいいかも

753:nobodyさん
07/02/20 17:57:57 S18lAwTV
wicketってHTMLを分離できてる?一見できているように見えるんだけど、
実はできてないように思える。

754:nobodyさん
07/02/26 18:23:31
PHPならCakeがいいかも

755:nobodyさん
07/02/26 18:37:30
おまいら分離する事自体が間違いだと気付けよ

756:nobodyさん
07/02/26 20:11:23
どの点が間違えているのか頭の悪い私にもわかるように具体的に説明してください><

757:nobodyさん
07/02/27 09:35:29
>>755
諦めたらそこで試合sy(ry

758:nobodyさん
07/03/26 16:01:21
モデルとデザインは分離するけど
デザインはコンテンツの一部な気がしなくもない。

759:nobodyさん
07/05/04 11:04:13 /O1lAt+h
wicket だ、wicket

760:nobodyさん
07/05/04 18:39:36
wicketはあんまりうまく分離できないだろ。

761:nobodyさん
09/01/06 01:23:35 9VtJjPjs
>>4
こういう感じのことをASP.NETでできる?

762:nobodyさん
09/05/20 19:22:02
<html>
<head></head>
<body>
<form>
<input name="foo" type="input" value="<?php echo $_GET["aaa"]?>">
</form>
</body>

INPUTの値を動的に変えようとするとこういう風になってしまうんだが、コードとHTML部分が混じっていて非常に気持ち悪い。
どうにかして分離する方法はないのか?
言いやり方があったら教えてほしい。

763:nobodyさん
09/05/29 01:35:16
いっその事こうするとか、
<?php
echo <<< EOF
<html>
<head></head>
<body>
<form>
<input name="foo" type="input" value="{$_GET[aaa]}">
</form>
</body>
EOF;
?>

764:nobodyさん
09/05/29 22:25:04
URLリンク(anond.hatelabo.jp)
みたいに簡単な独自のテンプレート作るとか。

765:nobodyさん
09/06/10 19:41:19
いまさらこんなこと議論する必要ないだろww

766:nobodyさん
11/09/27 17:26:25.54
編集が楽だろうね

767:nobodyさん
11/09/30 02:17:50.88
コンデンサに見えたw

768:nobodyさん
11/09/30 21:09:39.94
え?

769:nobodyさん
11/10/04 16:48:57.75
コンデンサ?

770:nobodyさん
11/10/28 05:53:01.26
芸術とか、芸術的とかいう言葉がどうも気恥ずかしい。
自分を芸術家だとおもっている人たちも苦手である。ぼくはイラストレーターであり、子供の頃から
絵を描くことが大好ぎだったが、画家になろうなどとおもったことは一度もなかった。
小学生の時、ゴッホの画集を見ていて、自分の耳を切る話はまったく理解できなかった。気味悪
い男だなあとおもった。
絵を描いていると、インタビューなどでよく訊かれる。「壁にぶち当たったり、描けなくて悩んだりし
たことはありませんか」、などといった質問だ。
ぼくは答える。「芸術家じゃありませんので、そんな恰好いいことはないですよ」
描けなかったり悩んだりするくらいならとっくにこの仕事はやめている。楽しいからやっているのだ。
自分を芸術家だとおもっている人たちのファッションも苦手だ。普通のシャツを着れぱいいのに少
しも似合わないマオカラーのシャツなどを着る。どこか普通じゃないことを主張したいのだろうか。
このマオカラー愛好家に何故か建築家が多いのもふしぎである。デザイン関係者にもこのマオカ
ラーファンが多く、全国のデザイン会議などあると半分くらいがマオカラーを着て現れる。弁解して
おくが、マオカラーのシャツが悪いのではない。自分は普通じゃない、芸術家なんだといった輩に
魅入られてしまったのが不幸である。マオカラーには同情する。
人前で絵を描いたりするのも勘弁だ。ワークショップなどはぞっとする。人前で音楽に合わせて絵
を描くなどは死刑に等しい。もしも肉親がそんなことをしたら自殺するだろう。(イラストレーター)

771:nobodyさん
11/12/05 22:52:58.61 xh2P0rA5
コンデンサ?

772: 忍法帖【Lv=40,xxxPT】(5+0:8) 【42.4m】 電脳プリオン ◆3YKmpu7JR7Ic
13/01/03 13:54:59.63 BE:162163744-PLT(12079)
  ∧_∧
  ( ・∀・)      | | ガガッ
 と    )      | |
   Y /ノ      .人
    / ) .人   <  >_∧∩
  _/し' <  >_∧∩`Д´)/
 (_フ彡 V`Д´)/   / ←>>564
            / ←>>563

773:nobodyさん
13/08/28 NY:AN:NY.AN
コンデンサ?

774:nobodyさん
13/08/29 NY:AN:NY.AN
   /''⌒\     +
 ,,..' -‐==''"フ + . .*
  ゜(n‘∀‘)η .+  ぬるぽ~!
.  (   ノ
.  (_)_)

775:nobodyさん
13/09/03 08:14:13.19
コンデンサ?

776:nobodyさん
14/01/09 02:55:56.93
コンディション

777:nobodyさん
14/01/14 23:46:49.68
コンフェデレーション


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch