1

私がHTMLで持っている例:

<div id="red-nav-warp">
  <ul id="red-nav-logo">
    <li><img class="sponsors" id="sponsorone" src="media/img/logosmall.png" /></li>
  </ul>
  <ul class="clearfix" id="red-nav-list-member" >
    <li><?php $themeSys->Href('logout',$langSys->get('LOGOUT')); ?></li>
    <li><?php $themeSys->Href('settings',$langSys->get('SETTINGS')); ?></li>
  </ul>    
  <ul class="clearfix" id="red-nav-list" >
    <li><?php $themeSys->Href('home',$langSys->get('HOME')); ?></li>
    <li><?php $themeSys->Href('why',$langSys->get('WHY')); ?></li>
    <li><?php $themeSys->Href('register',$langSys->get('REGISTER')); ?></a></li>
    <li><?php $themeSys->Href('account',$langSys->get('MEMBER')); ?></a></li>
    <li><?php $themeSys->Href('community',$langSys->get('COMMUNITY')); ?></a></li>
    <li><?php $themeSys->Href('blog',$langSys->get('BLOG')); ?></a></li>
    <li><?php $themeSys->Href('partners',$langSys->get('PARTNERS')); ?></a></li>
  </ul> 

  <div class="clearfix"></div>    
</div><!-- END red-nav-warp -->

彼がログインしているユーザーの場合、私が表示したいのはHTMLの一部です。

<div id="red-nav-warp">
  <ul id="red-nav-logo">
    <li><img class="sponsors" id="sponsorone" src="media/img/logosmall.png" /></li>
  </ul>

  <!-- hidden or no output -->  
  <ul class="clearfix" id="red-nav-list" >
    <li><?php $themeSys->Href('home',$langSys->get('HOME')); ?></li>
    <li><?php $themeSys->Href('why',$langSys->get('WHY')); ?></li>
    <li><?php $themeSys->Href('register',$langSys->get('REGISTER')); ?></a></li>
    <li><?php $themeSys->Href('account',$langSys->get('MEMBER')); ?></a></li>
    <li><?php $themeSys->Href('community',$langSys->get('COMMUNITY')); ?></a></li>
    <li><?php $themeSys->Href('blog',$langSys->get('BLOG')); ?></a></li>
    <li><?php $themeSys->Href('partners',$langSys->get('PARTNERS')); ?></a></li>
  </ul> 

  <div class="clearfix"></div>    
</div><!-- END red-nav-warp -->

誰もが物事を隠すことができるアイデアやサンプルクラスを持っているので、私はそれを次のように書くことができます(可能であればクラスの方が良いです)。

<div id="red-nav-warp">
  <ul id="red-nav-logo">
    <li><img class="sponsors" id="sponsorone" src="media/img/logosmall.png" /></li>
   </ul>
   <?php $hideSys->hiddenbelow(); ?> <!-- some hide class or some magic -->
   <ul class="clearfix" id="red-nav-list-member" >
     <li><?php $themeSys->Href('logout',$langSys->get('LOGOUT')); ?></li>
     <li><?php $themeSys->Href('settings',$langSys->get('SETTINGS')); ?></li>
   </ul>
   <?php $hideSys->stop(); ?> <!-- end some hide class or some magic -->   
   <ul class="clearfix" id="red-nav-list" >
     <li><?php $themeSys->Href('home',$langSys->get('HOME')); ?></li>
     <li><?php $themeSys->Href('why',$langSys->get('WHY')); ?></li>
     <li><?php $themeSys->Href('register',$langSys->get('REGISTER')); ?></a></li>
     <li><?php $themeSys->Href('account',$langSys->get('MEMBER')); ?></a></li>
     <li><?php $themeSys->Href('community',$langSys->get('COMMUNITY')); ?></a></li>
     <li><?php $themeSys->Href('blog',$langSys->get('BLOG')); ?></a></li>
     <li><?php $themeSys->Href('partners',$langSys->get('PARTNERS')); ?></a></li>
   </ul> 

   <div class="clearfix"></div>    
</div><!-- END red-nav-warp -->

私がやったこと、そしてはい、少なくとも私が試みているのは壮大な失敗だと知っています:)

<?php  
/**
* TRYING TO HIDE SOME PART OF HTML
* useing if $_Session['login'] = true;
*/
class Hideing
{
  function __construct()
  {

  }

  function hiddenbelow()
  {
    return "if($_Session['login']){"; // epic fail
  }

  function stop()
  {
    return "}";
  }
}

$hideSys = new Hideing;
?>

ご覧いただきありがとうございます、

アダムラマダン

4

2 に答える 2

1

コードは文字列を返すだけです。PHPはそれを自動的に実行しません。

あなたがする必要があります

 </ul>
 <?php if($_Session['login']) { ?> <!-- some hide class or some magic -->
 <ul class="clearfix" id="red-nav-list-member" >
  <li><?php $themeSys->Href('logout',$langSys->get('LOGOUT')); ?></li>
  <li><?php $themeSys->Href('settings',$langSys->get('SETTINGS')); ?></li>
 </ul>
 <?php } ?> <!-- end some hide class or some magic -->   
 <ul class="clearfix" id="red-nav-list" >

モデルビューとコントローラーロジックを分離する方法について読んだことがあり、そのロジックをクラスにカプセル化したいと思うかもしれませんが、PHPコードにifが必要です。

 </ul>
 <?php if($hideSys->isLoggedIn()) { ?> <!-- some hide class or some magic -->
 <ul class="clearfix" id="red-nav-list-member" >
  <li><?php $themeSys->Href('logout',$langSys->get('LOGOUT')); ?></li>
  <li><?php $themeSys->Href('settings',$langSys->get('SETTINGS')); ?></li>
 </ul>
 <?php } ?> <!-- end some hide class or some magic -->   
 <ul class="clearfix" id="red-nav-list" >

isLoggedIn()メソッドがブール値のtrueまたはfalse変数を返す場合。

于 2010-07-24T12:49:26.077 に答える
0

非表示にするコードを次のようにラップします。

<?php if ($_SESSION['login']): ?>
<!-- code goes here -->
<?php endif; ?>
于 2010-07-24T12:48:07.400 に答える