早速、本題に入りましょう
バックエンドで働いたことがある人なら、ナビゲーションを処理するために iframe がよく使用されることをご存知でしょう。一般的な考え方に従ってこの関数を実行すると、非常に簡単です
。 Smarty を使用すると、たとえば、iframeset は、ヘッドトップ、左側のメニュー、右側のメイン、
通常、smarty を使用して処理すると、次のようになります。
3 つのページが単純な場合静的ページの場合、
iframe.html コードは次のように処理されます:
コードをコピーします コードは次のとおりです:
;
コードは次のとおりです以下のように: // top.php: $smarty->assign('user', $names );
smarty_Output('top.php') //menu.php:
$arr=GetMenu();
$smarty->assign('menu', $arr); menu.php');
//main.php
$smarty->assign('serverInfo', $serverInfoArr);
smarty_Output('main.php'); iframe ページ
smarty_Output('iframe.html')
上記の処理方法は要件を完全に満たすことができます
iframe.html コード:
コードをコピー
<フレームセットcols="180,*" name="btFrame" id="btFrame"frameborder="NO" border="0"framespacing="0"> menu.php" id="leftbar" noresize name="menu"scrolling= "yes">
ここで、これら 3 つのコンテンツ ページを個別に処理する必要があると仮定します。異なる役割、3 つのページは異なる効果を表示する必要があります。
上記の処理方法だと、3ページを別々に処理する必要があるため、当然冗長な処理が多くなり、今後のメンテナンスが面倒になります
そこで、以下の方法を考え、専用の処理プログラムを独自に作成しました。 iframe.php を使用し、上記 3 つの条件をシミュレートしました。 コードはページに直接掲載されます
:
iframe.php バックエンド コード:
switch($src) { case "top": / *ここに処理コードを入れます*/ smarty_Output('top.html');
break;case "menu":
/*ここに処理コードを入れます*/
smarty_Output('menu .html');
break;
case "main":
/*ここに処理コードを入れます*/
break; :
break;
}
iframe.html:
コードをコピー
コードは次のとおりです。 🎜>
こうすることでさらに便利になりました