注释掉内容 - HTML 和 PHP

Commenting out Content - HTML and PHP

我目前正在为我的雇主调整 BigCommerce 主题。他们要求我删除和更改一些 CSS / HTML 元素以适应他们所追求的样式和功能。

我不只是删除主题中的功能,而是希望将其注释掉以备日后需要。但是我的格式有问题。

以下是 ProductDetails.html 面板文件中显示的代码:

    <div class="Content" id="prodAccordion">
        %%Panel.ProductTabs%%
        %%Panel.ProductDescription%%
        %%Panel.ProductVideos%%
        %%Panel.ProductWarranty%%
        %%Panel.ProductOtherDetails%%
        %%Panel.SimilarProductsByTag%%
        %%Panel.ProductReviews%%
        %%Panel.ProductByCategory%%
        %%Panel.SimilarProductsByCustomerViews%%
    </div>

我试图只注释掉最后 3 行。

但是,当我这样做时,评论的结尾 (-->) 会显示在浏览器中。我已经正确地关闭了评论,但一定有一些我遗漏的简单概念。希望 SO 的好人可以提供帮助。

下面是我保存的代码和浏览器中显示的屏幕截图。第一个屏幕截图是我添加任何评论之前的样子,第二个是我添加评论之后的样子。你可以清楚地看到第二张图片中的结束评论,谁能告诉我为什么?

在此先感谢您的帮助。

    <div class="Content" id="prodAccordion">
        %%Panel.ProductTabs%%
        %%Panel.ProductDescription%%
        %%Panel.ProductVideos%%
        %%Panel.ProductWarranty%%
        %%Panel.ProductOtherDetails%%
        %%Panel.SimilarProductsByTag%%
        <!--%%Panel.ProductReviews%%-->
        <!--%%Panel.ProductByCategory%%-->
        <!--%%Panel.SimilarProductsByCustomerViews%%-->
    </div>

Nicole,我已经处理过这个问题,并且可以明确地解释 为什么 会发生这种情况以及 如何 避免它。

为什么会这样

它正在发生,因为这是 BigCommerce 的服务器端 PHP 处理器解析您正在查看的代码的方式。代码是基本的 HTML,而 %%Panel.something%% 只是 BigCommerce 的处理器将其识别为 BigCommerce 命令的简单方法。
每当 BC 站点看到 %%Panel.Name%%,它就知道这不是 HTML,而是 BC 服务器端处理器应该在提供此 HTML 之前插入面板文件的地方给用户。

如何避免和正确注释掉

简单地说,删除 % 符号并使用常规注释。这将起作用:

 <!-- Panel.ProductReviews-->

这也是:

 <!--%%Panel.ProductReviews-->

还有这个:

  <!-- Panel.ProductReviews%%-->

甚至这样:

  <!-- %Panel.ProductReviews% -->

主要是,您必须确保 Panel.Name 参考的每一面,每一面都没有 2 % 符号

恢复正确注释掉的内容Code/Panel

像这样简单地恢复每边的2个%符号(-%之间的空格无关紧要,你可以有none或10 ):

  <!-- %%Panel.ProductReviews%% -->

为什么您会在实时网站上看到 -->

正如您问题的评论中的 broached/explained 一样,您在像 <!--%%Panel.Name%%--> 这样评论面板时会看到 --> 因为通过这种方式评论面板而不删除至少一个 % 符号,您仍然告诉 BigCommerce 加载面板 HTML 文件,但将其放在

<!-- [HTML code from panel goes here] -->

问题很简单,其中一些 Panel 文件本身包含注释。 例如,假设您像 !<--%%Panel.Header%%--> 这样注释掉 %%Panel.Header%%。 Header.html 面板可能是这样的代码:

<!-- this is the header code panel-->
<div class"MainHeader">
     <ul class="TopNav">
         ...
     </ul>
</div>

通过在不删除 % 符号的情况下注释掉代码,BigCommerce 将加载此内容:

<!--
<!-- this is the header code panel-->
<div class"MainHeader">
     <ul class="TopNav">
         ...
     </ul>
</div>
-->

当用户打开一个使用 Header.html 面板的页面时,他们将看到此代码的注释 <!--<!-- this is the header code panel-->,因为浏览器会在第一个<!--开始评论,在第一个-->出现时结束评论。

在浏览器中,用户将看到未注释的剩余部分:

<div class"MainHeader">
     <ul class="TopNav">
         ...
     </ul>
</div>
-->

因此您会看到一些额外的,可能已损坏的 HTML,以及在注释不当的代码末尾某处的杂散 -->

同样,要避免这一切,只需删除其中一个 % 符号,然后使用常规注释来注释掉 Panel 文件引用。

让我知道这是否有帮助,如果您有任何其他问题。