Jump to content

Recommended Posts

Posted

Hi, I am trying to collect the page titles of a parent and its children, but this code won;t work:

<?php

// collect titles for parent + children
$titles = [$page->title];              // parent title
foreach($page->children as $child) {
    $titles[] = $child->title;         // child titles
}

// build a selector value like: title="A|B|C"
$titleSelector = implode('|', array_unique($titles));

// now find all Championship_results whose winner_name page
// has a title matching ANY of those titles, sorted by year descending
$champwinx = $pages->find(
    "template=Championship_results, winner_name.title=$titleSelector, sort=-year"
    );

?>

It produces this error: any suggestions re a fix appreciated

Error: Exception: Unknown Selector operator: '[empty]' -- was your selector value properly escaped? field='G', value='Miss|Temple-Dobell', selector: 'template=Championship_results, winner_name.title=Ravenscroft, G (Miss)|Temple-Dobell, G (Mrs), sort=-year' (in wire/core/Selectors.php line 222)

 

Posted (edited)

It's because of the parenthesis in your pages’ title which, unescaped, act like OR groups. Actually it’s because of the commas 🙂

Try using IDs instead and then in your selector: "winner_name=$ids"

Edited by monollonom

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...