Измените theme.liquid с помощью API-интерфейса активов Shopify - PullRequest
0 голосов
/ 11 февраля 2019

Я хочу добавить нижеуказанный код в theme.liquid

<div id="shopify-section-header" class="shopify- 
section">
<!-- content of sections/header.liquid -->
<a href="http://pricemonitor.info/cloth_comparision/#/" 
class="site-header__icon site-header__imagesearch">
{{ 'imagesearchlogo.svg' | asset_url | img_tag }}

</a>
</div>

Я попробовал нижеуказанный метод в python

data={
"asset": {
"key": "layout/theme.liquid",
"value": '''<div id="shopify-section-header" class="shopify- 
section">
<!-- content of sections/header.liquid -->
<a href="http://pricemonitor.info/cloth_comparision/#/" 
class="site-header__icon site-header__imagesearch">
{{ 'imagesearchlogo.svg' | asset_url | img_tag }}

</a>
</div>'''
}
}
response = requests.put("https://" + session.get("shop")
+ "/admin/themes/42517168241/assets.json",data= 
data,headers=headers)

Я добавил этот скрипт вПриложение Shopify, но я не получаю правильный ответ

Ниже приведен ответ.

{
"error": "822: unexpected token at 'asset=key&asset=value'"
}

Я не могу добавить фрагмент кода в theme.liquid файл

1 Ответ

0 голосов
/ 11 февраля 2019
parsed_html = shopify.Asset.find('layout/theme.liquid')
parsed_html1=parsed_html.value
index = parsed_html1.find('''<body class="template-{{ template | split: '.' | 
first }}">''' )
parsed_html = parsed_html1[:index] + '''<div id="shopify-section-header" 
class="shopify-section">
<!-- content of sections/header.liquid -->
<a href="http://pricemonitor.info/cloth_comparision/#/" class="site- 
header__icon site-header__imagesearch">{{ 'imagesearchlogo.svg' | asset_url | 
img_tag }}</a>
</div>''' + parsed_html1[index:]
shopify.Asset.create(dict(key="layout/theme.liquid", value=parsed_html)).save()

вам нужно сначала найти место, куда вы хотите добавить код, а затем обновить код и создать новый Assest с помощью API.

...