簡體   English   中英

頁眉背景圖像在cms的所有頁面中均未更改

[英]Header background Image does not change in all pages from cms

我正在使用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(); ?>

為什么當我在除索引之外的其他頁面中獲得標題頁內容時,圖像沒有變化?

我認為您需要將Couch CMS的cms:editable附加到常規html標簽對中。

像這樣:

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

您只需要附加一個style="background-image: url("<cms:show header />");" 到您的主標頭容器。

例如

<cms:editable name='header' type='image' style='style="background-image: url("<cms:show header />");'/>

在主要樣式文件中指定其余的CSS。

實際上,您實際上不需要將“標頭”用作完整的模板(因為我不認為應該使用其URL直接通過瀏覽器對其進行訪問)。 相反,應該將其轉換為“片段”,然后將其包含在其他模板中。

為此,請創建一個名為“ header.html”的文本文件,其中包含以下內容,然后將該文件放置在Couch安裝的“ snippets”文件夾中(在您的情況下,該文件夾似乎已重命名為“ admin”)。 請注意,沒有<?php require_once('admin/cms.php'); ?> <?php require_once('admin/cms.php'); ?><?php COUCH::invoke(); ?> <?php COUCH::invoke(); ?>段中必須包含<?php COUCH::invoke(); ?>

.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(); ?

希望這可以幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM