所以我遇到了一个相当复杂的问题。请允许我解释......
我有一个EE网站,其中80%的流量来自他们博客帖子的社交分享,因此确保Twitter和Facebook元数据是完美的是关键。 FB和TW要求share card上显示的元数据放在您网站的标记内。
人们共享网站有两种不同的时间
1。)博客文章
2.)global:网站上不是博客文章的任何其他页面
我需要meta标签内的变量/值,内部根据用户是否共享博客帖子或全局页面而改变。如果他们在博客文章中,请使用特定帖子的EE变量。
这是我用粗略的JS语法编写我最终需要的东西的草率尝试:
<head>
if (is blog post) {
{exp:channel:entries channel="blog" limit="1"}
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:site" content="@lorem"/>
<meta name="twitter:title" content="{title}"/>
<meta name="twitter:description" content="{excerpt}"/>
<meta name="twitter:image:src" content="{blog_thumbnail}"/>
{/exp:channel:entries}
} else {
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:site" content="@lorem"/>
<meta name="twitter:title" content="Lorem ipsum dolor"/>
<meta name="twitter:description" content="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent tempus velit enim, sit amet pulvinar sapien blandit et. In facilisis tortor vitae quam venenatis euismod. Nunc auctor lorem porta mauris congue accumsan."/>
<meta name="twitter:image:src" content="lorem.com/_img/share.jpg"/>
}
</head>
我不确定我应该为此使用什么?是否有一些方法可以使用EE的模板代码执行此IF语句,或者是否有一些方法可以使用javascript在页面加载时执行此操作并仍然获取EE变量?
答案 0 :(得分:0)
我认为这可能就像使用the require_entry parameter和[no_results条件]一样简单。2
{exp:channel:entries channel="blog" limit="1" require_entry="yes"}
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:site" content="@lorem"/>
<meta name="twitter:title" content="{title}"/>
<meta name="twitter:description" content="{excerpt}"/>
<meta name="twitter:image:src" content="{blog_thumbnail}"/>
{if no_results}
<meta name="twitter:card" content="summary_large_image"/>
<meta name="twitter:site" content="@lorem"/>
<meta name="twitter:title" content="Lorem ipsum dolor"/>
<meta name="twitter:description" content="Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent tempus velit enim, sit amet pulvinar sapien blandit et. In facilisis tortor vitae quam venenatis euismod. Nunc auctor lorem porta mauris congue accumsan."/>
<meta name="twitter:image:src" content="lorem.com/_img/share.jpg"/>
{/if}
{/exp:channel:entries}