Interne Suche bei 0 Suchergebnissen weiterleiten auf Google CSE und (GET manipulation)
:fragt Max
- javascript
Hallo,
ich liebe mein CMS allerdings ist die Suche so "la la". Als Brückenlösung soll nun bei 0 Ergenissen die Google CSE genutzt werden. Die Einbindung der CSE ist einfach:
<script>
(function() {
var cx = 'CSEID:CSEKEY';
var gcse = document.createElement('script');
gcse.type = 'text/javascript';
gcse.async = true;
gcse.src = 'https://cse.google.com/cse.js?cx=' + cx;
var s = document.getElementsByTagName('script')[0];
s.parentNode.insertBefore(gcse, s);
})();
</script>
<gcse:search></gcse:search>
Das Problem ist das CSE den Querry via GET im Parameter ?q=querry erwartet mein CMS aber den parameter über ?s=querry übernimmt. Ich könnte nun bei 0 Ergebnissen eine Weiterleitung machen auf eine URL bei der dann der Querry via q ausgespielt wird. Das ist allerdings absolut unschön, und ich überlege wie ich den s querry in einen q querry zaubern kann. Kann ich mit Javascirpt vielleicht einen GET q Parameter simullieren?
Hallo :fragt Max,
Das Problem ist das CSE den Querry via GET im Parameter ?q=querry erwartet mein CMS aber den parameter über ?s=querry übernimmt.
Ich könnte nun bei 0 Ergebnissen eine Weiterleitung machen auf eine URL bei der dann der Querry via q ausgespielt wird. Das ist allerdings absolut unschön, und ich überlege wie ich den s querry in einen q querry zaubern kann.
Kann ich mit Javascirpt vielleicht einen GET q Parameter simullieren?
Query. Simulieren.
Natürlich geht das. Möglicherweise so.
href_neu = href_alt.replace(/\?s=/, "?q=");
Bis demnächst
Matthias
Hallo Matthias,
wenn ich deine Antwort richtig verstehe würdest du zB. via PHP eine Weiterleitung erstellen? Dann hätten wir das Beispiel: beispiel.de/?s=meine suche wird bei 0 Ergebnissen via PHP 301 oder 302 weitergeleitet auf: beispiel.de/?q=meine suche Das wäre ja die "unschönste" Lösung.
Oder meinst du ein "replace" in das Google Script einfügen. Darauf hätte ich ja keinen Einfluss da es nachgeladen wird.
Hallo :fragt Max,
Schau dir mal an, wie man die Beiträge richtig formatieren kann (rotes Fragezeichen über der Texteingabe)
wenn ich deine Antwort richtig verstehe würdest du zB. via PHP eine Weiterleitung erstellen?
Nein.
beispiel.de/?s=meine suche wird bei 0 Ergebnissen via PHP 301 oder 302 weitergeleitet auf:
Für Beispiele gibt es example.com
.
Oder meinst du ein "replace" in das Google Script einfügen. Darauf hätte ich ja keinen Einfluss da es nachgeladen wird.
Ich würde per JavaScript den Link zur Suche ändern. Möglicherweise verstehe ich auch nicht so richtig, was du meinst. Kannst du ein konkretes Beispiel verlinken?
Bis demnächst
Matthias
Problem gelöst es muss <gcse:searchresults-only queryParameterName="s"> eingefügt werden. Gefunden in einer alten Dokumentation https://developers.google.com/custom-search/docs/element