1

我正在修改 Tumblr 主题。我有一个页面时事通讯,并且仅在此页面上我想添加一个注册表单(硬编码)。

是否可以在 Tumblr 中查看当前页面是否 == 'newsletter' 或其他内容?也许是通过身份证?

我知道帖子是可能的,但我需要一个页面。

谢谢!

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 Page您在 Tumblr 上分配时事通讯页面的页面标题在哪里。

将其包装<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 回答