A pedidos aqui no trabalho, precisei fazer um hack no código de busca do Joomla. Meio a contragosto fiz a modificação solicitada, digo a contragosto porque fazer um hack em um programa tem alguns pontos importantes a serem considerados:
- Faça backup do arquivo modificado;
- Antes de colocar o seu arquivo no seu site on-line, teste antes localmente;
- Comente o código onde foram feitas as modificações;
- O mais importante, faça uma documentação de tudo isso que que você está modificando, lembre-se quando vier um update de versão, você terá que refazer o hack novamente.
Muito bem, esse hack que fiz foi algo muito simples, me pediram que na busca do Joomla, fosse também buscado o autor dos textos, após checar no Joomla e confirmar que a busca de conteúdo (search content) realmente não lia esse campo, resolvi fazer o hack.
Abra o arquivo \plugins\search\content.php e adicione a seguinte linha, logo após a linha 81
$wheres2[] = 'LOWER(a.introtext) LIKE '.$text;
// QUANDO for igual ao nome do autor COLUNA created_by_alias
$wheres2[] = 'LOWER(a.created_by_alias) LIKE '.$text;
Depois, logo após a linha 99, adicione também o código abaixo:
$wheres2[]= 'LOWER(a.introtext) LIKE '.$word;
// QUANDO for igual ao nome do autor COLUNA created_by_alias
$wheres2[] = 'LOWER(a.created_by_alias) LIKE '.$word;
Por último agora basta adicionar na query (linha 141) a busca do campo certo da tabela e montar o texto do resultado.
$query = 'SELECT a.title AS title,' . ' a.created AS created,'
// Adicionando o coluna do autor na busca
. ' CONCAT(a.created_by_alias,a.introtext, a.`fulltext`) AS text,'
Pronto! Se preferir baixe aqui o arquivo zipado joomla-content.php.zip, versão Joomla 1.5.3