2017-01-31 2 views
0

私はCouch CMSを使用しています。ヘッダーの背景を編集可能な領域にしました。その後、管理ページから画像を変更すると、新しい画像はホームページ他のページに、私はindex.phpの中で、このヘッダーの背景すべてのページで画像が変更されない

<?php echo file_get_contents("header.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(); ?> 

なぜインデックスを除いて他のページにヘッダーページの内容が表示されるのですか?

答えて

0

通常のhtmlタグのペアには、Couch CMSのcms:editableを追加する必要があると思います。そのよう

は:

<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の残りの部分を指定します。

0

実際には、ヘッダーを本物のテンプレートとして使用する必要はありません。なぜなら、URLを使用してブラウザから直接アクセスするとは思われないからです。 代わりに、他のテンプレートに含めることができる 'スニペット'に変換する必要があります。

これを行うには、「header.html」という名前のテキストファイルを作成し、次の内容で作成し、このファイルをあなたのCouchインストールの「スニペット」フォルダに入れてください(「admin」という名前に変更されているようです)。あなたの場合)。スニペットには<?php require_once('admin/cms.php'); ?>または<?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(); ? 

これが役に立ちます。

関連する問題