【问题标题】:How to put liquid code inside a php string如何将液体代码放入 php 字符串中
【发布时间】:2019-07-08 10:36:31
【问题描述】:

我想将 Liquid 代码放入具有值类型字符串的元字段中。这是 Liquid 代码:

{% unless shop.metafields.cmld == blank %}
{%- assign cmld = shop.metafields.cmld -%}
 <div class="slider">
   {%- for field in cmld -%}
        <div>
            <img src="{{ field | last }}" />
        </div>
    {% endfor %}
</div>
{% endunless %}

当我在 shopify 上试用时,Liquid 代码运行良好。 这里的问题是第一行的这个错误:

{%'(T_CONSTANT_ENCAPSED_STRING), expecting ')' in .....

有什么建议吗?它看起来像这样:

$add_metafield= array(
    "metafield" => array(
        "namespace"=> $metafield_namespace,
        "key"=> "something",
        "value" => "{% unless shop.metafields.".$metafield_namespace." == blank %}{%- assign ".$metafield_namespace." = shop.metafields.".$metafield_namespace." -%}<div class="slider">{%- for field in ".$metafield_namespace." -%}<div><img src="{{ field | last }}" /></div>{% endfor %}</div>{% endunless %}",
        "value_type" => "string"
    )
);

【问题讨论】:

  • 您的液体代码包含双引号,因此您要么需要转义这些 - 要么使用单引号作为字符串分隔符。
  • 使用 ' 或 " 带来相同的结果
  • 不,不是,如果你做对了。编辑您的问题并显示您现在尝试了哪些代码。

标签: php codeigniter liquid shopify-app


【解决方案1】:

&lt;div class="slider"&gt;&lt;img src="{{ field | last }}" /&gt; 中的双引号改为单引号

将其更改为 -> &lt;div class='slider'&gt;&lt;img src='{{ field | last }}' /&gt;

【讨论】:

    猜你喜欢
    • 2013-04-20
    • 2022-08-14
    • 2022-01-02
    • 2017-03-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多