{"id":59513,"date":"2025-04-23T16:09:40","date_gmt":"2025-04-23T08:09:40","guid":{"rendered":"https:\/\/fwq.ai\/blog\/59513\/"},"modified":"2025-04-23T16:09:40","modified_gmt":"2025-04-23T08:09:40","slug":"%e7%bb%99ecshop%e8%ae%a2%e5%8d%95%e6%b5%81%e7%a8%8b%e5%a2%9e%e5%8a%a0%e6%8b%a3%e8%b4%a7%e7%8a%b6%e6%80%81","status":"publish","type":"post","link":"https:\/\/fwq.ai\/blog\/59513\/","title":{"rendered":"\u7ed9ecshop\u8ba2\u5355\u6d41\u7a0b\u589e\u52a0\u62e3\u8d27\u72b6\u6001"},"content":{"rendered":"<p style=\"margin: 0px 0px 0.75em;font-size: 16px;line-height: 28.7999992370605px;text-indent: 1em\"> \u9488\u5bf9ecshop\u8ba2\u5355\u4e2d\u7684\u7269\u54c1\uff0c\u9700\u8981\u652f\u6301\u62e3\u8d27\u7684\u72b6\u6001\uff0c\u6bd4\u5982\u672a\u62e3\u8d27\u3001\u62e3\u8d27\u4e2d\u3001\u62e3\u8d27\u5b8c\u6210\uff0c\u4ee5\u53ca\u663e\u793a\u62e3\u8d27\u4eba\u59d3\u540d\u3002<\/p>\n<pre>\r\n<span style=\"font-style: italic\">-- ----------------------------<\/span>\r\n<span style=\"font-style: italic\">-- Table structure for `order_picking_status`<\/span>\r\n<span style=\"font-style: italic\">-- ----------------------------<\/span>\r\n<span><span style=\"font-weight: bold\">DROP<\/span> <span style=\"font-weight: bold\">TABLE<\/span> IF <span style=\"font-weight: bold\">EXISTS<\/span> <span>`order_picking_status`<\/span>;<\/span>\r\n<span><span style=\"font-weight: bold\">CREATE<\/span> <span style=\"font-weight: bold\">TABLE<\/span> <span>`order_picking_status`<\/span> (\r\n  <span>`order_id`<\/span> mediumint(<span>8<\/span>) NOTNULL,\r\n  <span>`user_name`<\/span> <span style=\"font-weight: bold\">varchar<\/span>(<span>60<\/span>)<span style=\"font-weight: bold\">DEFAULT<\/span> <span style=\"font-weight: bold\">NULL<\/span>,\r\n  <span>`order_picking_status`<\/span><span style=\"font-weight: bold\">smallint<\/span>(<span>5<\/span>) <span style=\"font-weight: bold\">NOT<\/span> <span style=\"font-weight: bold\">NULL<\/span> <span style=\"font-weight: bold\">DEFAULT<\/span> <span>'0'<\/span>,\r\n  <span style=\"font-weight: bold\">PRIMARY<\/span> <span style=\"font-weight: bold\">KEY<\/span> (<span>`order_id`<\/span>)\r\n) ENGINE=InnoDB <span style=\"font-weight: bold\">DEFAULT<\/span> CHARSET=gbk;<\/span><\/pre>\n<p style=\"margin: 0px 0px 0.75em;font-size: 16px;line-height: 28.7999992370605px;text-indent: 1em\"> \u30102\u3011\u5728\u6587\u4ef6languages\\zh_cn\\admin\\order.php\u4e2d\u589e\u52a0\uff1a<\/p>\n<pre>\r\n<span style=\"font-style: italic\">\/* \u62e3\u8d27 *\/<\/span>\r\n<span>$_LANG<\/span>[<span>'order_picking_status'<\/span>] = <span>'\u62e3\u8d27\u72b6\u6001'<\/span>;\r\n<span>$_LANG<\/span>[<span>'order_picking_status_none'<\/span>] = <span>'\u672a\u62e3\u8d27'<\/span>;\r\n<span>$_LANG<\/span>[<span>'order_picking_status_processing'<\/span>] = <span>'\u62e3\u8d27\u4e2d'<\/span>;\r\n<span>$_LANG<\/span>[<span>'order_picking_status_finish'<\/span>] = <span>'\u62e3\u8d27\u5b8c\u6210'<\/span>;\r\n<span>$_LANG<\/span>[<span>'invalid_order_picking_status'<\/span>] = <span>'\u62e3\u8d27\u72b6\u6001\u65e0\u6548\u30020\uff1a\u672a\u62e3\u8d27\uff1b1\uff1a\u62e3\u8d27\u4e2d\uff1b2\uff1a\u62e3\u8d27\u5b8c\u6210'<\/span>;<\/pre>\n<p style=\"margin: 0px 0px 0.75em;font-size: 16px;line-height: 28.7999992370605px;text-indent: 1em\"> \u30103\u3011\u6587\u4ef6admin\\templates\\order_list.htm\u4e2d\u5728\u4e00\u4e0b\u4e24\u884c\u4e4b\u95f4\uff1a<\/p>\n<pre>\r\n<span>&lt;<span>th<\/span>&gt;<\/span>{$lang.all_status}<span>&lt;\/<span>th<\/span>&gt;<\/span>\r\n   <span>&lt;<span>th<\/span>&gt;<\/span>{$lang.handler}<span>&lt;\/<span>th<\/span>&gt;<\/span><\/pre>\n<pre>\r\n<span>&lt;<span>th<\/span>&gt;<\/span>{$lang.order_picking_status}<span>&lt;\/<span>th<\/span>&gt;<\/span><\/pre>\n<pre>\r\n<span>&lt;<span>td<\/span> <span>align<\/span>=<span>\"center\"<\/span> <span>valign<\/span>=<span>\"top\"<\/span> <span>nowrap<\/span>=<span>\"nowrap\"<\/span>&gt;<\/span>{$lang.os[$order.order_status]},{$lang.ps[$order.pay_status]},{$lang.ss[$order.shipping_status]}<span>&lt;\/<span>td<\/span>&gt;<\/span><\/pre>\n<pre>\r\n<span>&lt;<span>td<\/span> <span>align<\/span>=<span>\"right\"<\/span> <span>valign<\/span>=<span>\"top\"<\/span><span>nowrap<\/span>=<span>\"nowrap\"<\/span>&gt;<\/span><span>&lt;<span>span<\/span> <span>onclick<\/span>=<span>\"listTable.edit(this,'edit_order_picking_status', {$order.order_id})\"<\/span>&gt;<\/span>{$order.user_name}\u3010{if $order.order_picking_status == 1}{$lang.order_picking_status_processing}{elseif $order.order_picking_status ==2} {$lang.order_picking_status_finish} {else}{$lang.order_picking_status_none}{\/if}\r\n     \u3011<span>&lt;\/<span>span<\/span>&gt;<\/span><span>&lt;\/<span>td<\/span>&gt;<\/span><\/pre>\n<p style=\"margin: 0px 0px 0.75em;font-size: 16px;line-height: 28.7999992370605px;text-indent: 1em\"> \u30104\u3011admin\\js\\listtable.js\u4e2d\uff0clistTable.edit\u7684\u54cd\u5e94\u51fd\u6570\u4fee\u6539\u5982\u4e0b\uff1a<\/p>\n<pre>\r\n<span style=\"font-style: italic\">\/**\r\n * \u521b\u5efa\u4e00\u4e2a\u53ef\u7f16\u8f91\u533a\r\n *\/<\/span>\r\nlistTable.edit = function(obj, act, id)\r\n{\r\n  <span style=\"font-weight: bold\">var<\/span> tag =obj.firstChild.tagName;\r\n \r\n  <span style=\"font-weight: bold\">if<\/span> (<span style=\"font-weight: bold\">typeof<\/span>(tag) !=<span>\"undefined\"<\/span> &amp;&amp; tag.toLowerCase() == <span>\"input\"<\/span>)\r\n  {\r\n    <span style=\"font-weight: bold\">return<\/span>;\r\n  }\r\n \r\n  <span style=\"font-style: italic\">\/* \u4fdd\u5b58\u539f\u59cb\u7684\u5185\u5bb9 *\/<\/span>\r\n  <span style=\"font-weight: bold\">var<\/span> org = obj.innerHTML;\r\n  <span style=\"font-weight: bold\">var<\/span> val = Browser.isIE ?obj.innerText : obj.textContent;\r\n \r\n  <span style=\"font-style: italic\">\/* \u521b\u5efa\u4e00\u4e2a\u8f93\u5165\u6846 *\/<\/span>\r\n  <span style=\"font-weight: bold\">var<\/span> txt =document.createElement(<span>\"INPUT\"<\/span>);\r\n  txt.<span style=\"font-weight: bold\">value<\/span> = (val == <span>'N\/A'<\/span>) ?<span>''<\/span> : val;\r\n  txt.style.width =(obj.offsetWidth + <span>12<\/span>) + <span>\"px\"<\/span> ;\r\n \r\n  <span style=\"font-style: italic\">\/* \u9690\u85cf\u5bf9\u8c61\u4e2d\u7684\u5185\u5bb9\uff0c\u5e76\u5c06\u8f93\u5165\u6846\u52a0\u5165\u5230\u5bf9\u8c61\u4e2d *\/<\/span>\r\n  obj.innerHTML =<span>\"\"<\/span>;\r\n  obj.appendChild(txt);\r\n  txt.focus();\r\n  txt.<span style=\"font-weight: bold\">select<\/span>();\r\n \r\n  <span style=\"font-style: italic\">\/* \u7f16\u8f91\u533a\u8f93\u5165\u4e8b\u4ef6\u5904\u7406\u51fd\u6570 *\/<\/span>\r\n  txt.onkeypress = function(e)\r\n  {\r\n    <span style=\"font-weight: bold\">var<\/span> evt =Utils.fixEvent(e);\r\n    <span style=\"font-weight: bold\">var<\/span> obj =Utils.srcElement(e);\r\n \r\n    <span style=\"font-weight: bold\">if<\/span> (evt.keyCode == <span>13<\/span>)<span style=\"color:#ffffff\">\/\/www.ldhost.cn<\/span>\r\n    {\r\n      obj.blur();\r\n \r\n      <span style=\"font-weight: bold\">return<\/span> <span style=\"font-weight: bold\">false<\/span>;\r\n    }\r\n \r\n    <span style=\"font-weight: bold\">if<\/span> (evt.keyCode == <span>27<\/span>)\r\n    {\r\n      obj.parentNode.innerHTML= org;\r\n    }\r\n  }\r\n \r\n  <span style=\"font-style: italic\">\/* \u7f16\u8f91\u533a\u5931\u53bb\u7126\u70b9\u7684\u5904\u7406\u51fd\u6570 *\/<\/span>\r\n  txt.onblur = function(e)\r\n  {\r\n    <span style=\"font-weight: bold\">if<\/span>(Utils.trim(txt.<span style=\"font-weight: bold\">value<\/span>).length &gt; <span>0<\/span>)\r\n    {\r\n      res =Ajax.call(listTable.url, <span>\"act=\"<\/span>+act+<span>\"&amp;val=\"<\/span> +encodeURIComponent(Utils.trim(txt.<span style=\"font-weight: bold\">value<\/span>)) + <span>\"&amp;id=\"<\/span> +id, <span style=\"font-weight: bold\">null<\/span>,<span>\"POST\"<\/span>, <span>\"JSON\"<\/span>, <span style=\"font-weight: bold\">false<\/span>);\r\n \r\n      <span style=\"font-weight: bold\">if<\/span> (res.message)\r\n      {\r\n        alert(res.message);\r\n      }\r\n \r\n      <span style=\"font-weight: bold\">if<\/span>(res.id &amp;&amp;(res.act == <span>'goods_auto'<\/span> || res.act == <span>'article_auto'<\/span>))\r\n      {\r\n         document.getElementById(<span>'del'<\/span>+res.id).innerHTML = <span>\"&lt;ahref=\\\"\"<\/span>+ thisfile +<span>\"?goods_id=\"<\/span>+ res.id+<span>\"&amp;act=del\\\" onclick=\\\"returnconfirm('\"<\/span>+deleteck+<span>\"');\\\"&gt;\"<\/span>+deleteid+<span>\"&lt;\/a&gt;\"<\/span>;\r\n      }\r\n \r\n      obj.innerHTML = (res.error== <span>0<\/span>) ? res.content : org;\r\n    }\r\n    <span style=\"font-weight: bold\">else<\/span>\r\n    {\r\n      obj.innerHTML = org;\r\n    }\r\n   \r\n    <span style=\"font-weight: bold\">if<\/span> (act ==<span>'edit_is_validated'<\/span>)\r\n    {\r\n         <span style=\"font-weight: bold\">var<\/span> content = obj.innerHTML.trim();\r\n        \r\n         <span style=\"font-weight: bold\">if<\/span> (content == <span>'1'<\/span> || content.indexOf(<span>\"yes\"<\/span>) &gt;= <span>0<\/span>)\r\n         {\r\n            obj.innerHTML = <span>'&lt;imgsrc=\"images\/yes.gif\"&gt;'<\/span>;\r\n         }\r\n         <span style=\"font-weight: bold\">else<\/span>\r\n        {\r\n            obj.innerHTML =<span>'&lt;img src=\"images\/no.gif\"&gt;'<\/span>;\r\n        }\r\n    }\r\n    <span style=\"font-weight: bold\">else<\/span> <span style=\"font-weight: bold\">if<\/span> (act ==<span>'edit_order_picking_status'<\/span>)\r\n    {\r\n         <span style=\"font-weight: bold\">if<\/span> (org == obj.innerHTML)\r\n         {\r\n            <span style=\"font-weight: bold\">return<\/span> <span style=\"font-weight: bold\">true<\/span>;\r\n         }\r\n        \r\n         <span style=\"font-weight: bold\">if<\/span> (obj.innerHTML == <span>'1'<\/span>)\r\n         {\r\n            obj.innerHTML =<span>\"\u3010\u62e3\u8d27\u4e2d\u3011\"<\/span>;\r\n         }\r\n         <span style=\"font-weight: bold\">else<\/span> <span style=\"font-weight: bold\">if<\/span> (obj.innerHTML == <span>'2'<\/span>)\r\n        {\r\n            obj.innerHTML =<span>\"\u3010\u62e3\u8d27\u5b8c\u6210\u3011\"<\/span>;\r\n        }\r\n         <span style=\"font-weight: bold\">else<\/span>\r\n         {\r\n            obj.innerHTML =<span>\"\u3010\u672a\u62e3\u8d27\u3011\"<\/span>;\r\n         }\r\n    }\r\n    <span style=\"font-weight: bold\">else<\/span>\r\n    {\r\n        \r\n    }\r\n  }\r\n}<\/pre>\n<p style=\"margin: 0px 0px 0.75em;font-size: 16px;line-height: 28.7999992370605px;text-indent: 1em\"> \u30105\u3011admin\\order.php\u6587\u4ef6\u4e2d\u589e\u52a0\u4e0b\u9762\u7684\u51fd\u6570\uff1a<\/p>\n<pre>\r\n\/<span>*-<\/span>----------------------------------------------------- <span>*\/<\/span>\r\n\/<span>\/-- \u8ba2\u5355\u62e3\u8d27\u72b6\u6001\u67e5\u8be2\r\n\/<\/span><span>*-<\/span>----------------------------------------------------- <span>*\/<\/span>\r\n \r\n<span style=\"font-weight: bold\">if<\/span> (<span>$_REQUEST<\/span>[<span>'act'<\/span>] == <span>'edit_order_picking_status'<\/span>)\r\n{\r\n    <span>\/* \u68c0\u67e5\u6743\u9650 *\/<\/span>\r\n   check_authz_json(<span>'users_manage'<\/span>);\r\n \r\n    <span>$id<\/span> =empty(<span>$_REQUEST<\/span>[<span>'id'<\/span>]) ? <span>0<\/span> : intval(<span>$_REQUEST<\/span>[<span>'id'<\/span>]);\r\n    <span>$order_picking_status<\/span> =empty(<span>$_REQUEST<\/span>[<span>'val'<\/span>]) ? <span>''<\/span> : json_str_iconv(trim(<span>$_REQUEST<\/span>[<span>'val'<\/span>]));\r\n \r\n    <span>$sql<\/span> = <span>\"DELETE fromorder_picking_status WHERE order_id = '\"<\/span>. <span>$id<\/span> .<span>\"' LIMIT 1\"<\/span>;\r\n    <span>$db<\/span>-&gt;query(<span>$sql<\/span>);\r\n   \r\n    <span>$sql<\/span> = <span>\"INSERT INTOorder_picking_status (order_id, user_name, order_picking_status) VALUES('\"<\/span>. <span>$id<\/span> .<span>\"', '\"<\/span>. <span>$_SESSION<\/span>[<span>'admin_name'<\/span>] .<span>\"', '\"<\/span>.<span>$order_picking_status<\/span> .<span>\"')\"<\/span>;\r\n    <span>$db<\/span>-&gt;query(<span>$sql<\/span>);\r\n   \r\n    <span style=\"font-weight: bold\">if<\/span> (<span>$order_picking_status<\/span>&gt; <span>2<\/span> || <span>$order_picking_status<\/span> &lt; <span>0<\/span>)\r\n    {\r\n         make_json_error(<span>$GLOBALS<\/span>[<span>'_LANG'<\/span>][<span>'invalid_order_picking_status'<\/span>]);\r\n    }\r\n    <span style=\"font-weight: bold\">else<\/span>\r\n    {\r\n         make_json_result(<span>$order_picking_status<\/span>);\r\n    }\r\n}<\/pre>\n<pre>\r\n\/* \u67e5\u8be2 <span>*\/<\/span>\r\n        <span>$sql<\/span> = <span>\"SELECTo.order_id, o.order_sn, o.add_time, o.order_status, o.shipping_status,o.order_amount, o.money_paid,\"<\/span> .\r\n                   <span>\"o.pay_status, o.consignee, o.address, o.email, o.tel,o.extension_code, o.extension_id, \"<\/span> .\r\n                   <span>\"(\"<\/span> . order_amount_field(<span>'o.'<\/span>) . <span>\") AS total_fee, \"<\/span>.\r\n                   <span>\"IFNULL(u.user_name, '\"<\/span> .<span>$GLOBALS<\/span>[<span>'_LANG'<\/span>][<span>'anonymous'<\/span>].<span>\"') AS buyer \"<\/span>.\r\n                <span>\" FROM\"<\/span> . <span>$GLOBALS<\/span>[<span>'ecs'<\/span>]-&gt;table(<span>'order_info'<\/span>) . <span>\" AS o \"<\/span> .\r\n                <span>\" LEFT JOIN \"<\/span>.<span>$GLOBALS<\/span>[<span>'ecs'<\/span>]-&gt;table(<span>'users'<\/span>). <span>\" AS u ON u.user_id=o.user_id \"<\/span>.<span>$where<\/span> .\r\n                <span>\" ORDERBY <span>$filter<\/span>[sort_by] <span>$filter<\/span>[sort_order] \"<\/span>.\r\n                <span>\" LIMIT\"<\/span> . (<span>$filter<\/span>[<span>'page'<\/span>] - <span>1<\/span>) * <span>$filter<\/span>[<span>'page_size'<\/span>] .<span>\",<span>$filter<\/span>[page_size]\"<\/span>;<\/pre>\n<pre>\r\n\/* \u67e5\u8be2 <span>*\/<\/span>\r\n        <span>$sql<\/span> = <span>\"SELECTo.order_id, o.order_sn, o.add_time, o.order_status, o.shipping_status,o.order_amount, o.money_paid,\"<\/span> .\r\n                   <span>\"o.pay_status, o.consignee, o.address, o.email, o.tel,o.extension_code, o.extension_id, \"<\/span> .\r\n                    <span>\"(\"<\/span> .order_amount_field(<span>'o.'<\/span>) . <span>\") AS total_fee, \"<\/span> .\r\n                   <span>\"IFNULL(u.user_name, '\"<\/span> .<span>$GLOBALS<\/span>[<span>'_LANG'<\/span>][<span>'anonymous'<\/span>].<span>\"') AS buyer, p.user_name, p.order_picking_status \"<\/span>.\r\n                <span>\" FROM\"<\/span> . <span>$GLOBALS<\/span>[<span>'ecs'<\/span>]-&gt;table(<span>'order_info'<\/span>) . <span>\" AS o \"<\/span> .\r\n                <span>\" LEFTJOIN \"<\/span> .<span>$GLOBALS<\/span>[<span>'ecs'<\/span>]-&gt;table(<span>'users'<\/span>). <span>\" AS u ONu.user_id=o.user_id \"<\/span>.\r\n                <span>\" LEFTJOIN order_picking_status AS p ON p.order_id = o.order_id \"<\/span>. <span>$where<\/span> .\r\n                <span>\" ORDERBY <span>$filter<\/span>[sort_by] <span>$filter<\/span>[sort_order] \"<\/span>.\r\n                <span>\" LIMIT\"<\/span> . (<span>$filter<\/span>[<span>'page'<\/span>] - <span>1<\/span>) * <span>$filter<\/span>[<span>'page_size'<\/span>] .<span>\",<span>$filter<\/span>[page_size]\"<\/span>;<\/pre>\n<p>  &nbsp;  <\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u9488\u5bf9ecshop\u8ba2\u5355\u4e2d\u7684\u7269\u54c1\uff0c\u9700\u8981\u652f\u6301\u62e3\u8d27\u7684\u72b6\u6001\uff0c\u6bd4\u5982\u672a\u62e3\u8d27\u3001\u62e3\u8d27\u4e2d\u3001\u62e3\u8d27\u5b8c\u6210\uff0c\u4ee5\u53ca\u663e\u793a\u62e3\u8d27\u4eba\u59d3\u540d\u3002 &#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- &#8212; Table structure for `order_picking_status` &#8212; &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- DROP TABLE IF EXISTS `order_picking_status`; CREATE TABLE `order_picking_status` ( `order_id` mediumint(8) NOTNULL, `user_name` varchar(60)DEFAULT NULL, `order_picking_status`smallint(5) NOT NULL DEFAULT &#8216;0&#8217;, PRIMARY KEY (`order_id`) ) ENGINE=InnoDB DEFAULT CHARSET=gbk; \u30102\u3011\u5728\u6587\u4ef6languages\\zh_cn\\admin\\order.php\u4e2d\u589e\u52a0\uff1a \/* \u62e3\u8d27 *\/ $_LANG[&#8216;order_picking_status&#8217;] = &#8216;\u62e3\u8d27\u72b6\u6001&#8217;; $_LANG[&#8216;order_picking_status_none&#8217;] = &#8216;\u672a\u62e3\u8d27&#8217;; $_LANG[&#8216;order_picking_status_processing&#8217;] = &#8216;\u62e3\u8d27\u4e2d&#8217;; $_LANG[&#8216;order_picking_status_finish&#8217;] = &#8216;\u62e3\u8d27\u5b8c\u6210&#8217;; $_LANG[&#8216;invalid_order_picking_status&#8217;] = [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[16],"tags":[],"class_list":["post-59513","post","type-post","status-publish","format-standard","hentry","category-16"],"_links":{"self":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/59513","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/comments?post=59513"}],"version-history":[{"count":0,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/posts\/59513\/revisions"}],"wp:attachment":[{"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/media?parent=59513"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/categories?post=59513"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fwq.ai\/blog\/wp-json\/wp\/v2\/tags?post=59513"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}