14/04/2010, 17:36:25
Citation :#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~Bonjour !
#~ Version du CMS : 1.7.0
#~ Version du MLE si existante : nope
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 1.7
#~ Installed Modules:
#~ * CMSMailer: 1.73.14
#~ * FileManager: 1.0.2
#~ * MenuManager: 1.6.2
#~ * ModuleManager: 1.3.3
#~ * News: 2.10.4
#~ * nuSOAP: 1.0.1
#~ * Printing: 1.0.4
#~ * Search: 1.6.2
#~ * ThemeManager: 1.1.1
#~ * TinyMCE: 2.6.5
#~ * FrontEndUsers: 1.8.1
#~ * CustomContent: 1.5.3
#~ * CGExtensions: 1.18.2
#~ * CGCalendar: 1.3.1
#~ * GCS: 0.0.1
#~ Config Information:
#~ * php_memory_limit:
#~ * process_whole_template: false
#~ * max_upload_size: 48000000
#~ * default_upload_permission: 664
#~ * assume_mod_rewrite: false
#~ * page_extension:
#~ * internal_pretty_urls: false
#~ * use_hierarchy: true
#~ Php Information:
#~ * phpversion: 5.2.11
#~ * md5_function: On (Vrai)
#~ * gd_version: 2
#~ * tempnam_function: On (Vrai)
#~ * magic_quotes_runtime: Off (Faux)
#~ * E_STRICT: 0
#~ * memory_limit: 64M
#~ * max_execution_time: 10
#~ * safe_mode: Off (Faux)
#~ * session_save_path: Aucune vérification à cause de la restriction spécifiée par PHP open_basedir
#~ * session_use_cookies: On (Vrai)
#~ Server Information:
#~ * Server Api: apache2handler
#~ * Server Db Type: MySQL (mysql)
#~ * Server Db Version: 5.0.84
#~ ----------------------------------------------
#~~~~~ NE PAS SUPPRIMER CE BLOC ~~~~~
Pour mon site, il me faut pouvoir effectuer des recherches qui porteront sur le site lui-même (local search) et sur une série de sites bien spécifique.
Or il me semble que c'est impossible avec Search et je me suis tourné alors vers Google Custom Search... Mais j'y comprends rien !
J'ai été trouver un code pour le champ 'GCS API Unique Identifier', mais rien ne se passe quand je clique sur 'Submit'. Alors, évidemment, je sais pas si ça marche.
Je ne comprends pas non plus si je dois mettre un template ou si les résultats s'afficheront dans la page.
Dans mon désespoir, j'ai essayé ceci:
{cms_module module="GCS" search_query="Recherche" search_query_size="30" detailpage="recherche"}
J'ai créé une page avec un alias 'recherche' avec un contenu vide et j'ai mis dans les meta data le code suivant:
Voilà un essai de code, mais je ne comprends pas vraiment où le mettre...
{literal}<script src="http://www.google.com/jsapi?key=taCle" type="text/javascript"></script>
<script language="Javascript" type="text/javascript">
//<![CDATA[
google.load("search", "1");
function OnLoad() {
// Create a search control
var searchControl = new google.search.SearchControl();
// Recherche en local et sur des sites prédéfinis
var siteSearch = new google.search.WebSearch();
siteSearch.setSiteRestriction("http://www.vd.ch/fr/themes/environnement/developpement-durable/");
searchControl.addSearcher(siteSearch);
// Tell the searcher to draw itself and tell it where to attach
searchControl.draw(document.getElementById("searchcontrol"));
}
google.setOnLoadCallback(OnLoad);
//]]>
</script>{/literal}
J'obtiens un résultat sans template, dans la page est la bonne, avec le message suivant :
Résultat de la recherche
Warning: file_get_contents(http://www.google.com/search?client=goog...=confignon) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.0 404 Not Found in /home/www/2facc9cde4200ebea4065b97f8888179/web/test_cmsms/modules/GCS/classes/GoogleCustomSearch.class.php on line 94
Fatal error: Uncaught exception 'Exception' with message 'String could not be parsed as XML' in /home/www/2facc9cde4200ebea4065b97f8888179/web/test_cmsms/modules/GCS/classes/GoogleCustomSearch.class.php:94 Stack trace: #0 /home/www/2facc9cde4200ebea4065b97f8888179/web/test_cmsms/modules/GCS/classes/GoogleCustomSearch.class.php(94): SimpleXMLElement->__construct('') #1 /home/www/2facc9cde4200ebea4065b97f8888179/web/test_cmsms/modules/GCS/action.results.php(29): GoogleCustomSearch->performSearch() #2 /home/www/2facc9cde4200ebea4065b97f8888179/web/test_cmsms/lib/classes/class.module.inc.php(1555): include('/home/www/2facc...') #3 /home/www/2facc9cde4200ebea4065b97f8888179/web/test_cmsms/lib/classes/class.module.inc.php(1592): CMSModule->DoAction('results', 'm5c25d', Array, '112') #4 /home/www/2facc9cde4200ebea4065b97f8888179/web/test_cmsms/plugins/function.content.php(98): CMSModule->DoActionBase('results', 'm5c25d', Array, 112) #5 /home/www/2facc9cde4200ebea4065b97f8888179/web/test_cmsms/tmp/templates_c/%%C3^C37^C378FBD0%%t in /home/www/2facc9cde4200ebea4065b97f8888179/web/test_cmsms/modules/GCS/classes/GoogleCustomSearch.class.php on line 94
Il me faut également pouvoir empêcher certaines pages de renvoyer des résultats si l'internaute ne s'est pas identifié comme membre. Je pensais utiliser ça:
< !-- pageAttribute: NotSearchable -- >
Est-ce que ça fonctionnera avec GCS ?
Merci de m'aider