Tôi muốn đặt điều hướng html của mình trong một tệp php riêng biệt vì vậy khi tôi cần chỉnh sửa nó, tôi chỉ phải chỉnh sửa nó một lần. Sự cố bắt đầu khi tôi muốn thêm lớp đang hoạt động vào trang đang hoạt động.Cách thêm class = 'active' vào menu html với php
Tôi có ba trang và một tệp phổ biến.
common.php:
<?php
$nav = <<<EOD
<div id="nav">
<ul>
<li><a <? if($page == 'one'): ?> class="active"<? endif ?> href="index.php">Tab1</a>/</li>
<li><a href="two.php">Tab2</a></li>
<li><a href="three.php">Tab3</a></li>
</ul>
</div>
EOD;
?>
index.php: Cả ba trang giống hệt nhau ngoại trừ trang $ của họ là khác nhau trên mỗi trang.
<?php
$page = 'one';
require_once('common.php');
?>
<html>
<head></head>
<body>
<?php echo $nav; ?>
</body>
</html>
Điều này sẽ không hoạt động trừ khi tôi đặt nav trên mỗi trang, nhưng sau đó toàn bộ mục đích tách nav khỏi tất cả các trang bị hủy hoại.
Tôi muốn đạt được điều gì thậm chí có thể? Tôi đang làm gì sai?
Cảm ơn
EDIT: Khi làm điều này, các mã php bên trong li dường như không chạy, nó chỉ được in như thể nó là html
Trước tiên, PHP không được phân tích cú pháp trong chuỗi heredoc (chỉ biến) và thứ hai, số nhận dạng đóng (tức là EOD) phải ở đầu dòng. –
vâng xin lỗi tôi biết điều đó, nghĩ rằng sẽ dễ dàng hơn để đọc nó như thế. EOD ở đầu dòng trong mã của tôi, đó không phải là vấn đề. Vấn đề của tôi là nó in chính xác những gì có trong EOD, cũng là php. – patad
lý do là in php là do lỗi cú pháp: if ($ page == 'one'):?> nên là php if ($ page == 'one'):?> –