Saltare con la ricerca al singolo risultato presente

Aperto da alexred, Giovedì - 23 Aprile 2015 - 10:42

0 Utenti e 1 Visitatore stanno visualizzando questa discussione.

alexred

Se la ricerca di SMF da un unico risultato è possibile far aprire direttamente la pagina del risultato?
Come posso modificare il forum per far visualizzare direttamente la pagina del risultato della ricerca se è l'unico risultato disponibile?

Il tutto per cercare di legare in automatico gli articoli del sito Joomla con i relativi post sul forum per permettere di commentare gli articoli.
Per ogni articolo creo il relativo post nella sezione specifica del forum, il post ha lo stesso titolo dell'articolo. Nell'articolo in basso viene inserito automaticamente il tasto "Commenta sul forum" con il link che abbiamo visto: forum.esempio.xx/index.php?action=search2;search=titolo-articolo;brd[]=147
dove viene inserito automaticamente il relativo titolo dell'articolo nel link.
L'utente così passa dall'articolo del sito Joomla alla ricerca del forum che mostra il singolo post dedicato a quell'articolo. Ma se si riuscisse a farlo saltare direttamente al risultato sarebbe ottimale, tanto anche per le altre ricerche generiche sul forum non credo sia un problema se una ricerca da un unico risultato mandare direttamente alla pagina del risultato, anzi, è quasi meglio :)

Per completare l'opera ci vorrebbe poi il feed RSS del singolo post....  così da poter mostrare nell'articolo se ci sono già commenti presenti, ma questa è un'altra storia che ci portiamo dietro da molto tempo e che pare non sia possibile su SMF  :(

Grazie per l'aiuto

emanuele

Non è impossibile, per esperienza personale so che usare la ricerca è un po' fragile come sistema per individuare i topic.
Nel caso, addirittura, io userei una ricerca "custom" che veramente fa solo un "LIKE 'titolo topic'", senza addentrarsi nei meandri della ricerca di SMF.

Ma... far creare automaticamente il topic e "linkarlo" tramite un campo nel db? Non potrebbe essere un'opzione?

alexred

#2
Ciao Emanuele,
grazie per la risposta.

Come la costruisco la ricerca custom che cerca solo nel titolo dei post di quella sezione?
Poi rimane la questione di come far saltare la vista del risultato di ricerca verso la pagina dell'unico risultato presente, se presente un solo risultato nella ricerca :)

L'idea di far creare direttamente il post l'ho valutata ed ho fatto qualche test....   ma poi ho preferito fare io tutti i singoli post per rimanere meglio collegato alle discussioni e per generare dei post standar. Anche se riuscivo a passare dei parametri nel link, come il titolo ed il testo del messaggio da inserire ecc...  poi l'utente sai bene che non ci mette niente a cancellare quello che vede nell'anteprima e scrivere di sua fantasia.
Poi il database del sito e quello del forum si trovano su domini e server differenti e la comunicazione dei dati diventa complicata.

emanuele

Beh, io intendevo qualcosa di un po' meno manuale quando parlavo di far creare il topic in automatico, pensavo di "intercettare" la creazione (o meglio l'approvazione) dell'articolo in Joomla e con del codice creare un topic con un testo standard e linkato a doppio filo all'articolo, ma se mi dici che sono server diversi la cosa potrebbe complicarsi troppo.

A dire il vero, anche il metodo che ho proposto io potrebbe essere piuttosto fragile (per via delle "schifezze" che ci possono essere nel soggetto), va beh, rimandare con il risultato singolo è semplice:
if (count($context['topics']) == 1)
{
$topic_data = $smcFunc['db_fetch_assoc']($messages_request);
$smcFunc['db_free_result']($messages_request);

redirectexit('topic=' . $topic_data['id_topic'] . '.0');
}


da aggiungere appena prima di:

// Now that we know how many results to expect we can start calculating the page numbers.
$context['page_index'] = constructPageIndex($scripturl . '?action=search2;params=' . $context['params'], $_REQUEST['start'], $num_results, $modSettings['search_results_per_page'], false);

in Search.php.

alexred

Ti amo!   :-*

Funziona alla grande  :)

Grazie per l'aiuto

Discussioni simili (3)