Page List - Keyword Search Filter

I have looked about, but I am not sure there is an add-on that does what I need. I have a page containing a thumbnail page list that can currently be filtered by topics but is their an add-on or way that a page list can be filtered by a keyword?

The search block just appears to search and list content, but I want the results to filter a page list. Like the ‘search by name’ example on this website.
https://www.magd.ox.ac.uk/people/

You can create a new PageList Template (or adjust your current one) to do this, the functionality is already in the block.

You just need to add this form to the block somewhere. The layout/classes don’t really matter but the form method matters and the name of the field matters.

$form = Core::make('helper/form');

<form method="post" action="<?php echo $view->action('search_keywords'); ?>">
    <div class="mb-3">
        <?php echo $form->label('keywords', t('Search')); ?>
        <?php echo $form->text('keywords'); ?>
    </div>
    <div class="mb-3">
        <input type="submit" name="submit" value="<?php echo t('Go'); ?>" class="btn btn-primary" />
    </div>
</form>

Thanks for this. I’m getting a ‘404’ when submitting that form.

But then again, the ‘resource_list’ page list template in the Atomic theme, which also contains the keyword search function, also gives me a 404 so is this something local to my installation or am I missing a landing page or have something set up wrong?

I just tried this on my site that’s running v9.4.1 and realized that the method needs to be “get” instead of “post”. Once I made that change it worked. I wasn’t getting a 404 either way though.

Thank you Hutman that has worked for me. Is there a way to narrow down the search to just the page title and not the entire page contents?

Searching all of the indexed content is part of the core functionality. In order to change that you would need to create a new PageList model and extend the original, then override the PageList block controller to use your new model.