Как я могу превратить свой сайт в одностраничное приложение?

Веб-сайт, который я создаю, содержит несколько php-файлов, каждый из которых имеет свою функциональность и может быть доступен по ссылке (когда вы нажимаете на ссылку, она направляет вас на соответствующую страницу).

Я думал о реализации навигации по боковой панели и привязки каждого php-файла к ссылке (кнопка, как).

Как это возможно?

1

Решение

Вы думаете об общем меню пользовательского интерфейса, которое ссылается на различные (созданные бэкендом) страницы вашего сайта.

Это прекрасный дизайн, но это не «Одна страница».

Одностраничное приложение означает, что одна бэкэнд-страница создала пользовательский интерфейс, и она изменяется в результате манипуляций с интерфейсом и, возможно, некоторых ajax-вызовов к бэкэнду. Никаких реальных «ссылок» на разные бэкэнд-страницы не выполняется, пока внутри одностраничного приложения.

0

Другие решения

Есть несколько способов, как это сделать.

На панели навигации вы можете передать переменную в каждой кнопке, например:

index.php? действие = readarticle

Затем, где бы вы ни захотели вывести файл, вы можете сделать что-то вроде этого:

<div id="leftmenu">your menu here (with links like index.php?action=readarticle)</div>
<div id="content">
<?php
if(isset($_GET["action"])) {
switch($_GET['action']) {
case "readarticle":
{
include('readarticle.php');
break;
}
}
}
?>
</div>
0

Это не будет работать только с PHP ..

Вы можете работать с Javascript, чтобы сделать приложение на одной странице.
Есть много доступных структур.

Взгляни на этот вопрос, чтобы увидеть некоторые, которые доступны.

но вам не нужны рамки для этого. Это также можно сделать с помощью чистого JavaScript или jquery.

Я был просто обеспокоен тем, что каждый раз, когда я нажимаю на ссылку, панель навигации также обновляется, и мне нужен способ просто сделать вещи более «плавными»

Вот простое решение:
Добавьте списки событий (нажмите) к вашим кнопкам или ссылкам. При обратном вызове сделайте ajax-запрос, чтобы получить файл (или JQuery нагрузки ()) и заполните элемент ответом.

0
По вопросам рекламы [email protected]