2017-11-21 16 views
0

私は自分のカスタムテーマを開発中です。問題は、上記の投稿のラベルと、タイトルの下の日付のタイムスタンプを含めることです。 <b:include data=メソッドを使用するときは、明らかに最良の解決策ではないpost-headerクラスのdivを出力するたびに(1つの投稿ヘッダーに2つあります)。私も<data:post.timestamp />で古い方法を試しましたが、それは私にCan't find substitution...エラーを与えました。Bloggerで重複した「投稿ヘッダ」クラス

私はドキュメントを読もうとしましたが、これに対する解決策は見つかりませんでした。私はどんな考えにも感謝します。

EDIT: 右、私はインクルード別々に作成し、ポストの内側にそれを含めました:

<b:includable id="postTimestamp" var="post"> 
    <div class="post-timestamp"> 
     <data:post.timestamp/> 
    </div> 
</b:includable> 

しかし、今、私は、ブラウザのコンソールにエラー、次のいる:

<!-- Can't find substitution for tag [post.timestamp] --> 

EDIT 2:

ありがとう@Rafv!実際に私はすでにあなたに私を指示した方法でラベルを表示するために管理しますが、使用してきました:

<b:include data='{ items: ["timestamp"] }' name='headerBylineOverride'/> 

すると、次のHTML構造で私の葉:

<div class="post-container"> 
    <div class="post-labels" /> 
    <h3 class="post-title" /> 
    <div class="post-header" /> 
    <div class="post-body-container" /> 
</div> 

post-header div要素は自動的に行われ、私はこれをしたいですpost-timestampのように、異なるクラスのマニュアルにすること。

EDIT 3:

はID postTimestampが何らかの形で標準ブロガーのために予約されていることが判明し、IDが含まれます。 includableを除去した後、それが意図したほぼそのまま動作します - タイムスタンプが要素間でいくつかの次のエラーで生成されている:

<span class="byline post-timestamp"> 
    <!--Can't find substitution for tag [byline.label]--> 
    <meta content="URL"> 
    <a class="timestamp-link" href="URL" /> 
</span> 

おかげで、いくつかのケースで ルカシュ

答えて

0

、あなたが内部<data:.../>を使用することはできませんタグ。 試すdata='{ items: [ "timestamp"] }'あなたのマークアップは次のようにする必要があります:ちょうど新しいまたは異なるクラスにカスタムポストラベルを作成し、タイトルの上に置くか、(通常はデフォルトブロガーのテンプレートのタイトル)を見つけ、あなたのタイトルの上にラベルを作成するには

<b:include data='{ items: ["timestamp"] }' name='headerBylineOverride'/> 

<div class='post-title-container'>とそれを上に置く。ここでは例を示します。

<div class='labels-post'> 
    <b:if cond='data:post.labels'> 
     <b:loop values='data:post.labels' var='label'> 
      <a expr:href='data:label.url' rel='tag'><data:label.name/></a> 
      <b:if cond='data:label.isLast != &quot;true&quot;'/> 
     </b:loop> 
    </b:if> 
</div> 

は、次に同様にあなたが望むようにそれをスタイル:

.labels-post { 
    //styling... 
} 

.labels-post a { 
    //stuff... 
} 

と日付のタイムスタンプのための

は、ちょうどそれがあなたのタイトルの下に、あなたのタイムスタンプを作った可能性が <div class='post-title-container'>の下 <b:include data='post' name='headerByline'/>を置きます。あなたはそれのいずれかの重複が

編集があるかどう非表示にしたい要素やクラスへ

使用display:none

<div class="post-labels" /> 
<h3 class="post-title" /> 
<div class="post-header" /> 
<div class="post-body-container" /> 

thisまたはthis、 と最後を参照して、タグではありませんあなたはpage element tagを読むことができますので、widget tag layout google-blogger docより

+0

ありがとう@Rafv!私は私の質問を更新しました。 – LucaThemes

+0

私はすべてそれを得る、私はどのようにHTMLのように見えている:)これは、XMLテンプレートがコンパイルされた後、ブラウザでの最終的な出力です。 Bloggerのタグは、ここでの主な問題である「投稿ヘッダ」クラスで自動的にdivを作成します。 – LucaThemes

関連する問題