Dreamweaver 的 PHP 模板核心思想是 “模板”“可编辑区域”,你创建一个主页面框架(模板),然后在其中定义哪些部分是动态变化的(可编辑区域),最后基于这个模板生成具体的 PHP 页面。

dreamweaver php模板
(图片来源网络,侵删)

核心概念:模板、可编辑区域和重复区域

在开始之前,你需要理解 Dreamweaver 模板中的三个核心元素:

  1. 模板

    • 一个包含固定结构和通用元素的文件(通常是 .dwt.php 扩展名)。
    • 它定义了网站的整体布局,如页头、页脚、导航栏等。
    • 模板文件本身不能直接在浏览器中访问。
  2. 可编辑区域

    • 这是模板中唯一可以被修改的部分。
    • 当你基于模板创建新页面时,你只能编辑这些区域。
    • 在新闻列表模板中,每条新闻的标题和内容就是可编辑区域。
  3. 重复区域

    dreamweaver php模板
    (图片来源网络,侵删)
    • 这是一个特殊的可编辑区域,用于显示动态的、列表式的数据,比如文章列表、产品目录、用户评论等。
    • Dreamweaver 允许你为重复区域定义一个“项目”,然后在生成页面时,通过 PHP 代码循环这个项目来显示多条记录。

操作步骤:创建一个简单的 PHP 模板网站

我们将创建一个包含“页头”、“导航”、“内容区”和“页脚”的网站模板。

第 1 步:创建站点

在 Dreamweaver 中定义一个本地站点,这非常重要,因为它能让 Dreamweaver 正确处理文件路径和模板。

  1. 打开 Dreamweaver,选择 站点 -> 新建站点
  2. 为你的站点命名("My PHP Site")。
  3. 设置本地站点文件夹(D:\xampp\htdocs\mysite)。
  4. 确保“服务器”选项卡也配置正确,指向你的本地服务器(如 XAMPP、WAMP 等)。

第 2 步:创建模板文件

  1. 在文件面板中,右键点击你的站点根目录。
  2. 选择 新建 -> HTML 模板,Dreamweaver 会创建一个名为 untitled.dwt.php 的文件。将其重命名为 main_template.dwt.php.dwt.php 扩展名有助于识别它是一个 PHP 模板。

第 3 步:设计模板布局

打开 main_template.dwt.php 文件,像设计普通 HTML 页面一样,搭建你的网站框架。

<!DOCTYPE html>
<html lang="zh-CN">
<head>
    <meta charset="UTF-8">我的网站 - <strong>标题可编辑</strong></title>
    <link rel="stylesheet" href="css/style.css">
</head>
<body>
    <header>
        <h1>网站页头 (固定)</h1>
        <nav>
            <ul>
                <li><a href="index.php">首页</a></li>
                <li><a href="about.php">关于我们</a></li>
                <li><a href="contact.php">联系我们</a></li>
            </ul>
        </nav>
    </header>
    <main>
        <!-- 这里将是我们的主要内容区域 -->
        <h2>主要内容区</h2>
        <p>这是页面的主体内容,将在每个页面中不同。</p>
    </main>
    <footer>
        <p>&copy; 2025 我的网站. 版权所有.</p>
    </footer>
</body>
</html>

第 4 步:定义可编辑区域

我们需要将 <main> 区域标记为可编辑区域。

dreamweaver php模板
(图片来源网络,侵删)
  1. 在设计视图中,选中 <main> 标签内的所有内容(从 <h2></p>)。
  2. 在右侧的“插入”面板中,找到“模板”类别。
  3. 点击“可编辑区域”图标。
  4. 在弹出的对话框中,为这个区域命名,MainContent
  5. 点击“确定”。

Dreamweaver 会在你的代码中插入特殊的注释标记,看起来像这样:

<main>
    <!-- TemplateBeginEditable name="MainContent" -->
    <h2>主要内容区</h2>
    <p>这是页面的主体内容,将在每个页面中不同。</p>
    <!-- TemplateEndEditable -->
</main>

同样,你也可以为 <title> 标签中的内容创建一个可编辑区域,命名为 PageTitle

第 5 步:基于模板创建新页面

这是模板最强大的功能,现在我们可以轻松地创建遵循此布局的新页面。

  1. 在文件面板中,右键点击你的站点根目录。
  2. 选择 新建 -> 基于模板的页面
  3. 在弹出的窗口中,选择你刚刚创建的 main_template.dwt.php
  4. 将新文件命名为 index.php

打开 index.php,你会发现只有你在模板中定义的 MainContentPageTitle 区域是可编辑的(高亮显示),其他部分都是灰色的,不可编辑,你可以在这些区域填入首页的特定内容。

第 6 步:使用重复区域(高级功能)

假设我们要创建一个新闻列表页面,每条新闻的格式都一样,但内容不同。

  1. 在模板中创建重复区域:

    • 打开 main_template.dwt.php
    • 设计一条新闻的 HTML 结构,
      <article class="news-item">
          <h3>新闻标题</h3>
          <p class="news-summary">这里是新闻摘要...</p>
          <p class="news-date">2025-10-27</p>
      </article>
    • 选中整个 <article>
    • 在“插入”面板的“模板”类别中,点击“重复区域”。
    • 命名这个区域,NewsList
  2. 创建数据文件:

    • 创建一个简单的 PHP 文件来模拟数据库数据,news_data.php
      <?php
      $news = [
          [
              'title' => '网站正式上线',
              'summary' => '经过几个月的开发,我们的网站今天终于正式上线了!',
              'date' => '2025-10-27'
          ],
          [
              'title' => '推出全新产品线',
              'summary' => '我们很高兴地宣布,公司即将推出全新的产品线。',
              'date' => '2025-10-26'
          ],
          [
              'title' => '参加行业展会',
              'summary' => '下周我们将参加在上海举办的年度行业展会,欢迎莅临指导。',
              'date' => '2025-10-25'
          ]
      ];
      ?>
  3. 在页面中应用重复区域:

    • 创建一个基于模板的新页面,命名为 news.php

    • 切换到代码视图,在 NewsList 的重复区域注释之间,编写 PHP 循环代码来遍历数据:

      <!-- TemplateBeginEditable name="MainContent" -->
      <h2>新闻动态</h2>
      <?php
      // 引入数据文件
      require_once('news_data.php');
      ?>
      <?php if (!empty($news)): ?>
          <?php foreach ($news as $item): ?>
              <!-- 这里是重复区域的结构 -->
              <article class="news-item">
                  <h3><?php echo htmlspecialchars($item['title']); ?></h3>
                  <p class="news-summary"><?php echo htmlspecialchars($item['summary']); ?></p>
                  <p class="news-date"><?php echo $item['date']; ?></p>
              </article>
          <?php endforeach; ?>
      <?php else: ?>
          <p>暂无新闻。</p>
      <?php endif; ?>
      <!-- TemplateEndEditable -->
    • 当你在浏览器中访问 news.php 时,它会循环显示 news_data.php 中的所有新闻条目。


重要提示与最佳实践

  1. 更新模板:

    • 当你修改了 main_template.dwt.php 并保存时,Dreamweaver 会弹出一个对话框,询问你是否要更新所有基于此模板的页面,选择“是”可以一次性更新整个网站的布局。
  2. Dreamweaver 的局限性:

    • 过时的技术: Dreamweaver 的模板系统更侧重于静态页面的布局,对于复杂的 PHP 应用(如 MVC 框架、内容管理系统),它的功能就显得力不从心。
    • 代码生成: 它生成的 PHP 代码有时会比较冗余或不够“优雅”,不符合现代 PHP 开发的最佳实践(如使用 Composer、PSR 标准等)。
    • 依赖可视化: 过度依赖 Dreamweaver 的可视化界面可能会让你忽视对 HTML、CSS 和 PHP 基础的深入理解。
  3. 现代替代方案:

    • 模板引擎: 专业 PHP 开发通常使用专门的模板引擎,如 TwigBlade (Laravel),它们提供更强大、更灵活的功能(如模板继承、包含、宏等),并且性能更好。
    • 静态站点生成器: 对于内容不常变的网站,可以使用如 JekyllHugo 等工具,它们用模板生成纯 HTML 文件,速度极快。
    • 现代编辑器: VS Code 配合 PHP Intelephense、Prettier 等插件,是当前更主流、更轻量、更灵活的开发环境。

Dreamweaver 的 PHP 模板功能对于初学者或需要快速构建具有统一布局的中小型静态/半动态网站来说,是一个非常直观和高效的工具,它能帮助你快速建立网站框架,并保持页面风格的一致性。

如果你立志成为一名专业的 PHP 后端开发者,或者需要构建复杂的 Web 应用,建议你尽早学习并转向使用现代的代码编辑器、专业的 IDE 以及专业的 PHP 模板引擎,Dreamweaver 可以作为一个入门的辅助工具,但不应是你技术栈的终点。