はじめに
Laravel で @section の設定がある場合のみ HTML を表示する方法を整理した。
例えば「共通的に使うので、レイアウトファイルにパンくずリストを定義したい」けど、「パンくずリストの表示指定が無いページでは、パンくずリスト自体を表示したくない」のようなケース。
※わかりやすい例が思いつかない。
TL;DR
@hasSectionを使う- 複合条件の場合は
@ifやView::hasSectionを組み合わせて対応
Laravel で @section の設定がある場合のみ HTML を表示する方法を整理した。
例えば「共通的に使うので、レイアウトファイルにパンくずリストを定義したい」けど、「パンくずリストの表示指定が無いページでは、パンくずリスト自体を表示したくない」のようなケース。
※わかりやすい例が思いつかない。
@hasSection を使う@if や View::hasSection を組み合わせて対応davejamesmiller/laravel-breadcrumbs を使って、Laravel でパンくずリストを作成する方法を調べた。
composer require davejamesmiller/laravel-breadcrumbs でインストールroutes/breadcrumbs.php でパンくずリストの定義Breadcrumbs::render('list_name') でパンくずリストの描画@section, @yield と組み合わせると便利ページ中の複数の画像を zip に圧縮してローカルにダウンロードする方法を整理した。
※JavaScript で画像をローカルにダウンロード の続き
await Promise.all() ですべての非同期リクエストが完了したら zip 生成処理を実施folder(), folder.file(), generateAsync() で、zip ファイルの生成createObjectURL → <a href="..." download="xxxx.zip"> → クリック&削除JavaScript で画像をローカルにダウンロードする方法を整理した。
img タグで表示されている画像を JS 実行で保存するような処理を想定。
参考: zip にまとめてダウンロード編: JavaScript で複数画像を zip に圧縮してローカルにダウンロード
XMLHttpRequest でのリクエスト時に responseType = "blob" でリクエストcreateObjectURL でオブジェクト URL を生成a タグの download 属性でファイルを保存revokeObjectURL でオブジェクト URL を開放PHP で条件分岐して違う HTML タグや文章を表示したい場合に、なるべくシンプルに HTML を書く方法を調べた。
<?php if (true) : ?> <?php endif; ?> のように : と endif を使うApache2 + PHP でウェブサーバを立てている状況で、非公開ディレクトリ(パブリックでないローカルのディレクトリ)の画像を読み込んで表示する方法を調べた。
※「画像は表示したいが、画像ファイル自体は公開ディレクトリに格納したくない」のような特殊なケース
<img> の src に画像を設定する
Ruby の 5.times のように、JavaScript で簡単に指定回数(N回)のループを行う方法を調べた。
...)を使う[...Array(10)].forEach, [...Array(10)].map, etcArray.fill を使うArray(10).fill().forEach, etcArray.from を使うArray.from({ length: 10 }).forEach, etcArray.fill は IE 非対応なので注意 (2020/01/10 現在)