Page 1 of 1

Search Plugin Results - 2.7.1

Posted: 30 May 2010, 22:54
by bedachtm
I have been trying to track down a solution that will return a link to the images that the search encounters, not the category. There seems to have been some talk about this issue, with perhaps solutions offered for prior versions of the plugin. Can anybody point me to a solution, since for my site good search results - pointing to exact images - is critical.

Thankx

Re: Search Plugin Results - 2.7.1

Posted: 31 May 2010, 01:10
by bedachtm
On further looking in the .../search/phocagallery.php script the results for both the CATEGORIES and the IMAGES are returned using a function - getCategoryRoute. Perhaps by using a different function - getImageRoute - the string returned would be for the image and not the category?

Does this make any sense? If so can anybody tell me where I can find the correct parameters to pass to this function?

Thanks again;

Re: Search Plugin Results - 2.7.1

Posted: 31 May 2010, 13:33
by Jan
Hi, this is because there is no direct link to detail window (popup), both are called with other parameters:

getCategoryRoute($value->catid, $value->catalias)
x
getCategoryRoute($value->id, $value->alias)

It is only about finding Itemid, for displaying directly the popup window (modal, ...) you need to load all the javascript libraries to the search outcomes file.

Jan

Re: Search Plugin Results - 2.7.1

Posted: 31 May 2010, 15:11
by bedachtm
Jan;

I'm not sure I really understand all the details, but I made the following change in /plugins/search/phocagallery.php:

Line 156 was:
$listImages[$key]->href = JRoute::_(PhocaGalleryRoute::getCategoryRoute($value->catid, $value->catalias));

I changed it to:
$listImages[$key]->href = JRoute::_(PhocaGalleryRoute::getImageRoute($value->id, $value->catid, $value->alias, $value->catalias, 'detail', $suffix ));

After this change clicking on the search result brought up the image found in the search which is what I want.

It comes in a slide show window which may not be the best result, but I am going to continue along this path and see where it leads.

Max

Re: Search Plugin Results - 2.7.1

Posted: 06 Jun 2010, 20:05
by imperialWicket
This may be a solution for you, although it may also be a little different than your target resolution. Nonetheless, if you are trying to get away from a modal popup, but want to be certain that a user is taken to a category page that includes the search result image, you can update the images SQL query in the phocagallery.php file from the search plugin (version 2.7.1) to pull the 'ordering' column, then append '&limitstart='.$ordering to the end of the href value. The updated link will load the correct page of the category.

Or, in code-speak -

Update this line of the images query:

Code: Select all

 . ' "2" AS browsernav, b.id as catid, b.alias as catalias'
To read:

Code: Select all

 . ' "2" AS browsernav, b.id as catid, b.alias as catalias, a.ordering AS photoordering'
Update the foreach loop that traverses the $listImages dataset, adding this within the loop:

Code: Select all

//If SEF URLs ARE NOT enabled:
$listImages[$key]->href.='&limitstart='.($listImages[$key]->photoordering-1);

//If SEF URLs ARE enabled:
//$listImages[$key]->href.='?start='.($listImages[$key]->photoordering-1);


This will still make your result item link to the category, but it guarantees that multi-page categories will be on the page including the target image.

I usually use this update to control the textual link. To supplement this update, I retrieve more alias values in the SQL query and update the com_search component's default_results.php file to show the thumbnail for the result. When clicking the thumbnail, I popup the modal slideshow starting at that image. This way, if the user wants to see the full image they are able, but if they simply click the link, they will proceed to the category (which, in theory, has more images like that result...), and they will have seen the thumbnail for the search result.

Re: Search Plugin Results - 2.7.1

Posted: 18 Dec 2010, 22:49
by hockey2112
bedachtm wrote:Jan;

I'm not sure I really understand all the details, but I made the following change in /plugins/search/phocagallery.php:

Line 156 was:
$listImages[$key]->href = JRoute::_(PhocaGalleryRoute::getCategoryRoute($value->catid, $value->catalias));

I changed it to:
$listImages[$key]->href = JRoute::_(PhocaGalleryRoute::getImageRoute($value->id, $value->catid, $value->alias, $value->catalias, 'detail', $suffix ));

After this change clicking on the search result brought up the image found in the search which is what I want.

It comes in a slide show window which may not be the best result, but I am going to continue along this path and see where it leads.

Max

I tried this solution, but it is not very elegant. Clicking the search result brings me to a partial page that has my header, top nav, and the photo in question, but other items are missing from the page (the background image, footer navigation, etc).

Is there a way to modify this code so that the lightbox version of the image will pop open while the browser remains on the search results page where they clicked the link?

Thanks!