0

私はオープンカートを学んでいますが、この質問はPHPの知識があれば誰でも答えることができると思います.

そのページでのみリンクを強調表示しようとしていますが、機能していないようです

<?php $tickets = 'index.php?route=product/category&path=600'; ?>
<ul>
    <li><a href="http://www.limerickfc.ie">Limerick FC</a></li>
    <li><a href="<?php echo $tickets; ?>" <?php
if (strpos($_SERVER['PHP_SELF'], $tickets )) echo "class=\"current\" ";
?>  > Tickets     </a></li>
    <li><a href="<?php echo $home; ?>" class="current">Shop</a></li>
</ul>

$ticketsリンクが移動するはずの場所に移動するため、変数が問題ないことはわかっています。また、3番目のショップcurrentで機能するため、クラスが問題ないこともわかっています。li

私はstrpos正しく使用していますか?

4

2 に答える 2

1

を使うべきだと思いますbasename($_SERVER['REQUEST_URI']);

<a href="<?php echo $tickets; ?>" <?php echo (basename($_SERVER['REQUEST_URI']) == $tickets) ? '"class=\"current\"' : ""; ?>>Tickets</a>

basename($_SERVER['REQUEST_URI'])変数で宣言した方が良いでしょう。

于 2012-11-21T13:35:26.833 に答える
0

strpos()文字列が char 0 で一致する場合は false を返します - 上記はそうです。

===真の結果を得るには、同一の比較を使用してください。

注として、私substr_count()は過去に同様の状況で同じ比較を必要とせずに使用しました!

于 2012-11-21T13:07:28.997 に答える