5

我已经开始将 AMP 概念集成到我当前的 Magento 现场项目中。

我做过以下事情。

此处建议的 www 文件夹中的一个测试 html 文件,https://www.ampproject.org/docs/get_started/create/basic_markup.html这很好用。

我在我的 magento 项目中做过,在 1column.phtml 中,

<!DOCTYPE html>
<html amp lang="en" xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>">

在 head.phtml 中,添加第一行如下

<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, minimum-scale=1, maximum-scale=1" />
<link rel="canonical" href="http://www.example.com" />
<script type="application/ld+json">
      {
        "@context": "http://schema.org",
        "@type": "NewsArticle",
        "headline": "Open-source framework for publishing content",
        "datePublished": "2015-10-07T12:02:41Z",
        "image": [
          "logo.jpg"
        ]
      }
    </script>
    <style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style><noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
    <script async src="https://cdn.ampproject.org/v0.js"></script>

我通过附加来运行主页#development=1。并在控制台中得到如下错误:

TypeError: aa.Object.getOwnPropertyDescriptor(...) is not a non-null object
(var e in b)aa.Object.defineProperties?aa.Object.defineProperty(a,e,aa.Object.ge...
  validator.js (line 2, col 221)

ReferenceError: amp is not defined

谁能帮我解决这个问题。

提前致谢..

4

2 回答 2

1

尝试删除

xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php echo $this->getLang() ?>" lang="<?php echo $this->getLang() ?>"

前两行应该是这样的

<!doctype html>
<html amp lang="en">
于 2016-03-11T06:48:43.413 回答
-2

可能更简单的是使用扩展将 AMP 集成到您的 Magento 商店中。我使用了通过编码基础创建的描述:http: //codingbasics.net/accelerated-mobile-pages-magento/

设置起来真的很简单,而且运行完美。不知道您是否已经解决了这个问题,因为已经过去了一段时间,但我想我还是会回复以帮助您和其他人。

于 2016-08-10T15:50:35.900 回答