だから、前のCakePHPに導入されることに、私は私が書いた以下の(というずさんな)コード(FYI absolute_url
が、私は絶対パスを取得するために書いた関数であった)で、URLに応じて適切なナビゲーションタブをハイライトしたい:CakePHPを使っているページに従ってタブをハイライトする最も良い方法は?
$page = $_SERVER['PHP_SELF'];
// add all possible states for the navigation to an array
$checkNav = array(
"index" => "index",
"new" => "new",
"random" => "random",
"submit" => "submit"
);
$compareAgainst = strpos($page, $checkNav['index']);
if ($compareAgainst == 0) {
echo "<li><a href=\"" . absolute_url("index") . "\"><span class=\"navBorder\">Popular</span></a></li>\n";
} else {
echo "<li><a href=\"" . absolute_url("index") . "\" id=\"current\">Popular</a></li>\n";
}
$compareAgainst = strpos($page, $checkNav['new']);
if ($compareAgainst == 0) {
echo "<li><a href=\"" . absolute_url("new") . "\"><span class=\"navBorder\">New</span></a></li>\n";
} else {
echo "<li><a href=\"" . absolute_url("new") . "\" id=\"current\">New</a></li>\n";
}
$compareAgainst = strpos($page, $checkNav['random']);
if ($compareAgainst == 0) {
echo "<li><a href=\"" . absolute_url("random") . "\"><span class=\"navBorder\">Random</span></a></li>\n";
} else {
echo "<li><a href=\"" . absolute_url("random") . "\" id=\"current\">Random</a></li>\n";
}
$compareAgainst = strpos($page, $checkNav['submit']);
if ($compareAgainst == 0) {
echo "<li><a href=\"" . absolute_url("submit") . "\"><span class=\"navBorder\">+ Submit a Link</span></a></li>\n";
} else {
echo "<li><a href=\"" . absolute_url("submit") . "\" id=\"current\">+ Submit a Link</a></li>\n";
}
さて、私は相対パスを決定するために、そのケーキに気づいた、私は行くことができます:
<?= $this->here; ?>
はこれを行うには良い方法はありますか、私はこの(新しい)を実装する必要があります古いコードのメソッド?
本当にきれいなアイデア。 – maiko