Search the whole CMS

13 posts by 5 authors in: Forums > CMS Builder
Last Post: January 27, 2011   (RSS)

By mdegive - November 23, 2010

When I bought CMS Builder, I also bought the Search Engine. I though this search engine would be based on the CMS and let me search in any of the sections I created but instead it is just a search engine that searches through html pages. No good to me.

I can't believe that CMSBuilder does not have a search capability built in or a plugin that would let me specify what sections/field to search on.

I saw that somebody created MultiSearch.php but I am not sure where to find the latest version of this script.

Help!

Re: [mdegive] Search the whole CMS

By Jason - November 24, 2010

Hi,

CMS Builder does have built in search capabilities. If you're creating an HTML form to search a table, give your form elements the same name as the field you want to search against.

For example, if you have a field called "city" and you wanted to search it using a text box you could do this:

<input type="text" name="city" />

This is a really basic implementation of a search. For more information on form names you can use to perform different searches, take a look here:
http://www.interactivetools.com/docs/cmsbuilder/viewer_search.html

Hope this helps get you started. If you run into any trouble, please let me know more about exactly what you're trying to accomplish and I can get you some more specific examples.
---------------------------------------------------
Jason Sauchuk - Project Manager
interactivetools.com

Hire me! Save time by getting our experts to help with your project.
http://www.interactivetools.com/consulting/

Re: [mdegive] Search the whole CMS

By Jason - November 24, 2010

Hi,

There is an experimental function in CMS Builder called searchMultipleTables().

I've attached a file called multiSearch.php which provides an example of how the function works.

Please let me know if you have any questions.

Hope this helps
---------------------------------------------------
Jason Sauchuk - Project Manager
interactivetools.com

Hire me! Save time by getting our experts to help with your project.
http://www.interactivetools.com/consulting/
Attachments:

multisearch_003.php 4K

Re: [mdegive] Search the whole CMS

By mdegive - December 16, 2010

By the way, thank you VERY MUCH. That is exactly what I wanted![laugh]

I added an OrderBy option but it is not added to the query:
$searchOptions['orderBy'] = "pub_date DESC, title";

SELECT SQL_CALC_FOUND_ROWS * FROM ( SELECT 'news' as `tablename`, num, `title` as `_title`, `content` as `_summary`, `pub_date` as `field1`, `type` as `field2`, `link_url` as `field3`, '' as `field4`, '' as `field5`, '' as `field6`, '' as `field7`, '' as `field8`, '' as `field9`, '' as `field10`, CONCAT_WS('\t', `title`, `content`) as _content FROM `cms_news` UNION SELECT 'newsletters' as `tablename`, num, `title` as `_title`, `content` as `_summary`, `pub_date` as `field1`, '' as `field2`, '' as `field3`, '' as `field4`, '' as `field5`, '' as `field6`, '' as `field7`, '' as `field8`, '' as `field9`, '' as `field10`, CONCAT_WS('\t', `title`, `content`) as _content FROM `cms_newsletters` UNION SELECT 'press' as `tablename`, num, `title` as `_title`, `content` as `_summary`, `pub_date` as `field1`, '' as `field2`, '' as `field3`, '' as `field4`, '' as `field5`, '' as `field6`, '' as `field7`, '' as `field8`, '' as `field9`, '' as `field10`, CONCAT_WS('\t', `title`, `content`) as _content FROM `cms_press` UNION SELECT 'reports' as `tablename`, num, `title` as `_title`, `content` as `_summary`, `pub_date` as `field1`, '' as `field2`, '' as `field3`, '' as `field4`, '' as `field5`, '' as `field6`, '' as `field7`, '' as `field8`, '' as `field9`, '' as `field10`, CONCAT_WS('\t', `title`, `content`) as _content FROM `cms_reports` UNION SELECT 'white_papers' as `tablename`, num, `title` as `_title`, `content` as `_summary`, `pub_date` as `field1`, '' as `field2`, '' as `field3`, '' as `field4`, '' as `field5`, '' as `field6`, '' as `field7`, '' as `field8`, '' as `field9`, '' as `field10`, CONCAT_WS('\t', `title`, `content`) as _content FROM `cms_white_papers` ) as combinedTable WHERE (`_content` LIKE '%linley%') LIMIT 10 OFFSET 10

Re: [mdegive] Search the whole CMS

By Chris - December 16, 2010

Hi mdegive,

I'm afraid I can't think of a simple way to add that feature. I believe it would require some custom programming, which is something our consulting department could take care of for you. Please let me know if that's something you're interested in and I can get you a quote.
All the best,
Chris

Re: [mdegive] Search the whole CMS

By mdegive - December 16, 2010

I can code it myself, but I thought your others users would benefit from that feature. Should be pretty simple to add at the end of the select

Re: [mdegive] Search the whole CMS

By mdegive - December 16, 2010

Here is what I added in the query section:
if ($where) { $query .= "WHERE $where"; }

//MMD orderBy
if (@$searchOptions['orderBy']!="")
$query .= " ORDER BY ".$searchOptions['orderBy']." ";
//MMD orderBy END

$query .= getMysqlLimit($searchOptions['perPage'], @$_REQUEST['page']);

Works GREAT! Can you add that to your next release?

Re: [mdegive] Search the whole CMS

By Chris - December 17, 2010

Hi mdegive,

You know, I considered precisely that code, but I didn't think it would have the intended effect, since I thought you'd want to order the subqueries.

Thanks! I've committed this to our development branch.
All the best,
Chris

Re: [chris] Search the whole CMS

By pod9 - January 25, 2011

Hi, I am just building a site which needs to have a search function on it. There needs to be a single search box which users can type any text in and it searched the whole of cmsb. Please can you let me know how to do this from the ground up? james
Pod9