1

Tumblr のテーマを変更しています。ページ ニュースレターがあり、このページにのみサインアップ フォームを追加したい (ハード コード)。

Tumblr で現在のページ == 'ニュースレター' か何かを確認することはできますか? もしかしてIDで?

投稿には可能ですが、ページには必要です。

ありがとう!

4

2 に答える 2

3

(少し)より安全な解決策/ハック -

{block:PermalinkPage}{block:Posts}{block:PostTitle}
<script>
    var postID = '{PostID}',
        postTitle = {JSPostTitle};

    if (!postID && postTitle === 'Name of your Newsletter Page') {
        // Tumblr custom "pages" have no post ID

        // Dynamically insert your HTML, or Dynamically "Show" a hidden element
    }
</script>
{/block:PostTitle}{/block:Posts}{/block:PermalinkPage}

Name of your Newsletter PageTumblr でニュースレターのページに割り当てたページ タイトルはどこにありますか。

<script>これをラップ{block:PermalinkPage}...etcすることで、スクリプトが適切な種類のページでのみレンダリングされるようになります。

次に、安全のために、このパーマリンク ページに Post ID がないことを確認する必要があります。そのため、実際のPostと誤って一致することはありません。投稿 ID のないパーマリンク ページの他の唯一の可能性は、カスタム tumblr ページであるため、ページ タイトルを事前に設定された値にチェックするだけで十分です。

window.location一般に、ページの に基づいて切り替えることは、実際には良い解決策ではありません。

サインアップ フォームの作成/表示に関しては、個人的には Tumblr テーマでフォームをハードコーディングdisplay: noneし、JavaScript で表示されるフォームを切り替えるだけですが、それが私の意見です。スクリプトを使用して DOM に挿入することもできます。

于 2013-01-21T11:24:55.590 に答える
0

残念ながらその機能はTumblrにはありません。あなたがしなければならないことは、あなたが見ているページの URL をチェックすることです。これはとても簡単です。

JavaScript で次のようなことができるはずです。

var currentPath = window.location.pathname; // store current path

if( currentPath.indexOf('newsletter') ) { // check if 'newsletter' is in our path
  // add your sign up form here
}
于 2013-01-14T20:17:02.003 に答える