Как в url com_search поисковой запрос заменять на search?

0 Пользователей и 1 Гость просматривают эту тему.
  • 3 Ответов
  • 126 Просмотров
*

LovelyHost

  • Осваиваюсь на форуме
  • ***
  • 168
  • 2
Как я понял нужно копать controller com_search. А вот как сделать не знаю.

Код
<?php
/**
 * @package     Joomla.Site
 * @subpackage  com_search
 *
 * @copyright   Copyright (C) 2005 - 2016 Open Source Matters, Inc. All rights reserved.
 * @license     GNU General Public License version 2 or later; see LICENSE.txt
 */

defined('_JEXEC') or die;

/**
 * Search Component Controller
 *
 * @since  1.5
 */
class SearchController extends JControllerLegacy
{
/**
* Method to display a view.
*
* @param   bool  $cachable   If true, the view output will be cached
* @param   bool  $urlparams  An array of safe url parameters and their variable types, for valid values see {@link JFilterInput::clean()}.
*
* @return  JControllerLegacy This object to support chaining.
*
* @since   1.5
*/
public function display($cachable = true, $urlparams = true)
{
// Force it to be the search view
$this->input->set('view', 'search');

return parent::display($cachable, $urlparams);
}

/**
* Search
*
* @return void
*
* @throws Exception
*/
public function search()
{
// Slashes cause errors, <> get stripped anyway later on. # causes problems.
$badchars = array('#', '>', '<', '\\');
$searchword = trim(str_replace($badchars, '', $this->input->getString('searchword', null, 'post')));

// If searchword enclosed in double quotes, strip quotes and do exact match
if (substr($searchword, 0, 1) == '"' && substr($searchword, -1) == '"')
{
$post['searchword'] = substr($searchword, 1, -1);
$this->input->set('searchphrase', 'exact');
}
else
{
$post['searchword'] = $searchword;
}

if ($post['limit'] === null)
{
unset($post['limit']);
}

$areas = $this->input->post->get('areas', null, 'array');

if ($areas)
{
foreach ($areas as $area)
{
$post['areas'][] = JFilterInput::getInstance()->clean($area, 'cmd');
}
}

// The Itemid from the request, we will use this if it's a search page or if there is no search page available
$post['Itemid'] = $this->input->getInt('Itemid');

// Set Itemid id for links from menu
$app  = JFactory::getApplication();
$menu = $app->getMenu();
$item = $menu->getItem($post['Itemid']);

// The requested Item is not a search page so we need to find one
if ($item->component != 'com_search' || $item->query['view'] != 'search')
{
// Get item based on component, not link. link is not reliable.
$item = $menu->getItems('component', 'com_search', true);

// If we found a search page, use that.
if (!empty($item))
{
$post['Itemid'] = $item->id;
}
}

unset($post['task']);
unset($post['submit']);

$uri = JUri::getInstance();
$uri->setQuery($post);
$uri->setVar('option', 'com_search');

$this->setRedirect(JRoute::_('index.php' . $uri->toString(array('query', 'fragment')), false));
}
}

Помогите пожалуйста.

*

fsv

  • Практически профи
  • *******
  • 2506
  • 367
Сделайте скрытое меню. В нем пункт "результаты поиска" (или как-то похоже называется, пишу по памяти) с алиасом search.
Будет  /search?searchword=blabla&searchphrase=all
Заказать разработку:    расширения Joomla  |   интерфейсы на javascript(jQuery)  |  мобильные приложения

*

robert

  • Профи
  • ********
  • 4006
  • 371
Будет  /search?searchword=blabla&searchphrase=all
;D
Он сейчас начнет нечистотами разбрасываться: про одно и то же уже писал здесь и здесь.
  • Не будь паразитом, сделай что-нибудь самостоятельно!
  • В личке и по Skype не даю советов.

*

fsv

  • Практически профи
  • *******
  • 2506
  • 367
про одно и то же уже писал
мда... странные желания
я подумал, что убрать надо /component/...
Заказать разработку:    расширения Joomla  |   интерфейсы на javascript(jQuery)  |  мобильные приложения