9.4.4 でページリストブロックの ページ付けインターフェースが動作しない

ページリストブロックのブロックテンプレートをオーバーライドし、以下を参考にページ付けボタンの数を変更しています。

https://concrete5-japan.org/help/5-7/recipes/customize-pagination/

<?php if ($showPagination) { ?>
    <?php echo $pagination; ?>
<?php } ?>

<?php if ($showPagination) { ?>
    <?php
    $pagination = $list->getPagination();
    if ($pagination->getTotalPages() > 1) {
        $options = [
            'proximity' => 0,
        ];
        echo $pagination->renderDefaultView($options);
    }
    ?>
<?php } ?>

9.4.3 から 9.4.4 へアップデートしたところ、ログアウト時に動作しなくなりました。
ページ番号のボタンを押すとページ付け部分の表示は変わりますが、リスト部分に表示される内容は同じままです。
ログインすると動作するようになります。

フルサイト(Atomik)をクリーンインストールした環境では、以下の手順で再現できました。
[キャッシュと表示速度設定]はすべて無効、[上級権限モード]はオンになっています。

  1. Resources ページを表示し、ページリストブロックの設定を変更する

[表示するページ数]1
[表示数よりもアイテムが多い場合、ページ付けインターフェースを表示します]オン

ログインしたブラウザでは、ページ付けに 1 から 6 のボタンが表示されます。
ログアウトしたブラウザでは、ページ付けに 1 と三点リーダーが表示されます。
いずれも番号ボタンを押すと正常に動作します。

  1. ブロックテンプレートをオーバーライドし、ページ付け部分を同じように変更する

ログアウトしたブラウザでは、番号ボタンを押しても動作しません。
また 6 ページのうち 4 ページまでしか表示されないようです。

オプションの記述方法に変更などございましたでしょうか。

Concrete CMS バージョン
9.4.4

PHP バージョン
8.3.x

サーバー
エックスサーバー

確認したところ、カスタマイズが効かないということではなく、そもそも未カスタマイズでも表示されなくなっているバグのようでした。

一時的な対処法としては、ページリストブロックの設定で権限を無視するオプションを有効にすると治るようです。ページ単位で権限による表示のコントロールをしていないサイトであればこの方法で回避できます。

1 Like

[ページ権限を無視する]をオンにすると、ログアウトしたブラウザでもページ付けインターフェースが動作することを確認しました。
修正が反映されましたら再度動作を検証できればと思います。
早々にご対応くださいましてありがとうございました。

9.4.6 で問題が解消されたことを確認しました。
ありがとうございました。