[CakePHP]ダウンロード後にページをリロードしたい

データをダウンロード処理したときにフラグを立てるなど色々処理をしている。
ダウンロード後にリダイレクトかリロードをしたいと思った。

ダウンロードの処理でheaderを使っているのでリダイレクトのLocationが使えない。

そこでJSで別ウインドを開いて、そこにダウンロード処理を渡す。
その処理の後にページをリロードする処理をしてあげるとOK。

リダイレクトしたい場合はreloadのところをhrefにするとOK

【未解決】CakePHP4のログアウト時のセッション削除

CakePHP4でログイン機能Authのログアウト時にセッションが削除できない問題

未解決ですが情報記載します。

ログアウト処理時にセッションのdestroyを行うとログイン情報が削除できないのです。


$this->Auth->logout();
$this->session->destroy();

Auth->logoutのみ
 同列のセッション情報が生きている
session->destroyを追加
 Authのログイン情報が生きている

Auth->logoutはAuth配下のセッション情報は削除できるが、Authと同列のものは削除できていない。
そこで直接Session->destroyを行うと、同列のものは削除できたがAuthの情報は削除できずに残っていた。

調べてみても情報なし。
しょうがないのでdeleteで個別に削除


$this->Auth->logout();
$this->session->delete("Data");
$this->session->delete("HogeHoge");

ちなみにPHP関数でsession_destroyだとエラーでした。

CakePHP4のFormヘルパーでDivタグの削除

CakePHP4のフォームヘルパーでDIVが削除できなくて困った。
DIVのオプションがなくなったようです。

CakePHP3からなくなったのかな?
CakePHP3のやりかただと削除できなかったので、CakePHP4のマニュアルに載っているやり方で削除します。

フォームヘルパーのテンプレートで対応

マニュアル
https://book.cakephp.org/4/ja/views/helpers/form.html#formhelper

個別にできないのは結構不便。
他にやり方があるのだろうか・・・