在 BigCommerce HTML href 中回显 PHP(自引用 hreflang 标签)
Posted
技术标签:
【中文标题】在 BigCommerce HTML href 中回显 PHP(自引用 hreflang 标签)【英文标题】:Echo PHP inside BigCommerce HTML href (self-referencing hreflang tags) 【发布时间】:2020-10-07 18:42:02 【问题描述】:我正在尝试使用 php 将当前页面的完整 URL 回显为 href 值。
我阅读了几篇不同的帖子并想出了以下代码,但它不起作用:
<link rel="alternate" href="<?php echo 'https://' . $_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI']; ?>" hreflang="en-us" />
我在模板中 > 布局 > base.html 文件
【问题讨论】:
它对我有用。这段代码以什么方式失败?结果输出是什么? 也许换个方式试试,在 php echo 中回显 标签? hmm... 可能是因为我在 BigCommerce 上使用它,并且它将 PHP 代码作为文本输出。我第一次使用 BigCommerce。我也尝试了相反的方法,但没有运气。 我认为 Big Commerce 是这个问题的一个重点,可能应该添加。 :-) 你是对的,谢谢。将其添加到问题中 【参考方案1】:由于 BigCommerce 是一个闭源 SaaS 平台,您无法在后端运行自己的任意 PHP。自定义必须由平台提供的模板助手或使用公共 API 完成。以下是一些可能有帮助的链接:
https://developer.bigcommerce.com/stencil-docs/reference-docs/global-objects-and-properties
https://developer.bigcommerce.com/stencil-docs/reference-docs/handlebars-helpers-reference
那么对于您的用例,这可能如下所示:
<link rel="alternate" href="settings.secure_base_urlsettings.request.absolute_path" hreflang="en-us" />
【讨论】:
谢谢。所以看起来没有一个变量可以从所有页面类型中获取 url。他们似乎是用 head.meta_tags 中的规范来做的,但我也无法访问它 如果只是想获取页面当前的URL,可以考虑settings.request.host
或者setings.secure_base_url
+settings.request.absolute_path
您可以只使用 JS 并使用 window.location
获取完全限定的 URL - 根据需要以编程方式应用。【参考方案2】:
这对我有用:
<link rel="alternate" href="https://settings.request.hostsettings.request.absolute_path?setCurrencyId=1" hreflang="en-gb" />
【讨论】:
以上是关于在 BigCommerce HTML href 中回显 PHP(自引用 hreflang 标签)的主要内容,如果未能解决你的问题,请参考以下文章