GeoWeb

Design e Tecnologia.

Joomla Hacks – Busca (search content)

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:

  1. Faça backup do arquivo modificado;
  2. Antes de colocar o seu arquivo no seu site on-line, teste antes localmente;
  3. Comente o código onde foram feitas as modificações;
  4. 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

Comments

comments