【问题标题】:Header background Image does not change in all pages from cms标题背景图像在 cms 的所有页面中都没有变化
【发布时间】:2017-01-31 09:45:01
【问题描述】:

我正在使用 Couch CMS,并且我将标题背景设置为可编辑区域,然后当我从管理页面更改图像时,新图像仅出现在主页中,尽管在其他页面中我使用它

<?php echo file_get_contents("header.php");  ?>

index.php 中的代码:

    <?php require_once('admin/cms.php'); ?>
    <cms:template title = 'English Home Page'>
    <cms:editable name='header' type='image' />
    </cms:template>
     <?php echo file_get_contents("header.php");  ?>
    <?php COUCH::invoke(); ?>

header.php 中的代码

    <?php require_once( 'admin/cms.php' ); ?>
    .site-header {
        background-image: url("<cms:show header />");
        background-repeat: no-repeat;
        background-position: center;
        background-attachment: notdefined;
        background-clip: padding-box;
        background-size: cover;
        background-origin: padding-box;
    }

    <?php COUCH::invoke(); ?>

为什么当我在除索引之外的其他页面中获取标题页面内容时,图像没有改变??

【问题讨论】:

    标签: php css content-management-system


    【解决方案1】:

    您实际上不需要将“标题”用作成熟的模板(因为我认为不应该通过浏览器使用其 URL 直接访问它)。 相反,它应该被转换成一个“sn-p”,然后可以包含在其他模板中。

    为此,请使用以下内容创建一个名为“header.html”的文本文件,然后将此文件放在 Couch 安装的“sn-ps”文件夹中(似乎已重命名为“admin”在你的情况下)。请注意,在 sn-ps 中不需要 &lt;?php require_once('admin/cms.php'); ?&gt;&lt;?php COUCH::invoke(); ?&gt;

    .site-header {
    background-image: url("<cms:get_custom_field 'header' masterpage='index.php' />");
    background-repeat: no-repeat;
    background-position: center;
    background-attachment: notdefined;
    background-clip: padding-box;
    background-size: cover;
    background-origin: padding-box;
    }
    

    接下来,在您希望包含标题的所有模板中,使用以下语句

    <cms:embed 'header.html' />
    

    因此,例如,您的 index.php 模板现在将变为 -

    <?php require_once('admin/cms.php'); ?>
    <cms:template title = 'English Home Page'>
        <cms:editable name='header' type='image' />
    </cms:template>
    
    <cms:embed 'header.html' />
    <?php COUCH::invoke(); ?
    

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      我认为您需要将 Couch CMS 的 cms:editable 附加到常规 html 标记对。

      像这样:

      <div class="header-bg" style="background-image: url('<cms:show header />');"></div>
      

      您只需将style="background-image: url("&lt;cms:show header /&gt;");" 附加到您的主标题容器。

      例如

      &lt;cms:editable name='header' type='image' style='style="background-image: url("&lt;cms:show header /&gt;");'/&gt;

      在主样式文件中指定 CSS 的其余部分。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-09-05
        • 2020-10-12
        • 1970-01-01
        • 1970-01-01
        • 2012-09-07
        • 1970-01-01
        相关资源
        最近更新 更多