Album reindex

Sezione per discutere di Moduli/Plugin sviluppati dalla comunità italiana
Post Reply
horus
Forum Members
Forum Members
Posts: 25
Joined: Mon Jul 24, 2006 8:05 am

Album reindex

Post 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 ;))
horus
Forum Members
Forum Members
Posts: 25
Joined: Mon Jul 24, 2006 8:05 am

Re: Album reindex

Post 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
alby

Re: Album reindex

Post 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
horus
Forum Members
Forum Members
Posts: 25
Joined: Mon Jul 24, 2006 8:05 am

Re: Album reindex

Post by horus »

Ok, avevo messo questo messaggio per segnalarlo, non ho ancora capito bene come segnalare le cose sul forum.
alby

Re: Album reindex

Post 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
Post Reply

Return to “Moduli/Plugins”