Express Front-end Detail Block not returning results

I’ve managed to confirm this bug across at least two of my current Concrete sites. On the second site, I set up an extremely simple testbed to remove other possible factors. The testbed consists of a page called ‘list test’ containing an express list block and a page title block, and a second page called ‘detail test’ containing an express detail block, a page title block, and feature link block in the footer that points back to ‘list test’.

The express list block on ‘list test’ is configured to open ‘detail test’ and display the default form of the express entry selected from ‘list test’ – only it doesn’t. Nothing is returned, not even an error. If I look at the page source, all I see are empty divs.

I would like to know if anyone else has had this problem or could suggest a fix. The site I’m running the test on is fairly clean & simple: Concrete 9.4.3 / PHP 8.2.28, no Multisite, no advanced addons. This should work. Any insights anyone can share are very much appreciated.

The cause is the following code in controller.php of express_entry_detail.

    public function action_view_express_entity($exEntryID = null)
    {
        $entry = $this->entityManager->find(Entity::class, $exEntryID);

I think it will be fixed if you do the following or use the 9.4.2 code.

use Concrete\Core\Entity\Express\Entry;

    public function action_view_express_entity($exEntryID = null)
    {
        $entry = $this->entityManager->find(Entry::class, $exEntryID);

I confirm that rolling back to version 9.4.2 of express_entry_detail/controller.php resolves this issue. Thank you!

1 Like

I think that Fix view_express_entity action of express_entry_detail controller by mlocati · Pull Request #12668 · concretecms/concretecms · GitHub should fix this issue.

3 Likes

I’m glad the issue was resolved. Thank you for fixing the code as well.