HTMLコンテンツを開発するアプリケーションでは、後で返されるperl文字列で記述されます。条件の結果に基づいてHTMLの特定の部分を表示する必要があるケースがあります。 HTMLはマークアップだけなので、理解できません。 Perlなどを使ってこれを回避する方法はありますか?(2つの異なるテンプレートを作成する以外に)条件に基づいてHTMLコンテンツを表示
ありがとう!
HTMLコンテンツを開発するアプリケーションでは、後で返されるperl文字列で記述されます。条件の結果に基づいてHTMLの特定の部分を表示する必要があるケースがあります。 HTMLはマークアップだけなので、理解できません。 Perlなどを使ってこれを回避する方法はありますか?(2つの異なるテンプレートを作成する以外に)条件に基づいてHTMLコンテンツを表示
ありがとう!
if
ステートメントに基づいて、非常に簡単に文字列に異なるものを置くことができます。
my $thing_to_insert = "";
if (condition()) {
$thing_to_insert = '<div>...</div>';
} else {
$thing_to_insert = '<p>...</p>';
}
my $html = "<div>$thing_to_insert</div>";
return $html;
Template ToolkitやText :: Xslateなどのテンプレート言語を使用すると、通常はより良い方法です。
これは私の目を傷つける。 :D – simbabque
私は文字列として大きなHTMLを持っており、その決定に基づいて1つのボタンを表示しなければならないと言っています。 残りは同じである必要があります。 どのようにしてHTML間にperl文字列を追加できますか?
のようになります。 。 。 ..... 。 。 – raita@raita - 答えに例を挙げました。 – Quentin
HTML文字列の作成時に表示する内容を決定する必要があります。基本的な用語で
、あなたのコードは次のようになります。
my $html = '<html><head>... [lots of HTML]';
if ($we_want_to_show_the_button) {
$html .= '<button> ... [button html] ... </button>';
}
$html .= '[lots more HTML] ... </body></html>';
私たちはあなたのPerlコード内の文字列を連結してHTMLを生成することは恐ろしい考えであることを20年前から知られてきたこと、しかし、注意してください。さまざまな条件が満たされていれば、さまざまなビットを表示するためのロジックと一緒に、すべてのHTMLをテンプレートに入れておく方が良いでしょう。
<html>
<head>...</head>
<body>
... lots of HTML omitted ...
[% IF we_want_to_show_the_button -%]
<button> ... </button>
[% END -%]
... lots more HTML ...
</body>
</html>
あなたは、[この話を見て]することがあります(https://www.youtube.com/watch?v=:あなたはテンプレートTooikitを使用している場合
、それは次のようになります。 jKOqtRMT85s)。 – simbabque