Page 1 of 1

Album reindex

Posted: Fri Dec 21, 2007 9:44 am
by horus
Buongiorno a tutti.

Utilizzo da qualche tempo cmsms e ultimamente sto rifacendo un vecchio sito, ho installato il modulo album e caricato le foto, tutto funzionava e effettuando la ricerca venivano trovati anche i risultati tra gli album. Poi dall'amministrazione del modulo search ho reindicizzato il sito e ora non trova più nulla tra gli album.

Leggendo qua e là il codice credo sia dovuto alla mancanza della funzione SearchReindex nel modulo album ma potrei anche sbagliarmi. Qualcuno ha qualche informazione in più o può suggerirmi un modo per risolvere il problema?
Come ultima spiaggia dovrei scrivermi la funzione scopiazzandola da altri moduli ma preferirei non mettere mano ai file (più di quanto abbia già fatto ;))

Re: Album reindex

Posted: Thu Jan 03, 2008 10:11 am
by horus
In effetti era come avevo sospettato, mancava la funzione SearchReindex nel modulo album. L'ho aggiunta nel file modules/Album/classes/module/class.Album.php dopo SearchResult ed ora tutto funziona

Code: Select all

	function SearchReindex(&$module)
	{
		$db =& $this->GetDb();
		
		// albums
		$query = 'SELECT album_id, album_name, comment FROM '.cms_db_prefix().'module_album_albums ORDER BY album_id';
		$result = &$db->Execute($query);
		
		while ($result && !$result->EOF)
		{
			$module->AddWords($this->GetName(), $result->fields['album_id'], 'album', $result->fields['album_name']);
			
			if ($result->fields['comment'] != NULL)
			{
				$module->AddWords($this->GetName(), $result->fields['album_id'], 'album', $result->fields['comment']);
			}
			
			$result->MoveNext();
		}
		
		// pictures
		$query = 'SELECT picture_id, picture_name, comment FROM '.cms_db_prefix().'module_album_pictures ORDER BY picture_album_id, picture_id';
		$result = &$db->Execute($query);
		
		while ($result && !$result->EOF)
		{
			$module->AddWords($this->GetName(), $result->fields['picture_id'], 'album_picture', $result->fields['picture_name']);
			
			if ($result->fields['comment'] != NULL)
			{
				$module->AddWords($this->GetName(), $result->fields['picture_id'], 'album_picture', $result->fields['picture_name'].' '.$result->fields['comment']);
			}
			
			$result->MoveNext();
		}
	}
Sarebbe utile includere questa funzione direttamente nel modulo per evitare che dopo ogni aggiornamento uno debba andare a riscriversela.

Saluti

Re: Album reindex

Posted: Thu Jan 03, 2008 1:48 pm
by alby
horus wrote: In effetti era come avevo sospettato, mancava la funzione SearchReindex nel modulo album. L'ho aggiunta nel file
Ottimo lavoro!

Perchè sia incluso, postalo anche nella sezione Patches del modulo Album

Alby

Re: Album reindex

Posted: Thu Jan 03, 2008 2:31 pm
by horus
Ok, avevo messo questo messaggio per segnalarlo, non ho ancora capito bene come segnalare le cose sul forum.

Re: Album reindex

Posted: Thu Jan 03, 2008 4:00 pm
by alby
horus wrote: Ok, avevo messo questo messaggio per segnalarlo, non ho ancora capito bene come segnalare le cose sul forum.
Va bene segnalarlo nel forum perchè è il più letto ma per i devs il posto è il tracker, in questo caso è un patch

Alby