Как загрузить HTML-фрагмент на страницу, не меняя страницы

0

Я новичок в PHP (3 дня), и я понимаю, что основная концепция использования включает в себя создание шаблонов высокого уровня. Я бы хотел использовать этот инструмент для загрузки более подробного контента, но я не уверен, как подойти к этому. Ниже приведен html пример шаблона страницы, который вместе с php включает. Если вы ссылаетесь на этот html, скажем, у меня есть виджет на странице, содержащейся здесь: <?php include('include/WIDGET.php');?> <?php include('include/WIDGET.php');?>. В простейшем из сценариев будет существовать ссылка над виджетами, которая читает "Виджет 2". При щелчке по этой ссылке я бы хотел, WIDGET.php содержимое WIDGET.php было заменено на widget2.php. Как я могу манипулировать включением для загрузки widget2.php?

HTML

<!-- File: index.php -->  

        <html>
            <head>
                <?php include('include/head.php');?>
                <title><?php echo $siteName;?></title>
            </head>
            <body>
                <?php include('include/header.php'); ?>
        <!-- CONTENT -->
                <?php include('include/WIDGET.php'); ?>
                <?php include('include/main-content.php'); ?>
        <!-- CONTENT END -->
                <?php include('include/footer.php'); ?>
            </body>
        </html>
Теги:
templates
include

1 ответ

0

Чтобы изменить, какие файлы включены, вам нужно будет указать на странице какой-то параметр, который может условно включать правильный виджет.

Например, включив его в строку запроса URL, например:

http://yoursite/index.php?content=widget2

Затем в вашем файле PHP вы можете получить это значение:

if (isset($_GET['content']) && !empty($_GET['content'])) {
     $widget = $_GET['content'];
} else {
     $widget = 'widget';
}

И включите его в свой HTML:

[...]
<!-- CONTENT -->
<?php include('include/' . $widget . '.php'); ?>
[...]

Это просто привести пример логики, но я не буду использовать код, как я его представил, поскольку он невероятно небезопасен и не проверяет наличие файлов и т.д.

Я знаю, что вы только начинаете, и это очень важно принять сразу, но вы можете рассмотреть возможность использования фреймворка PHP, такого как Zend или Symfony, или CakePHP, чтобы воспользоваться некоторыми решениями маршрутизации и шаблонов, которые уже были настроенный для вас.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню