0

Smarty を実行している Web サイト全体に header.tpl ファイルを含める必要があります。ページがブラウザでアクティブなときに、特定のナビゲーションメニュー要素がクラス「current-menu-item」を取るようにするphp-ifコードが必要です。

<ul>
<li class="current-menu-item"><a href="http://localhost/dbk/index.php">Home</a> </li>
<li><a href="#">Company</a>
  <ul class="sub-menu">
    <li><a href="http://localhost/dbk/about.php">About Company</a></li>
    <li><a href="http://localhost/dbk/team.php">Excuslive Team</a></li>
    <li><a href="http://localhost/dbk/global-business.php">Global Business</a></li>
    <li><a href="http://localhost/dbk/contract-manufacturing.php">Contract Manufacturing</a></li>
  </ul>
</li>
<li><a href="#">Our Products</a>
  <ul class="sub-menu">
    <li><a href="http://localhost/dbk/pharmaceutical-products.php">Pharmaceutical Products</a></li>
    <li><a href="http://localhost/dbk/products/herbal-and-food.php">Herbal & Food Supplements</a></li>
    <li><a href="http://localhost/dbk/products/cosmetics.php">Cosmetics</a></li>
    <li><a href="http://localhost/dbk/products/veterinary-products.php">Veterinary Products</a></li>
  </ul>
</li>
<li><a href="http://localhost/dbk/blog">News Room</a></li>
<li><a href="http://localhost/dbk/careers.php">Careers</a> </li>
<li><a href="http://localhost/dbk/contacts.php">Contacts</a></li>

4

2 に答える 2

1

どうやってやったの?

PHPスクリプトで、次のようなことを行います$smarty->assign("curPage", $currentPage);(またはあなたのやり方$currentPageで設定され$_GETます)。

そして、これをテンプレートファイルで使用します。

{foreach from=$aMenu key=key item=value}
    {assign var="class" value=""}
    {if $curPage == $value}
        {assign var="class" value=" class='current-menu-item'"}
    {/if}

    <li{$class}><a href="/{$value}">{$key}</a></li>
{/foreach}

説明されたステップで

  1. まず、foreachループを開始して、すべてのメニュー要素(PHPで設定)をループします。
  2. class空の変数を割り当てます。
  3. curPage(PHPを覚え$currentPageていますか?)が現在のforeachループ項目と一致するかどうかを確認します
  4. はいの場合、アイテムを選択済みに設定します(を使用class='current-menu-item')。
  5. 最後に<li>要素を出力します。
于 2013-03-14T13:17:39.357 に答える
0

ローカルに割り当てられた tpl 変数を介して、つまり:

<li {if $page == "about"}class="current-menu-item"{/if}><a href="http://localhost/dbk/about.php">About Company</a></li> 
<li {if $page == "team"}class="current-menu-item"{/if}><a href="http://localhost/dbk/team.php">Excuslive Team</a></li>
于 2012-07-30T15:32:28.367 に答える