在PHP文件中包含另一个文件中的HTML标记



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

假设我有mainindex。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标记。如果你知道一个更干净的方法

感谢所有的帮助!

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

最新更新