質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.34%
Shopify

Shopifyとは、ECサイト向けのプラットフォームを提供している企業。さらに、その企業が提供するオンラインストアやPOSシステムを指します。高いデザイン性とカスタマイズ性が評価され、世界各国のネットショップで使用されています。

Liquid

Liquidは、Shopifyが開発したテンプレート言語。RubyベースでオープンソースとしてGitHubで公開されています。HTMLで記述された静的コンテンツにLiquidで記載された動的コンテンツを組み合わせることで、独自性の高いWebページを構築できます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

0回答

208閲覧

【liquid - Shopify】エラーの箇所が見つからない

araimaru

総合スコア13

Shopify

Shopifyとは、ECサイト向けのプラットフォームを提供している企業。さらに、その企業が提供するオンラインストアやPOSシステムを指します。高いデザイン性とカスタマイズ性が評価され、世界各国のネットショップで使用されています。

Liquid

Liquidは、Shopifyが開発したテンプレート言語。RubyベースでオープンソースとしてGitHubで公開されています。HTMLで記述された静的コンテンツにLiquidで記載された動的コンテンツを組み合わせることで、独自性の高いWebページを構築できます。

jQuery

jQueryは、JavaScriptライブラリのひとつです。 簡単な記述で、JavaScriptコードを実行できるように設計されています。 2006年1月に、ジョン・レシグが発表しました。 jQueryは独特の記述法を用いており、機能のほとんどは「$関数」や「jQueryオブジェクト」のメソッドとして定義されています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2023/05/02 01:06

【エラーの箇所が見つからない】

エラーの改善を行いたいです。

前提

Shopifyでウェブサイトを作っています。使いたいセクション(.liquid)が、URLリンクを貼り付けることのできるボタンがない仕様であったため、そのボタンがある他のセクションからソースコードをコピペしました。

すると、以下のエラーメッセージが発生しました。

発生している問題・エラーメッセージ

HTMLエラーが見つかりました テーマのコードで壊れたHTMLが検出されました。

問題のコード(「//該当の箇所//」」が付け足した部分です)

<section class="Section {% unless section.settings.image %}Section--spacingNormal{% endunless %}"> {%- capture section_content -%} <div class="FeatureText__ContentWrapper"> <div class="FeatureText__Content"> {%- if section.settings.subheading != blank or section.settings.title != blank -%} <header class="SectionHeader"> {%- if section.settings.subheading != blank -%} <h3 class="SectionHeader__SubHeading Heading u-h6">{{ section.settings.subheading | escape }}</h3> {%- endif -%} {%- if section.settings.title != blank -%} <h2 class="SectionHeader__Heading Heading u-h1">{{ section.settings.title | escape }}</h2> {%- endif -%} {%- if section.settings.content != blank -%} <div class="SectionHeader__Description Rte"> {{ section.settings.content }} </div> {%- endif -%} {%- if section.settings.link_text != blank -%} <a href="{{ section.settings.link_url }}" class="Link Link--underline">{{ section.settings.link_text | escape }}</a> {%- endif -%} </header> {%- endif -%} </div> </div> {%- endcapture -%} {%- capture section_image -%} {%- if section.settings.image != blank -%} <div class="FeatureText__ImageWrapper"> {%- capture supported_sizes -%}{%- render 'image-size', sizes: '400,600,700,800,900,1000,1200', image: section.settings.image -%}{%- endcapture -%} <div class="AspectRatio" style="max-width: {{ section.settings.image.width }}px; --aspect-ratio: {{ section.settings.image.aspect_ratio }}"> {%- assign image_url = section.settings.image | img_url: '1x1' | replace: '_1x1.', '_{width}x.' -%} <img class="Image--lazyLoad Image--slide{{ section.settings.image_position | capitalize }}" data-src="{{ image_url }}" data-expand="-200" data-widths="[{{ supported_sizes }}]" data-sizes="auto" alt="{{ section.settings.image.alt | escape }}"> <noscript> <img src="{{ section.settings.image | img_url: '800x' }}" alt="{{ section.settings.image.alt | escape }}"> </noscript> </div> </div> {%- endif -%} {%- endcapture -%} <div class="FeatureText {% if section.settings.image != blank %}FeatureText--withImage FeatureText--image{{ section.settings.image_position | capitalize }}{% endif %}"> {%- if section.settings.image_position == 'left' -%} {{- section_image -}} {{- section_content -}} {%- else -%} {{- section_content -}} {{- section_image -}} {%- endif -%} </div> </div> *//ここから {%- if section.settings.button_text != blank -%} <div class="SectionFooter"> <a href="{{ section.settings.button_link }}" class="Button Button--primary">{{ section.settings.button_text | escape }}</a>//ここまで* </div>_ {%- endif -%} </div> </section> {% schema %} { "name": "Rich text with image pt2", "class": "shopify-section--bordered", "settings": [ { "type": "text", "id": "subheading", "label": "Sub-heading", "default": "Sub-heading" }, { "type": "text", "id": "title", "label": "Heading", "default": "Title" }, { "type": "image_picker", "id": "image", "label": "Image", "info": "1200 x 1200px .png recommended" }, { "type": "select", "id": "image_position", "label": "Image position", "options": [ { "value": "left", "label": "Left" }, { "value": "right", "label": "Right" } ], "default": "right" }, { "type": "richtext", "id": "content", "label": "Text", "default": "<p>Add your own custom content to give more information about your store, availability details...</p>" }, *//ここから { "type": "url", "id": "button_link", "label": "Button link" }, { "type": "text", "id": "button_text", "label": "Button text", "default": "View all articles" },ここまで//* { "type": "text", "id": "link_text", "label": "Link text" }, { "type": "url", "id": "link_url", "label": "Link URL" } ], "presets": [ { "category": "Text", "name": "Rich text with image pt2", "settings": {} } ] } {% endschema %}

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

araimaru

2023/05/02 01:06

### こちらのソースコードから、**//該当の箇所//**を抜き出しました。 <section class="Section Section--spacingNormal" id="section-{{ section.id }}" data-section-type="article-list" data-section-id="{{ section.id }}"> <div class="Container"> {%- if section.settings.subheading != blank or section.settings.title != blank -%} <header class="SectionHeader SectionHeader--center"> {%- if section.settings.subheading != blank -%} <h3 class="SectionHeader__SubHeading Heading u-h6">{{ section.settings.subheading | escape }}</h3> {%- endif -%} {%- if section.settings.title != blank -%} <h2 class="SectionHeader__Heading Heading u-h1">{{ section.settings.title | escape }}</h2> {%- endif -%} </header> {%- endif -%} {%- assign show_placeholders = true -%} <div class="ArticleListWrapper"> <div class="ArticleList Grid Grid--m Grid--center"> {%- assign block = section.blocks.first -%} {%- case block.type -%} {%- when 'article' -%} {%- for i in (1..3) -%} {%- assign article_option = 'article_' | append: i -%} {%- assign article = articles[block.settings[article_option]] -%} {%- unless article == empty -%} <div class="Grid__Cell 1/2--tablet 1/3--lap-and-up {% if forloop.index == 3 %}hidden-tablet{% endif %}"> {%- render 'article-item', display: none,block: block, article: article -%} </div> {%- assign show_placeholders = false -%} {%- endunless -%} {%- endfor -%} {%- when 'blog' -%} {%- assign blog = blogs[block.settings.blog] -%} {%- for article in blog.articles limit: 3 -%} <div class="Grid__Cell 1/2--tablet 1/3--lap-and-up {% if forloop.index == 3 %}hidden-tablet{% endif %}"> {%- render 'article-item', display: none;, article: article -%} </div> {%- assign show_placeholders = false -%} {%- endfor -%} {%- endcase -%} {%- if show_placeholders -%} {%- for i in (1..3) -%} <div class="Grid__Cell 1/2--tablet 1/3--lap-and-up {% if forloop.index == 3 %}hidden-tablet{% endif %}"> <article class="ArticleItem"> {%- capture placeholder -%}{% cycle 'lifestyle-1', 'lifestyle-2' %}{%- endcapture -%} <div class="ArticleItem__ImageWrapper AspectRatio" style="--aspect-ratio: 1.7"> {{ placeholder | placeholder_svg_tag: 'ArticleItem__Image PlaceholderBackground PlaceholderSvg--dark' }} </div> <div class="ArticleItem__Content"> {%- if section.settings.show_category -%} <span class="ArticleItem__Category Heading u-h6 Text--subdued">{{ 'home_page.onboarding.article_category' | t }}</span> {%- endif -%} <h2 class="ArticleItem__Title Heading u-h2"> <a href="#">{{ 'home_page.onboarding.article_name' | t }}</a> </h2> <p class="ArticleItem__Excerpt">{{ 'home_page.onboarding.article_excerpt' | t }}</p> <a href="#" class="ArticleItem__Link Link Link--underline">{{ 'blog.article.read_more' | t }}</a> </div> </article> </div> {%- endfor -%} {%- endif -%} </div> </div> *//ここから {%- if section.settings.button_text != blank -%} <div class="SectionFooter"> <a href="{{ section.settings.button_link }}" class="Button Button--primary">{{ section.settings.button_text | escape }}</a>ここまで//* </div> {%- endif -%} </div> </section> {% schema %} { "name": "Blog posts", "class": "shopify-section--bordered", "max_blocks": 1, "settings": [ { "type": "text", "id": "subheading", "label": "Sub-heading" }, { "type": "text", "id": "title", "label": "Heading", "default": "Blog posts" }, { "type": "checkbox", "id": "show_category", "label": "Show article category", "info": "The first article's tag is used as the main category.", "default": false }, *//ここから { "type": "url", "id": "button_link", "label": "Button link" }, { "type": "text", "id": "button_text", "label": "Button text", "default": "View all articles" }ここまで//* ], "blocks": [ { "type": "article", "name": "Article", "settings": [ { "type": "article", "id": "article_1", "label": "Article 1" }, { "type": "article", "id": "article_2", "label": "Article 2" }, { "type": "article", "id": "article_3", "label": "Article 3" } ] }, { "type": "blog", "name": "Blog", "settings": [ { "type": "blog", "id": "blog", "label": "Blog" } ] } ], "presets": [ { "category": "Blog", "name": "Blog posts", "settings": {}, "blocks": [ { "type": "blog", "settings": { "blog": "news" } } ] } ] } {% endschema %}
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.34%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問