首页 > 解决方案 > 在 PHP 文件中包含来自另一个文件的 HTML 标记

问题描述

所以这是我正在使用的方法,它有点工作,但我不认为这是最佳实践,只是看起来有点不对劲,所以我想看看是否有人知道导入 HTML 标记的更好和/或更清洁的方法将位于两个位置。

所以假设我有我的主要index.php文件:

$mode = get_field('mode');
<?php if ($mode == 'page'): ?>
    <div class="container my-4 <?= $class_name?>">
        <div class="row justify-content-md-center pardot-form">
            <div class="col-md-6 col-lg-6">
                <h3>Pardot Form</h3>
                <?php include_once 'pardot-form.php'?>
            </div>
        </div>
    </div>
<?php else: ?>
    <div class="modal_element" data-toggle="modal" data-target="#modal-<?= $id ?>" data-cookie="<?= get_field('cookie'); ?>"></div>
    <div class="modal fade" id="modal-<?= $id ?>" tabindex="-1" role="dialog" aria-hidden="true">
        <div class="modal-dialog modal-dialog-centered">
            <div class="modal-content">
                <div class="modal-header">
                    <h5 class="modal-title" id="exampleModalLabel">Pardot Form</h5>
                    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                        <span aria-hidden="true">&#10005;</span>
                    </button>
                </div>
                <div class="modal-body">
                    <?php include_once 'pardot-form.php'?>
                </div>
            </div>
        </div>
    </div>
<?php endif; ?>

然后我<?php include_once 'pardot-form.php'?>在两个位置调用,因为我不想重复相同的 HTML 输出两次,所以pardot-form.php文件包含以下内容:

<form class="form">
    <div class="form-group">
        <label for="formGroupExampleInput">First Name:</label>
        <input type="text" class="form-control" id="formGroupExampleInput" placeholder="Example input placeholder">
    </div>
    <div class="form-group">
        <label for="formGroupExampleInput2">Last Name:</label>
        <input type="text" class="form-control" id="formGroupExampleInput2" placeholder="Another input placeholder">
    </div>
    <div class="my-3">
        <button type="submit" class="btn btn-primary" disabled>Submit</button>
    </div>
</form>

有没有一种更简洁的方法来“抓取 HTML 标记并将其附加到两个位置”,唯一的区别是外层,其中一个条件是容器块,另一个是模式。

如果您知道更简洁的方法,我什至可以删除pardot-form.php文件并在同一个index.php文件中添加 HTML 标记。

感谢所有帮助!

标签: phphtml

解决方案


您可以保存include_once 'pardot-form.php'$mode = get_field('mode');声明下的变量中,然后在任何您想要的地方使用它。


推荐阅读