在 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 标签)的主要内容,如果未能解决你的问题,请参考以下文章

html BigCommerce模式

html BigCommerce模式

html Bigcommerce javascript资产变量

html Bigcommerce样式资产变量

html Bigcommerce图像资产变量

html Bigcommerce Blueprint的商店路径变量