【问题标题】:A way to edit content by altering one file?一种通过更改一个文件来编辑内容的方法?
【发布时间】:2010-04-13 10:48:11
【问题描述】:

我的网站左侧有一个联系人 css 选项卡,我有超过 30 个页面,我不想稍后在数据更改时手动更改所有这些页面。有谁知道解决方案,所以我只需更改 1 个文件即可编辑所有页面?

也许在 javascript 中?

下面的代码是针对标签的

<div class="slide-out-div">
        <a class="handle" href="http://link-for-non-js-users">Content</a>
      <h3>Onze contact gegevens</h3>
        <p>Adres: van Ostadestraat 55<br />
          Postcode: 8932 JZ<br />
        Plaats: Leeuwarden<br />
        Tel: 058 844 66 28<br />
        Mob: 0629594595
        <br />
        E-mail: <a href="mailto:info@friesecomputerservice.nl">info@friesecomputerservice.nl</a><br /><br />
        </p>
<p>Mocht u vragen hebben dan kunt u gerust bij ons terecht voor meer informatie.</p>

编辑:

这是在我的html中

<!--#include virtual="contact.txt" -->
  </body>

这是我的contact.txt,它位于我的网络文件夹的腐烂处:

<div class="slide-out-div">
        <a class="handle" href="http://link-for-non-js-users">Content</a>
      <h3>Onze contact gegevens</h3>
        <p>Adres: van Ostadestraat 55<br />
          Postcode: 8932 JZ<br />
        Plaats: Leeuwarden<br />
        Tel: 058 844 66 28<br />
        Mob: 0629594595
        <br />
        E-mail: <a href="mailto:info@friesecomputerservice.nl">info@friesecomputerservice.nl</a><br /><br />
        </p>
<p>Mocht u vragen hebben dan kunt u gerust bij ons terecht voor meer informatie.</p>

【问题讨论】:

  • 我认为这是我的主机方的问题,我有一个共享主机

标签: css server-side-includes


【解决方案1】:

您可能想使用Server Side Includes (SSI)。

您可以将您的代码 sn-p 放入一个单独的文件中,例如 contact.txt,然后您只需使用以下命令在所有 30 个页面中引用它:

<!--#include virtual="contact.txt" -->

所有流行的 Web 服务器都支持 SSI,包括 Apache、IIS 和 lighttpd。

【讨论】:

  • @Chris:你使用的是什么网络服务器? SSI 可能被禁用...当您从 Web 浏览器打开 html 页面并单击“查看源代码”时,您是否找到 &lt;!--#include virtual="contact.txt" --&gt; 评论?如果是,则禁用 SSI。如果不是,那么很可能只是路径不正确。
  • Apache/2.2.8 (Ubuntu) PHP/5.2.4-2ubuntu5.5 with Suhosin-Patch
  • 它被包含在源代码中,就像复制到源代码中一样。路径没问题,然后它确实被禁用了。还有其他选择吗?
  • @Chris:您可能需要按照这个简短的教程来启用 SSI:help.ubuntu.com/community/ServerSideIncludes... 是的,php 可能是另一种选择。
  • @Chris。然后你可以使用 php include,但我想你必须将所有 30 个页面重命名为 *.php ...这是一个关于 php include 的简短教程:w3schools.com/PHP/php_includes.asp。基本上你只需要做&lt;?php include("contact.txt"); ?&gt;
【解决方案2】:

使用相关的 HTML/文本创建一个文本文件,并将其放入您希望它出现的 HTML 中。

<!--#include virtual="path to file/include-file.txt" -->

希望有帮助:)

更新:

经过冗长的讨论,将您的页面重命名为 .php 而不是 .html 并将您的联系人重命名为 .php 而不是 .txt 并使用它来包含您的文件:

<?php include('contact.php'); ?>

如果您的页面位于不同的目录中,请使用:

<?php include($DOCUMENT_ROOT . "/path-to-files/contact.php"); ?>

这将强制页面查看您网站的根目录。

【讨论】:

    【解决方案3】:

    按照建议,您可以使用 Apache 的 SSI。这取决于所使用的特定网络服务器和模块。

    要达到这个结果,你可以做两件事:

    使用某种支持它的模板语言,并在上传到您的网络服务器之前“编译”它。使用 ruby​​ 的 ERB 就是一个例子。

    另一种方法是使用服务器端编程语言(我推荐 PHP,因为它简单、易于部署并且有大量文档)在服务器上为您执行此操作。

    这是一个使用 PHP 的简单示例:http://www.albinoblacksheep.com/tutorial/include

    【讨论】:

      【解决方案4】:

      当我接受 Daniel 和 Kyle 的解决方案时(并且我 +1 他们的答案)

      如果我在你的情况下。我用您的联系信息制作了一个 html,然后将它与一个框架一起包含在 30 个其他页面中,例如

      • contact.html(仅包含联系信息)
      • page1.htm
      • pagex.htm
      • page30.htm

      并在一个 pagex.htm 中放入以下代码

      <body>
           Other part of page ....
           <iframe id="contact" src="../contact.htm"></iframe>
      </body>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2019-01-20
        • 1970-01-01
        • 2017-06-29
        • 1970-01-01
        • 2015-04-11
        • 1970-01-01
        • 2014-05-18
        • 1970-01-01
        相关资源
        最近更新 更多