Twigでよくあるエラーの1つ、「A template that extends another one cannot include contents outside Twig blocks.」をご紹介します。

Twigではテンプレートの継承という概念を備えています。1つの親テンプレートを拡張して子のテンプレートを作ることでヘッダーやフッターなど共通要素の管理コストを大幅に下げられます。

ただ継承にはいくつかルールがあって、その中の1つに「extends」している子テンプレートではコンテンツは「block」の中に書かなければならないというものです。
例えばEC-CUBE3のトップページテンプレートはindex.twigですが、最初の方で{% extends ‘default_frame.twig’ %}というようにdefault_frame.twigを継承しています。

なのでブロックの外に何かを書いてしまうと・・・

A template that extends another one cannot include contents outside Twig blocks. Did you forget to put the contents inside a {% block %} tag in “__string_template__cfced8c61c7de427d11e8d72abf103e1121349b1b6599d3855c73859e48277bc” at line 56?

Whoops, looks like something went wrong.とエラーになります。
ブロックの外にコンテンツを書かないというのはTwigで継承を行う場合の基本ルールになります。

関連するカスタマイズ

Twig内で文字列の一部分を切り出す方法 Slice使用... twigテンプレート内で文字列の一部を切り出したい時があります。 そんな時はsliceフィルタを使用してtwig内だけで切り出しを実行することが可能です。 2文字目以降を切り出す(1文字目を削除) sliceフィルタの第1引数は開始位置です。 sliceフィルタにはシンタックスシ...
基本税率を切り捨て、切り上げ、四捨五入に変更... 開発メンバー全員のルールを揃えておくことが重要です。 dtb_tax_ruleテーブルのcalc_ruleの設定値は次の表の通りです。 calc_rule 方式 1 四捨五入 2 切り捨て 3 切り上げ これをマイグレーションで...
新しくテーブルを作ってエンティティと関連づける方法... 今回は非常に要望が多かった新しいテーブルを作ってエンティティとしてデータ取得をできるようにする方法をご紹介します。 この方法は3系のもので、まもなくリリースされるEC-CUBE4系では利用できませんのでご注意ください。 データベースの作成 ドクトリン定義ファイルの作成(dcm....
商品一覧のページネーションに「最初へ」「最後へ」を表示する方法... 商品一覧ページのページネーションはProduct/list.twigを見るとpagination.twigをインクルードすることで表示されています。 pagination.twigをのぞいて見ると「最後へ」の部分は次のようなコードが書かれています。 このリンクを表示するにはconfi...