バージョン9.4.0からドキュメントライブラリでファイルをクリックしたときの動作が変わり,ブラウザのダウンロードボタンが強制的に起動されてしまいます.
( リリースノートBehavioral ImprovementsのWe now specify the file download from the Document Library)
これのために従来できていた独自のファイル処理の起動ができなくなってしまいました.
独自のファイル処理とは,具体的にはPDFファイルへのクリックを受けて.htaccessが反応し,カスタマイズしたPDF.jsによってブラウザへの表示を行う,というものです.
ドキュメントライブラリにバージョン9.3.9までと同じ動作をさせるにはどうしたらいいでしょうか?
該当の修正内容はこれかなとおもいます
もし戻したい場合、オーバーライドでカスタマイズできます。
ご参考まで
Replyを書き直します.
この件ですが, 示していただいた修正の戻しをupdatesディレクトリ以下のcontroller.phpを直接書き換えで行うと,当初の問題は解決します.
ですが,オーバーライドでやろうとするとうまくいきません.ドキュメントライブラリにファイル一覧が表示されずに空の表が表示されたり,
予期せぬエラーが発生しました,となってしまいます.
(何も手を加えていないコードでオーバーライドしても起こります)
オーバーライドはapplication/blocks/document_library/controller.php に対し以下のように記述しました.
<?php
namespace Application\Block\DocumentLibrary;
use Concrete\Block\DocumentLibrary\Controller as DocumentLibraryBlockController;
class Controller extends DocumentLibraryBlockController
{
public function getColumnValue($key, $file)
{
if ($file instanceof \Concrete\Core\Tree\Node\Type\File) {
$file = $file->getTreeNodeFileObject();
} elseif ($file instanceof FileFolder) {
return $this->getFolderColumnValue($key, $file);
} else {
以下略
}
書かれていた通りにやったつもりなのですが, 間違っているでしょうか?