[3.3] Anfrage Forensuche

Du suchst eine bestimmte Extension, weißt aber nicht genau wo bzw. ob sie überhaupt existiert? Du kannst hier die von dir gewünschte/gesuchte Extension beschreiben ...
Falls ein Extension-Autor eine der Anfragen hier aufnimmt, um eine neue Extension zu entwickeln, geht's in Extensions in Entwicklung weiter.
Antworten
battlebroetchen
Mitglied
Beiträge: 31
Registriert: 16.01.2024 23:34

[3.3] Anfrage Forensuche

Beitrag von battlebroetchen »

Wir stellen Taktikkarten für ein Online-Spiel zur Verfügung. www.dso-karten.de

Innerhalb dieser taktikkarten werden bestimmte Generäle benötigt, diese habe ich alle als kleines Bild bei den Smilies hinterlegt.
Eine Geistergenerälin hat somit zum Beispiel den Code: g_geist

Welche Generäle für welche Karten genommen werden, häängt dabei davon ab, wie der kartenersteller diese auswählt, es gibt also zu jeder Karte bei über 20 Generälen massig Auswahl.

Nun zu meiner Frage:

Ich möchte hier eine Suche nach General anbieten, wenn ich nun in die Suche eingebe g_geist, werden ir alle arten angezeigt, in denen g_geist vorkommt.
Frage 1: kann man das so separieren, dass NUR die Karten angeuzeigt werden, die g_geist enthalten?
Frage 2 schkliesst sich direkt an. bei Kombination von Generälen sollen natürlich auch nur die Karten angezeigt werden, in denen die ausgewählten Generäle vorkommen (ggf, weniger sofern ein Rest da ist, also wenn 3 gesucht werden, die Karte aber mit eioner Kombination aus 2 von diesen enthalten ist, wird diese auch angezeigt, quasi abwärtskomatinel ;-) )

Hat jemand eine Idee, oder bietet die Suche überhaupt diese komplexe Möglichkeit?

Liebe Grüße,

battle
battlebroetchen
Mitglied
Beiträge: 31
Registriert: 16.01.2024 23:34

Re: [3.3] Anfrage Forensuche

Beitrag von battlebroetchen »

vorsichtig push...


wirklich keiner, der sich mit der forensuche auskennt?
Verschoben von Support-Forum nach Extension Suche/Anfrage am 02.06.2024 16:23 durch Kirk

Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2597
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] Anfrage Forensuche

Beitrag von LukeWCS »

Kann man schon beantworten, aber dann könntest du auch mal Rückmeldungen geben und auf Rückfragen reagieren. Auf diesen beiden Gebieten bist du nämlich ziemlich geizig und sehr zurückhaltend, wenn ich mir deine bisherigen Beiträge ansehe und die offenen Rückfragen und Ansagen der Kollegen betrachte. Wenn nämlich nicht reagiert wird, kann es auch passieren, das Helfer irgendwann ebenfalls nicht mehr reagieren. Zur Kommunikation gehören immer mindestens zwei Parteien. Die Helfer hier sind keine persönlichen SuFu's, auch wenn manche das wohl gerne glauben wollen. ;)

Zuerstmal die Fragen:
battlebroetchen hat geschrieben: 21.05.2024 20:02 Frage 1: kann man das so separieren, dass NUR die Karten angeuzeigt werden, die g_geist enthalten?
Frage 2 schkliesst sich direkt an. bei Kombination von Generälen sollen natürlich auch nur die Karten angezeigt werden, in denen die ausgewählten Generäle vorkommen
Dann, das hier gehört nicht zu Frage 2, sondern ist eher Punkt 3:
(ggf, weniger sofern ein Rest da ist, also wenn 3 gesucht werden, die Karte aber mit eioner Kombination aus 2 von diesen enthalten ist, wird diese auch angezeigt, quasi abwärtskomatinel
Alle 3 gewünschten Such-Möglichkeiten können mit phpBB realisiert werden. Warum das bei dir nicht so funktioniert wie gedacht, hängt a) mit den SuFu-Limits zusammen und b) mit deiner Benennung der Smilies.

Wenn du die SuFu nutzt, zeigt dir phpBB immer, was tatsächlich für die Suche verwendet wird. Wenn ich z.B. nach "Einsamer General" und "Geistergenerälin" bei dir suchen würde, dann müsste ich das - nach deinen Vorgaben - so suchen:

"g_eg g_geist"

Und genau hier liegt das Problem. Erstens filtert phpBB alle Sonderzeichen raus, so bleibt nur noch dieser Suchtext übrig:

"g eg g geist"

Dann filtert phpBB noch jeden Text heraus, der weniger Zeichen als das eingestellte Minimum hat, also standardmässig 3 Zeichen. Übrig bleibt also:

"geist"

Dadurch wird a) effektiv nur nach "Geistergenerälin" gesucht und b) werden auch Beiträge gefunden, in denen einfach nur das einzelne Wort "geist" vorkommt.

Das heisst, um das zu erreichen was du willst, musst du erstmal zwei Dinge bei dir ändern:

1. Die Smilie-Codes dürfen keine Sonderzeichen mehr enthalten.
2. Die Smilie-Codes müssen aus mindestens 3 Zeichen bestehen.

Ich würde das Präfix "general" benutzen und dann den jeweiligen General Code anhängen. Beim "Einsamer General" wäre das dann "generaleg".

Wenn du das hast, machen wir weiter, denn dann kann man das auch direkt bei dir testen.
Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
battlebroetchen
Mitglied
Beiträge: 31
Registriert: 16.01.2024 23:34

Re: [3.3] Anfrage Forensuche

Beitrag von battlebroetchen »

das hörtz sich doch schon mal super an, vielen Dank für die Antwort schon mal.

nun ist es so, dass bereits mehrere 1000 beiträge mit diesen unglücklichen benennungen vorhanden sind und ich habe bereits versucht diese zu ändern mit dem Ergebnis, dass dann nur noch der alte Code übrig bleibt, aber kein smilie mehr angezeigt wird, also so:

alt: g_geist Bild wird umbenannt
neu: g_geist in gengeist umbenannt, kein Bild wird angezeiogt, es bleibt nur der alte code g_geist sichtbar.

Ich denke, das das dann überall neu gemacht werden müsste, also die neuen Codes von hand gegen die alten ausgetuiaxchtr werden müsste, oder kann man das anders realsisieren?
Benutzeravatar
chris1278
Mitglied
Beiträge: 3711
Registriert: 12.11.2007 06:20
Wohnort: Euskirchen
Kontaktdaten:

Re: [3.3] Anfrage Forensuche

Beitrag von chris1278 »

Ich denke das könntest du evtl. mal mit dem hier versuchen:

Code: Alles auswählen

UPDATE phpbb_posts
SET post_text = REPLACE(post_text, 'old text', 'new text')
WHERE post_text LIKE '%old text%'

Also wenn dein alter g_geist ist und der geue generalgeist ist dann so:

Code: Alles auswählen

UPDATE phpbb_posts
SET post_text = REPLACE(post_text, 'g_geist', 'generalgeist')
WHERE post_text LIKE '%g_geist%'
Das ganze wird per sql i n der Datenbank ausgeführt. Vorher aber in jedemfall ein Backup machen von der Datenbank.
battlebroetchen
Mitglied
Beiträge: 31
Registriert: 16.01.2024 23:34

Re: [3.3] Anfrage Forensuche

Beitrag von battlebroetchen »

klasse, da scheint ja eine Lösung in sicht die klappen könnte.

ich gehe diese woche mal ran und lege ein paar testsmilies an mit anderer bezeichnung und teste mal, dann gebe ich Rückmeldung.

Danke für die Anregungen
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2597
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] Anfrage Forensuche

Beitrag von LukeWCS »

battlebroetchen hat geschrieben: 02.06.2024 17:23 nun ist es so, dass bereits mehrere 1000 beiträge mit diesen unglücklichen benennungen vorhanden sind
Okay, wenn das natürlich derart viele Beiträge sind, wird das auf eine MySQL Aktion hinauslaufen. Da musst du aber aber auf jemand warten, der sich damit gut genug auskennt, das ist weniger mein Gebiet.

edit: Chris war schneller
und ich habe bereits versucht diese zu ändern mit dem Ergebnis, dass dann nur noch der alte Code übrig bleibt, aber kein smilie mehr angezeigt wird, also so:
Ja, weil in dem Fall auch die Beiträge neu geparst werden müssen. Wenn man Smilies oder BBcodes umbenennt, dann muss phpBB diese Beiträge neu "interpretieren" und das geschieht durch Reparse. Diese Funktion kann entweder mit dem STK, oder auf Shell Ebene ausgeführt werden. Vom STK halte ich bei dieser Funktion aber nicht viel, weil ich schon mal bei einem Forum mit gerade mal 12K Beiträgen ein Reparse mit dem STK versucht habe und das hat auf ganzer Linie versagt, weil diese Anzahl Beiträge schon zuviel war. Erfolgreich war ich dort nur in der Shell, was es bei dem besagten Forum glücklicherweise gab.

Du könntest hergehen, und erstmal die alten Smilies lassen wie sie sind und die neuen (umbenannten) parallel dazu anlegen und bei "Beim Verfassen eines Beitrags anzeigen" den Haken rausnehmen. Auf diese Weise bleibt bei euch erstmal alles beim alten und artet während dem "Umbau" nicht in Chaos aus. Wenn du das hast, solltest du mal nur bei ein paar Beiträgen exemplarisch die Smilie Codes manuell korrigieren, denn bei einem Beitrags-Edit wird auch immer automatisch ein Reparse für diesen Beitrag ausgeführt. Hängt natürlich auch davon ab: von wievielen Smilies ist hier die Rede?
Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2597
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: [3.3] Anfrage Forensuche

Beitrag von LukeWCS »

Nachtrag: Ich muss eine Falschaussage meinerseits korrigieren:
LukeWCS hat geschrieben: 02.06.2024 18:19 Ja, weil in dem Fall auch die Beiträge neu geparst werden müssen. Wenn man Smilies oder BBcodes umbenennt, dann muss phpBB diese Beiträge neu "interpretieren" und das geschieht durch Reparse. Diese Funktion kann entweder mit dem STK, oder auf Shell Ebene ausgeführt werden. Vom STK halte ich bei dieser Funktion aber nicht viel, weil ich schon mal bei einem Forum mit gerade mal 12K Beiträgen ein Reparse mit dem STK versucht habe und das hat auf ganzer Linie versagt, weil diese Anzahl Beiträge schon zuviel war. Erfolgreich war ich dort nur in der Shell, was es bei dem besagten Forum glücklicherweise gab.
Diesen Absatz kannst du komplett ignorieren, da er in deinem Fall gar nicht zutrifft. Gemerkt habe ich das heute Nacht, als ich das bei mir im kleinen Rahmen im Dev Board getestet habe. Ich war aber zu müde um das noch zu kommentieren. Ein Reparse ist nur dann nötig, wenn bei einem Beitrag ein BBcode oder Smilie neu hinzugefügt wird, damit der Beitrag im korrekten Format in die DB geschrieben wird. Die Beiträge sind bei dir aber schon alle im korrekten Format vorhanden, da die entsprechenden Smilie Codes ja bereits in den Beiträgen enthalten sind und lediglich umbenannt werden müssen.

Das heisst es müssen nur die Smilies im ACP umbenannt und dann die Namen der Smilies per SQL in den Posts geändert werden. Das wars dann auch schon, mehr ist nicht nötig.

Beim SQL Code würde ich das noch etwas verfeinern, um sicherzustellen, dass wirklich nur die Smilie-Namen geändert werden und nicht aus versehen noch Texte, bei denen vielleicht die Smilie Codes zufällig auch vorkommen. Insbesondere, da du auf Doppelpunkte verzichtet hast.

Code: Alles auswählen

UPDATE phpbb_posts
SET post_text = REPLACE(post_text, '<E>alter_name</E>', '<E>:neuer_name:</E>')
WHERE post_text LIKE '%<E>alter_name</E>%'
Mit genau diesem Code habe ich bei mir erfolgreich ein Test Smilie umbenannt. Wie hier zu sehen ist, habe ich den neuen Namen auch in 2 : gefasst, das ist aus phpBB Sicht deutlich besser, da es dann eine klare Abtrennung zum normalen Text gibt und somit Smilies flexibler eingesetzt werden können. Du hast, wenn ich das bei dir richtig sehe, nämlich ohne Doppelpunkte gearbeitet und das ist nicht so ideal bei Smilies. Der SQL Code muss dann halt für jedes General-Smilie angepasst und ausgeführt werden. Aber diese ganze Aktion macht man ja nur einmal.

Vor der Aktion ein DB Backup durchführen, wie Chris schon schrieb.
Möge das Backup mit dir sein. Immer.
Kein Support via PN! Siehe den Punkt "Private Nachrichten" im phpBB.de-Knigge.
Erweiterungen - Infos zur artgerechten Haltung / phpBB Ext Check - Analyse von Erweiterungen bezüglich Vorgaben und Kompatibilität
Antworten

Zurück zu „Extension Suche/Anfrage“