2012-04-05 4 views
0

私はiPadでこれをタイプしているので、簡潔であれば少し失礼です。私の質問は次のとおりです:新しい(比較的)イグナイタをコードする:いくつかの基本的な質問

ビュー内に単純なロジックを持つことはこれまでで大丈夫ですか?たとえば、

<HTML> 
<!-- ... Stuff 
--> 
<?php if($this->session->userdata('authorized'): ?> 
<p>You are authorized</p> 
<?php else: ?> 
<p>You are not authorized</p> 
<?php endif; ?> // Question 1, is this the proper use of an endif:? 
<!-- .. Stuff 
->> 
</HTML> 

/* Starting to type the rest of message on my laptop. Big thank yous to the coders on 
    this site who made my pc login transfer my unsaved, half typed iPad post */ 

上記のコードでは、限定されたPHPの使用が醜いものになっていたはずです。私はそれが見えるようにしたかった。

とにかく、上には、#2の質問:それはビューでは、このような簡単な条件を使用しても、適切な

ですか?

もう一度お読みいただきありがとうございます。

答えて

1

最初の質問に対する回答: これはendifを正しく使用しているため、すべてが有効であり、codeigniterによって推奨されています。

2番目の質問では、この方法はビューファイルで使用できます。しかし、私は$dataの配列をページに渡して使用することをお勧めします。つまり、アクセスする意味は$authorisedです。私はフロントエンドのデザイナーにとってもっと理にかなっていると言います。

アレイの情報はhereです。「コントローラにロジックを追加する」に移動してください。

私はこれがあなたに役立つことを望みます。

+0

お返事ありがとうございます。明確な助け。 – STONEYFTW

1

Language classを使用して、「あなたは許可されました」と「あなたは許可されていません」というテキストを保存してください。コントローラでセッションチェックを行い、正しい言語値をデータ配列のビューに渡します。

編集:STONYFTWからの追加質問:

1のような、より複雑なコードのビットをどのようにアプローチを取る必要があります:?

<?php if(!$this->session->userdata('isLoggedIn')): ?> 
      <div id="login_form"> 
       <?php echo form_open('login/validateCredentials'); ?> 
       <?php echo form_input('username', 'Username'); ?> 
       <?php echo form_password('password', 'Password'); ?> 
       <?php echo form_submit('submit', 'Log In'); ?> 
       <div id="login_form_link_container"> 
        <?php echo anchor('login/register', 'Register')." ".anchor('login/recover','Forgot Pass?'); ?> 
       </div> 
      </div> 
    <?php endif; ?> 
+0

同じアプローチですか?私は言語クラスを一度も使用していません。 – STONEYFTW

+0

その場合、私はポルケロの答えに別の眺めの提案と一緒に行く方が良いと思います。 – AndrewR

+0

継続していただきありがとうございます。それは有り難いです。 – STONEYFTW

1

は、私は、それぞれの場合のためのコントローラには貴様のビューを使用することをお勧めいたします:

// In the controller 
if($this->session->userdata('authorized') 
    $this->load->view('not_autorized.php'); 
else 
    $this->load->view('view.php'); 

は、だから、ビュークリーンなコードを取得します。

+0

ページ上に「ビジュアル」の各部分を表示することをお勧めしますか?つまり、同時に多くの異なる意見を呼び出すことは容認できるのでしょうか? – STONEYFTW

+0

+1。あなたはおそらくビューの内容を返し、それを盲目的に出力することができるhtmlコンテンツを保持する変数(つまり、 '<?= $ auth_view;?>')として別のビューに渡したいと思うでしょう。 – landons

+0

複数のビューを呼び出すことは可能です。ビューはHTMLページである必要はないと考える必要があります。それはどんなファイルでもかまいません。 – porquero