Hey Leo,
darf man fragen woran es momentan noch liegt?
Falls es nicht die Zeit ist, wären wir dir natürlich gerne behilflich :)
Danke!
Druckbare Version
Hey Leo,
darf man fragen woran es momentan noch liegt?
Falls es nicht die Zeit ist, wären wir dir natürlich gerne behilflich :)
Danke!
Achso!
Super - dann werd ich das morgen direkt in Erfahrung bringen und berichten, danke!
Hey Leo,
erst einmal danke für die Arbeit an dem Modul.
Kann es sein, dass es sich bei dem vermeintlichen Ajax-Konflikt um das MegaMenü handelt?
Denn leider funktioniert dieses nicht mehr, sobald ich den AutoCompleter aktiviere.
Nichts desto trotz funktioniert das ganze auch ohne MegaMenü nicht (also es passiert zumindest nichts).
Ich habe im Modul und den Einstellungen den Auto_Completer aktiviert, habe die Buchstabenanzahl auf 3 beschränkt, Experteneinstellungen nicht angerührt. - Die maximale Anzahl an Ergebnissen liegt bei mir auf 5.
Leider passiert überhaupt nichts, habe ich evtl. irgendwas vergessen?
(Die Suchfunktion selber funktioniert!)
Danke dir.
Hey Leo,
danke, das habe ich nicht gewusst :)
Ich habs jetzt nachgeholt, Datenbank aktualisiert, Cache geleert, Suchindex neu aufgebaut, in den Einstellungen den AutoCompleter aktiviert (nach wie vor Experteneinstellungen nicht angerührt) dann im Modul den AutoCompleter aktiviert - keine Verbesserung.
Das Megamenu geht dann nach wie vor nicht, und die Suche reagiert leider auch nicht.
Kann dir via PN gerne einen Link und Zugang schicken, melde dich einfach wenn du möchtest.
Vielen Dank!
Kommando zurück:
Habe jetzt entdeckt, dass ein neues Modul dazugekommen ist, jetzt geht zumindest das Megamenu wieder. - Ich meld mich gleich wieder.
So, jetzt ist einiges klarer.
Also - habe jetzt den auto_completer für 2.9 deinstalliert, Datenbank aktualisiert, Cache gelöscht, Suchindex neu aufgebaut.
Ein neues Modul angelegt "Suchmodul - Auto Vervollständigung"
Dort folgende Einstellungen übernommen:
http://img6.imagebanana.com/img/74ba...humb/modul.PNG
In den Einstellungen bzw. im Seitenlayout konnte ich nichts mehr finden, dass ich einstellen konnte.
Also ich denke ich habe jetzt alles soweit eingestellt.
Habe dann letztendlich das Modul ins Seitenlayout eingebunden und es erscheint auch, (Suchfeld mit einem X und die Funktion, dass ich reinklicke und das Wort "Suche" verschwindet funktioniert auch).
leider aber werden noch nicht die Ergebnisse angezeigt.
Hab ich wieder irgendwas vergessen? :)
Vielen Dank!
EDIT:// Noch etwas ist mir aufgefallen:
Das Megamenu funktioniert wieder nicht, also vermutlich liegt da auch irgendwo ein Konflikt, schalte ich das Megamenu jedoch ab (also schmeiße es aus dem Layout) funktioniert die Suche auch noch nicht)
Und es liegt noch kein DIV um das Modul :)
Hallo leo,
also ich habe die Tage des ganze nun ausgiebig getestet und bin leider nach wie vor bei dem Ergebnis dass es nicht am Megamenu und auch nicht an slideshow2 liegt.
AutoCompleter verhindert nur die Funktion der beiden extensions und vermutlich auch jeder anderer.
Im Firefox bekomme ich den Fehler:
this.element is null in der ac_core.js in zeile 1, womit ich aber leider nichts anfangen kann.
Evtl. hilft dir das ja weiter.
Danke !
Ich nochmal:
vielleicht hilft dir das noch weiter:
http://img7.imagebanana.com/img/hhln...ax_fehler1.PNG
http://img6.imagebanana.com/img/cdrl...ax_fehler2.PNG
Viel Erfolg!
Hiho,
ich nochmal -
gibt es zufällig schon was neues? Hat es jemand zum laufen bekommen?
Hab das ganze jetzt auch mit der aktuellsten Github Version und Contao 2.11 auf einer völlig anderen Seite getestet (ohne Schnickschnack) und bekomme den selben Fehler (s. Screenshots)
Würde mich wirklich sehr über Hilfe bzw. Feedback freuen!
Danke!
Okay, natürlich respektieren wir das :) Falls jemand eine Ahnung hat, wie man den Fehler beheben kann, wäre ich dem jenigen sehr dankbar, wenn er seine Lösung hier postet :)
Nichts desto trotz sag ich mal danke Leo und hoffe dir in Zukunft ein bisschen weniger Stress, da du momentan scheinbar wirklich ziemlich viel zu tun hast (siehe Uhrzeit :eek:).
Danke!
Moin alle,
Ich habe mir das mal angesehen und der Code ist VIEL aufgeräumter als die alte Version und jedenfalls der richtige Ansatz.
Das gemeldete JS Problem beim Laden der Seite war tatsächlich einfach zu fixen (und hat nichts mit anderen Erweiterungen zu tun): bei der Erzeugung des JS Strings "... new Autocompleter.Request.JSON(\'ctrl_keywords_' . $this->strFormId ..." fehlte einfach nur der rot markierte Prefix [ac_core].
Allerdings gibt es noch mindestens 2 weitere Probleme:
- das REQUEST_TOKEN in 2.10.x ... das könnte ich hinbekommen und einen Patch dafür liefern. So wie es ist, kommt halt 400 Bad Request "Invalid Request Token" zurück. Als ersten Test habe ich mein ajax.php so gepatcht, dass es den Token Check umgeht, dann kommt allerdings "500 Internal Server Error" zurück ... und das liegt daran:
- in [ac_search_index] wird der [ac_core]-Hook 'getAutoCompleterChoices' auf array('AcSearchIndex', 'getChoices') gesetzt. Aber weder die Klasse noch eine passende Methode existieren
@Leo: keinen zusätzlichen Stress! Aber FALLS Du bereits diese Klasse/Methode bei Dir rumfliegen hast, so unfertig sie auch sein mag, gib sie mir. Git, PM oder email rehfeld@georg-rehfeld.de.
Ansonsten würde ich versuchen, aus der alten Erweiterung die Methode "ac_search_index.keywords()" als Vorlage zu nehmen und anzupassen.
Liebe Grüße,
Georg
Moin,
hat deutlich länger gedauert als geplant, aber hier erste Versionen von [ac_core] und [ac_search_index], die für mich im Prinzip funktionieren. Siehe Anlagen.
- Installation:
- Backups machen (DB und die Originale von [ac_core] und [ac_search_index], falls bereits installiert)
- falls [auto_completer] (die alte, obsolete Version) installiert ist: komplett deinstallieren
- die Erweiterung [ajax] ganz normal aus dem Repository installieren. Ohne diese Erweiterung geht natürlich garnichts.
- die beiden ZIPs in der Anlage auspacken und jeweils in "system/modules" hochladen
- falls "system/modules/ac_search_index" zuvor noch nie installiert war, unbedingt ein DB Update machen
- im BE ein Modul vom Typ "Suchmodul - Auto Vervollständigung" anlegen, konfigurieren und im Layout/einem Artikel einbinden
Dann sollten die beiden Erweiterungen funktionieren und ein Ergebnis zeigen, ähnlich zum Bild in der Anlage (wie Ihr aber seht, ist das Beispiel CSS noch nicht perfekt, da arbeite ich dran).
Die meiste Zeit hat mich das "Token per Request" in 2.10.x gekostet. Ich denke aber, ich habe eine brauchbare Lösung dafür gefunden, die Erweiterungen sollten von 2.7.x - 2.11.x funktionieren. Für 2.10.x und neuer braucht es eine zusätzliche JS Klasse, die sich um das Auspacken der JSON Antwort kümmert. Dafür habe ich nicht das Original JS geändert, sondern eine zusätzliche kleine JS Datei gemacht. Einzige Schwäche der aktuellen Lösung: falls man (in 2.10.x) auf einer Seite mit einem POST Formular ist, das Suchfeld aber z.B. in rechter/linker Spalte sichtbar ist, man dort 25 oder mehr AJAX Requests/Lookups auslöst, dann aber garnicht sucht, sondern das POST Formular absendet, dann wird man wohl die "Invalid Request Token" Meldung bekommen.
Hier meine Änderungen in Kurzform:
- Präfix 'ctrl_keywords_' hinzugefügt, um JS Fehler zu vermeiden bzw. das Lookup zu triggern
- json_encode() ausgebaut, wird von ajax.php gemacht
- REQUEST_TOKEN unterstützt
- fehlende Klasse/Methode AcSearchIndex::getChoices() hinzugefügt, angelehnt an die entsprechende Methode aus der alten Erweiterung, aber schon deutlich modifiziert
- Beispiel CSS aus der alten Erweiterung wird mitgeliefert und eingebunden, Einbindung kann aber mit unset($GLOBALS['TL_CSS']['ac_search_index']) in localconfig.php (?) abgeschaltet werden
- Formular Template an das Standard Suchformular angepasst (accessibility, Anzeige der Keywords)
Zum Lookup: Sortierung ist zur Zeit erst nach Relevanz, dann nach Name. Evtl. wäre eine Option im BE wünschenswert, um nach Name zu sortieren? Die Eingabe wird auch nur am Anfang der Worte gefunden, eine Option zur Suche auch im Wort wäre wohl wünschenswert. Diese beiden Optionen wären relativ leicht einzubauen. Ich persönlich hätte noch gern die Möglichkeit, eine Referenzseite angeben zu können, so dass man Lookups nur aus Teil-Bäumen der Site bekommt. Die normale Contao Suche kann das ja auch. Aufwand dafür kann ich noch nicht abschätzen.
Ich habe bisher nur unter 2.10.4 getestet und auch noch nicht alle Options-Kombinationen. Wäre schön, wenn sich Tester finden, die auch andere Contao Versionen erproben. Und Rückmeldung geben!
LG, Georg
PS: ich bin mit git noch nicht ausreichend vertraut, deshalb kann ich keinen Pull Request machen. Das müsste gegebenenfalls jemand anderes übernehmen (oder Leo verwendet halt die ZIPs)
Serwus,
Google Chrome 17 - Contao 2.11.1
Autocomplete funktioniert nicht -> Uncaught TypeError: Cannot call method 'setProperty' of null
Firefox 11 - Contao 2.11.1
Funktioniert ebenfalls nicht, zusätzlich blendet er beim Firefox den Löschen Button nicht ein. In Chrome funktioniert der Button.
Im Firebug rührt sich gar nichts.
Hoffe ich konnte helfen.
Einstellungen waren alle default. Hab nichts angerührt.
Danke für den Bericht.
Hmm, bist Du sicher, dass Du BEIDE Zips und auch die ajax Erweiterung installiert hast? Wie man nämlich an der Anzahl der Downloads sehen kann, wurde [ac_core] einmal weniger geladen als [ac_search_index]. Geändert habe ich aber in beiden Erweiterungen.
Und was meinst Du mit dem "Löschen Button"?
Ach noch ein Hinweis: bisher gibt es nur ein Template "mod_ac_search_index.html5". In der Anlage die beiden fehlenden *.xhtml bzw. *.tpl. Gehören nach system/modules/ac_search_index/templates. Nach auspacken/hochladen müssen dort also alle 3 Templates nebeneinander sein. Und die EN Sprachdateien liefere ich demnächst auch noch nach.
Könntest Du einen Link schicken? Meine Testseite funktioniert in Opera 11.61, FireFox 10.0.2, IE 8.0.6001, Chrome 17.0.963.79 m und Safari 5.1.2 unter Windows XP.
LG, Georg
Der Zähler war vor meinem Download bereits ungerade, ich hab beide Plugins und die ajax Erweiterung installiert.
Wenn ich in das Formularfeld was eintippe, erscheint im Chrome ein blaues x am rechten Rand, mit dem ich die Eingabe löschen kann. Dies funktioniert im Firefox nicht.
Im Moment kann ich noch nichts verschicken, aber ich werde nochmal ne Testseite bauen. Diese schick ich dir dann. Vielleicht gibts ja nen Plugin Konflikt oder dergleichen. :)
Danke - Danke - DANKE!
Es funktioniert bei mir 1a (in allen Browsern).
Vielen Dank!
2.10.4
Habe alles rausgeworfen, Update gemacht, die Zips & Ajax rübergehauen, erneutes Update gemacht - per Systemwartung alles bereinigt, Suchindex neu aufgebaut und es läuft!
Danke xtra,
Ich habe mir mal angesehen wie Contao 2.10.x das macht und das so übernommen:
Wichtig: die $$ Funktion (statt $). Funktioniert für mich, FireBug zeigt, dass in meinem Testformular das REQUEST_TOKEN aufgefrischt wird. Im Anhang das verbesserte "ac_core_cto.js". Auspacken und das JS nach system/modules/ac_core/html/ac_core_cto.js hochladen (also das vorhandene überschreiben).Code:...
// Update all forms
$$('input[type="hidden"]').each(function(el) {
if (el.name == 'REQUEST_TOKEN') {
el.value = response.token;
}
});
...
@rumpelsepp
Bei mir zeigt kein Browser ein Lösch-Symbol, auch Chrome nicht. Es gibt meines Wissens auch keine Stelle im JS, das so etwas machen würde. Kann das evtl. ein Feature von Chrome unter OS X bzw. Linux sein?
LG, Georg
Was ist mit der Positionierung der Ausklapp-Liste bei Dir? Ist die, so wie es sein sollte, direkt unterhalb des Suchfelds, oder mit Abstand, wie in meinem Screenshot? Ich denke nämlich, dass das mitgelieferte CSS an sich OK ist. Offenbar setzt aber das JS von digitarald die Position der <ul>, und das (bei mir) falsch ... irgendwie kann ich das nicht glauben und habe im Moment wohl ein Brett vor dem Kopf.
LG, Georg
PS zum Beispiel-CSS: einzig die Hintergrundfarbe des aktiven Eintrags in der Liste sollte statt Hell-Gelb eher dezent Hell-Grau sein:
Code:li.autocompleter-selected {
background-color: #EEE;
}
Welche Dateien muss ich jetzt genau installieren? Es sind ja jetzt einige im Umlauf hier im Thread.
Oder gibt es bereits die Erweiterung im ER und ich kann es über das Backend installieren?
Viele Grüsse und Danke
Hey Georg,
ich hatte die Positionierung in den Einstellungen geändert.
Ich hatte das Problem, dass im Aufpopmenü eine scrollbar hatte, weshalb ich den wert Breite von "inherit" auf 200px geändert hatte.
Anhang 7071
Sie Anhang :)
Hallo Rezico,
hallo Georg,
welche Dateien sollte ich denn nun verwenden? kann sie vll jemand nochmal in einem Thread zusammen fassen, damit ich die richtigen verwende?
Viele Grüsse und danke
Ganz einfach:
Du löschst zunächst einmal die bisherige Version, falls installiert und aktualisierst die DB.
Jetzt lädst du aus diesem Post:
https://www.contao-community.de/show...l=1#post190226
die 2 Anhänge.
und entpackst sie auf dem Desktop z. B.
jetzt lädst du den Anhang aus folgendem Post:
https://www.contao-community.de/show...l=1#post190482
und entpackst sie in das angegebene Verzeichnis und ersetzt die bestehende.
Jetzt nimmst du die zwei Ordner und lädst sie in dein system/modules Ordner hoch und aktualisiert die Datenbank.
Als letzten Schritt noch die Erweiterung Ajax aus dem ER herunterladen, das Modul erstellen und fertig.
Thats it :)
habe es so gemacht wie du geschrieben hast. jetzt kommt bei mir folgende fehlermeldung:
Welches ist die richtige Ajax erweiterung? kannst du mir dazu mal den link geben?Code:Fatal error: Uncaught exception Exception with message Could not find template file "mod_ac_search_index.xhtml" thrown in /www/htdocs/w00ef2fd/system/libraries/Controller.php on line 175
#0 /www/htdocs/w00ef2fd/system/libraries/Template.php(245): Controller->getTemplate('mod_ac_search_i...', 'xhtml')
#1 /www/htdocs/w00ef2fd/system/modules/frontend/FrontendTemplate.php(49): Template->parse()
#2 /www/htdocs/w00ef2fd/system/modules/frontend/Module.php(157): FrontendTemplate->parse()
#3 /www/htdocs/w00ef2fd/system/modules/ac_search_index/ModuleAcSearchIndex.php(69): Module->generate()
#4 /www/htdocs/w00ef2fd/system/libraries/Controller.php(359): ModuleAcSearchIndex->generate()
#5 /www/htdocs/w00ef2fd/system/libraries/Controller.php(1725): Controller->getFrontendModule('30')
#6 /www/htdocs/w00ef2fd/system/modules/frontend/FrontendTemplate.php(208): Controller->replaceInsertTags('output()
#8 /www/htdocs/w00ef2fd/index.php(266): PageRegular->generate(Object(DB_Mysql_Result))
#9 /www/htdocs/w00ef2fd/index.php(401): Index->run()
#10 {main}
:(
grüsse
Dann ändere das Template im Ordner ac_search_index\templates auf die Dateiendung .xhtml ab!
an dem lag es - super, danke :)
Unwahrscheinlich, da das Ding in Windows aufgetreten ist. :)
Ich habe jetzt leos neu erschienens Update ausprobiert. Gleiches Problem.
Ich habe dann wie angekündigt, mal eine Testseite im Xampp gebaut und den autoupdater ausprobiert. -> funktioniert.
Ich vermute wirklich, dass es ein Plugin Konflikt ist. Sollte ich näheres herausfinden poste ich es hier.
Meine installierten Plugins im Anhang.
Funktioniert alles, soweit ich das beurteilen kann.
Einzig die Position der erzeugten Liste ist unpraktikabel. Liegt als Child vom Body bei mir in der linken unteren Ecke. Schöner wäre das zumindest in der Nähe der Suchbox. Da das mit Inline Styles gelöst ist, wirds schwierig das sauber per externer css zu lösen.
Wo kann ich das fixen?
Moin melzebub,
Das JS von digitarald (das im Autocompleter verwendet wird) kennt eine Option "relative" (boolean, default false) das so dokumentiert ist
Setze das auf 'true' und Du erreichst Dein Ziel. Musst Du aber wohl rein patchen. Für mich funktioniert 'relative: true' jedenfalls prächtig.Zitat:
relative - (boolean) if true, the suggestions dropdown element is injected immediately after the input. This allows the parent of the input to move and have the suggestions dropdown move with it; defaults to false
LG, Georg
Hi Leo, alle,
das "relative: true" ist jedenfalls sinnvoll, wenn das Suchfeld in einem Bereich ist, der dynamisch/per JS verschoben werden kann. Etwa in bzw. unterhalb eines Akordeons, oder in einem Megamenü oder einem Popup ...
Da das "relative" auch bei normalen, unbewegten Suchfeldern funktioniert, erscheint mir das Setzen dieser Option per Default vernünftig (keine Backend Option). Damit ist man dann halt auf der sicheren Seite.
LG, Georg
moin leo,
wollte mir gerade die aktuellste version deiner extension aus dem repository saugen, leider sind keinerlei dateien enthalten. Klickt man bei aktuellen version auf dateien anzeigen sieht man das ganz gut, nämlich nichts :) Eventuell hat die Repository Verwaltung hier sich wieder einen scherz erlaubt ;)
vg joe
Hallo Leo,
das erklärt einiges. Ich wollte eigentlich nur mal deine simple_ajax Klasse im Einsatz sehen daher hab ich das scheinbar übersehen ;)
Alles klar. Ich schau, dass ich morgen oder übermorgen Zeit finde.
ich schließe mich hier mal an, erstmal danke für die spitzen Weiterentwicklung! :) Funktioniert auf Anhieb tadellos. Ich glaube trotzdem einen Bug gefunden zu haben: Bei einem Wort funktioniert alles, bei 2 Worten "Suchwort zwei" funktioniert es leider nicht mehr. "Suchwort" wird noch korrekt vorgeschlagen, tippe ich aber (nach einer leerstelle) das 2. Wort "zwei" ein, erfolgen nur noch Suchvorschläge für das wort "Zwei" aber nicht die Kombination "Suchwort zwei". :eek:
Ich hoffe ihr versteht was ich meine ;)
Viele Grüße,
jschma
Oh, keines. Daran liegt es wohl. Eine "normale" Leerstelle akzeptiert er nicht. Was muss in diesem Fall hinein? Ein funktioniert ebenfalls nicht.
Super Danke. Ich finde HTML naheliegender...
Hi,
Hex-Schreibweise würde ich auch nicht machen. " " ist zwar auch nicht treffend, aber "[nbsp]" wäre in soweit intuitiv verständlich, als es ja auch sonst immer wieder in Contao auftaucht und man's für ähnliche Zwecke auch verwendet/verwenden kann...
OK auch das passt :) Dann bin ich mal gespannt wann das gefixt ist. Kommt das dann direkt ins ER oder wird auf github ein fix gepostet?