2010-02-07 30 views
5

Vì vậy, tôi có một trang web và tôi đang sử dụng một trình đơn cơ bản nằm ở góc trên cùng bên phải của màn hình. Đó là các liên kết như sau:Có một menu đơn trên nhiều trang?

| Home | Blog | Results | Pictures | Our Location | 

Thỉnh thoảng, tôi cần thêm liên kết mới vào menu hoặc thay đổi vị trí một liên kết trỏ đến. Điều này có nghĩa rằng trên mỗi trang mà trình đơn tồn tại tôi phải tự thay đổi liên kết. Chắc chắn có một số cách để có một menu chính mà chỉ cần đặt trên mỗi trang.

Hay tôi đang mơ?

+0

Giải pháp có sẵn tại đây: http://stackoverflow.com/questions/39447411/how-to-load-nav-menu-from-an-external-file-no-wamp-all-code-must- be-browser – Ampere

Trả lời

3

Đặt menu trong một tệp riêng biệt và bao gồm nó ở phía máy chủ, hoặc sử dụng ngôn ngữ kịch bản lệnh đầy đủ như PHP (một dòng) hoặc sử dụng SSI.

+0

Tôi không biết php. Bạn có thể cung cấp một ví dụ về cách sử dụng SSI không? –

+1

Có một ví dụ về SSI trong bài viết liên kết (') và trong PHP nó sẽ là:' '. –

+0

S .: Vì vậy, tôi vừa phát hiện ra Yahoo Small Business không hỗ trợ '.shtml'. Bất kỳ tùy chọn nào khác? –

3

Có nhiều cách khác nhau để thực hiện việc này. Nó phụ thuộc vào những gì bạn có thể truy cập trên máy chủ. Có thể cơ chế đơn giản nhất là server-side includes. Bạn sẽ chỉ có một tập tin có chứa trình đơn và bao gồm nó trên mỗi trang.

Bạn cũng có thể thực hiện việc này với mọi ngôn ngữ lập trình theo nhiều cách hay thanh lịch.

EDIT: SSI khá đơn giản. Bạn chỉ có thể tạo tệp /header.html, sau đó thực hiện:

<!--#include virtual="/header.html" --> 

ở vị trí thích hợp.

0

Có chương trình phía máy chủ xác định trình đơn và vị trí của liên kết cần phải có ở đó. Sau đó sử dụng ajax để định kỳ thăm dò ý kiến ​​kịch bản phía máy chủ để có được nội dung của trình đơn tại thời điểm hiện tại.

Nó muốn được dễ dàng để có nó gửi dữ liệu xml lại như:

<menu> 
    <link name="Home" href="destinationhome.html"/> 
... 
    <link name="Pictures" href="....html"/> 
</menu> 

Sau đó, xây dựng liên kết của bạn từ dữ liệu đó.

1

sử dụng PHP bao gồm trên tất cả các trang của bạn

<?php include 'includes/menu.php'; ?> 

và có một menu.php riêng biệt trong một thư mục có tên 'bao gồm'. bạn sẽ cần phải lưu tất cả các trang oyur như .php

bạn có thể làm cho chân của bạn như là một bao gồm quá

0

Bạn có thể tạo các trang từ các mẫu trước khi tải chúng: Xem Template Toolkit.

1

Tôi nghĩ đây là cách dễ nhất để thực hiện nó mà không có ngôn ngữ phía máy chủ. Sử dụng thư viện javascript như W3Data. Tất cả những gì bạn cần làm là thêm thuộc tính w3-include-html vào div của bạn. Làm xong!

Nếu trình đơn của bạn nằm trong tệp có tên menu.html, bạn sẽ làm một việc như thế này.

<div w3-include-html="menu.html"></div> 
+0

Tôi đã thử nghiệm với các cách tiếp cận khác nhau và hoạt động này hoàn hảo. Thư viện là w3.js từ các trường W3 và việc sử dụng nó được ghi chép đầy đủ trên trang web của trường W3. –

Các vấn đề liên quan