Advanced HTML Block:PDFを強制ダウンロードするリンクを挿入したい
2017年11月20日 at 18:31
公開中のサイト内に、お客様で作成したHTMLを流し込む必要があったので、Advanced HTML Blockを使用しています。
その中で、PDFをダウンロードするリンクを挿入したいのですが、「ファイルダウンロードリンク」ではPDFを表示してしまいます。
ファイルブロックでは、「強制的にダウンロード」というオプションが存在したかと思いますが、Advanced HTML Blockには強制的にダウンロードするURLを指定する方法はありますか?
タグ:
Your post has been saved and will be published after approval by the forum moderator.
kanetei
Re: Advanced HTML Block:PDFを強制ダウンロードするリンクを挿入したい
http://gist.github.com/kanetei/4f5086cba654520618ed0d64eedc0480
上記gistに上げたファイルを、
application/blocks/advanced_html
上記にアップロードすることで、ファイル強制ダウンロードのリンクが追加されます。
以下、参考に調査手順を記します。
1.ファイルブロックを「ファイルのダウンロードを強制」を設定した状態で設置して、どのようなURLになっているかを確認する
→http://example.com/download_file/force/0123/4567 となっている
2.上記のURLがどこで生成されているかを、concrete/src 以下を検索して調査する
→concrete/src/Entity/File/Version.php 内の'getForceDownloadURL()'という関数内で生成されている
3.見つけたコードを参考にして修正する
→サイトのURL+'/download_file/force/'+ファイルID+'/'+ページID ということが分かったので、ボタンをクリックするとこのURLを流し込むように修正
以上です。