Skip to main content

This site requires you to update your browser. Your browsing experience maybe affected by not having the most up to date version.

Archive /

Our old forums are still available as a read-only archive.

Moderators: martimiz, Sean, biapar, Willr, Ingo, simon_w

Problems with the search function.


Reply


6 Posts   1657 Views

Avatar
SLJ

Community Member, 23 Posts

26 June 2007 at 3:40am

Edited: 26/06/2007 3:41am

This may actually belong in the bugs section. I built the search function following the instructions in "4-site-search." and it works flawlessly most of the time but I discovered that if an entry that qualifies as a search result has an ampersand in it, it fails with the following:

XML Parsing Error: not well-formed
Location: http://localhost/silverstripe/media-appearances/results?Search=Heart&formController=media-appearances%2F&executeForm=SearchForm&action_results=Go
Line Number 88, Column 19:

“The Heart & Soul
------------------^

You can't see it here, but in the actual error the caret is pointing to the space after the ampersand. How can I fix this?

Avatar
Andy

230 Posts

27 June 2007 at 1:11pm

You can fix this by changing $Content.LimitWordCountPlainText to $Content.LimitWordCountXML in the template. I've updated the tutorial with this.

Avatar
SLJ

Community Member, 23 Posts

27 June 2007 at 2:37pm

Thanks. That took care of the error message. Now I have a different issue. The content has special characters in it and the html for those characters is now showing up on the search results page. Like this:

Media appearances in the following documentaries
“The Heart & Soul Series” by ABC-TV

The text shows up the way it's supposed to on the actual page it's from. Any ideas how to fix this?

Avatar
Andy

230 Posts

27 June 2007 at 3:00pm

This appears to be a problem with tinymce's cleanup of HTML content. I will make a ticket in our bug system for this, for now try changing your angled quotes to standard ones - " .

Avatar
SLJ

Community Member, 23 Posts

27 June 2007 at 4:34pm

Andy,

Thanks for looking into this. I tried what you said at it still does it even with standard quotation marks.

Is there some way I can parse the search results to get rid of the HTML code before it's displayed on the page?

It's putting in "amp;" after the ampersands so that the resulting HTML has "&" which makes them display as ampersands instead of being used in the HTML like they're supposed to be. If I could somehow strip out the "amp;" strings. it would display normally.

What's the best way to do that?

Avatar
Andy

230 Posts

27 June 2007 at 4:52pm

Try using $Content.FirstParagraph instead.