concrete5 5.6.2.1 アップグレード後に出るエラーについて

concrete5 トリック集

concrete5 の古いアドオン「前へ・次へ」ブロックを使っている人へ。concrete5.6.2.1 へアップグレードした途端に、下記のようなエラーが出ます。

mysqlt error: [1054: Unknown column 'ctID' in 'where clause'] in EXECUTE("select cID from Pages where 1=1 and ctID = 0 and (cFilename like '/login.php' or cFilename like '/register.php' or cFilename like '/download_file.php' or cFilename like '/profile/%' or cFilename like '/dashboard/%' or cFilename like '/page_forbidden%' or cFilename like '/page_not_found%' )")

テストサーバーで、実際のサイトのデータを使って行ったテストでは、下記のように、「前へ・次へ」ブロックが設置されている場所あたりから、このエラー文が始まっています。

5.6.2.1 にアップグレードした時の「前へ次へ」ブロックのエラー画面の例

5.4.0.5 以前の時代に、「前へ・次へ」ブロックは別のアドオンとして存在しており、アップグレードがされていないままだったため、5.6.2.1 より、次へ・前へブロックで、ページを抽出している構造が変わったため、アップグレードされずにエラーが出てしまったためです。

この対処方法は、アップグレード前に「前へ・次へ」ブロックを削除し、concrete5 標準新たに設置された「前へ・次へ」ブロックを設置するという作業が必要です。

この他にも、古いアドオンで、アップグレードされていないアドオンであると、同じように、使用を停止して、該当ブロックを削除するか、機能を代替するようなブロックを設置し直すという作業が必要になるようです。