Topic Prefix erzwingen

Du hast Probleme beim Installieren oder bei der Benutzung einer Extension? In diesem Forum bist du richtig.
Forumsregeln
Bei Fragen zu einer bestimmten Extension sind Extension-Name und die Downloadquelle der Extension erforderlich. Letztere in Form der URL zum Download.
Benutzeravatar
SeewolfPK
Mitglied
Beiträge: 409
Registriert: 11.05.2010 21:45
Kontaktdaten:

Topic Prefix erzwingen

Beitrag von SeewolfPK »

Wie kann ich einstellen, das User den Topic Prefix (wird ja auch teilweise hier im Forum genutzt) nutzen müssen, bevor das Posting abgesendet werden kann?

Edit: Es geht um diese EXT: https://www.phpbb.com/customise/db/exte ... icprefixes
Zuletzt geändert von SeewolfPK am 19.06.2023 09:40, insgesamt 2-mal geändert.
Gruß Paul (Freunde nennen mich auch Paulchen Panther) https://www.reisemobiltreff.de https://www.seewolfpk.de
Benutzeravatar
Mike-on-Tour
Supporter
Supporter
Beiträge: 1076
Registriert: 13.01.2020 21:09
Kontaktdaten:

Re: Topic Prefix erzwingen

Beitrag von Mike-on-Tour »

Mit den vorhandenen Bordmitteln, soweit ich das sehe, gar nicht. Selbst wenn eine Auswahl von Prefixes angeboten wird, kann man niemanden zwingen, weil auch diese editiert werden können.
Das wäre wohl Sache einer Erweiterung, aber so auf die Schnelle gedacht, würde das auch nur funktionieren, wenn man einem bestimmten Forum ein bestimmtes, nicht editierbares Prefix zuweist. Mir jedenfalls ist so eine Erweiterung jedenfalls nicht bekannt.
Benutzeravatar
SeewolfPK
Mitglied
Beiträge: 409
Registriert: 11.05.2010 21:45
Kontaktdaten:

Re: Topic Prefix erzwingen

Beitrag von SeewolfPK »

Danke, Mike, für eine schnelle Stellungnahme.
Das Editieren ist ein Thema für sich. Wenn im jeweiligen Erstbeitrag der Prefixzwang möglich wäre, würde das helfen.
Es geht dabei um Versionsnummern, die bei Problemfällen auf jeden Fall mittels Prefix ausgewählt werden sollen.
Gruß Paul (Freunde nennen mich auch Paulchen Panther) https://www.reisemobiltreff.de https://www.seewolfpk.de
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2132
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Topic Prefix erzwingen

Beitrag von LukeWCS »

Servus Paul

Zu Mod-Zeiten gabs da irgendwie mehr Auswahl als heute, aber ich habe eben mal nach einer Ext gesucht und eine getestet, da mich das Thema auch schon mehrmals beschäftigt hat:

https://www.phpbb.com/customise/db/exte ... icprefixes

Diese Ext ist relativ einfach gehalten und bietet keine direkte Möglichkeit das Präfix zu erzwingen. Wie ich aber im Source (Template) gesehen habe, wurde das HTML geschickterweise schon so gestaltet, dass man nur eine winzige Änderung im Template vornehmen müsste, um das zu erreichen was du willst. Wenn das für dich in Frage käme, gib Bescheid.

Das gilt dann aber generell. Das heisst du kannst nur global entscheiden ob es erzwungen werden soll oder nicht. Wenn das pro Forum entschieden werden soll, dann müsste da noch einiges mehr gemacht werden.

Des Weiteren nutze ich die Fomularprüfung des Browsers, dass heisst das wird Client-seitig erledigt, phpBB hätte damit nüscht zu tun. Benutzer mit zumindest rudimentären Dev Tool Kenntnissen, könnten das also problemlos umgehen. Da du aber geschrieben hast:
SeewolfPK hat geschrieben: 18.06.2023 15:26 Es geht dabei um Versionsnummern, die bei Problemfällen auf jeden Fall mittels Prefix ausgewählt werden sollen.
rechne ich eher nicht damit, dass da bei euch "Unfug" getrieben wird. :wink: Ansonsten müsste man das dann Server-seitig realisieren, was aber ebenfalls deutlich mehr Aufwand wäre, da man dann auch eine Feedback-Funktion für den Benutzer einbauen müsste, damit er weiss was er falsch gemacht hat.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
SeewolfPK
Mitglied
Beiträge: 409
Registriert: 11.05.2010 21:45
Kontaktdaten:

Re: Topic Prefix erzwingen

Beitrag von SeewolfPK »

DANKE, LukeWCS,
das wäre etwas sehr Fantastisches, was du anbietest, wenn dadurch der Prefix erzwungen werden kann, denn genau diese EXT nutze ich.

Die Prefix EXT gibt ja vor, in welchen Foren der Prefix erlaubt ist.
Wäre die Änderung, die du anbietest, trotzdem auch für die anderen Foren, die keinen Prefix können, eine Zwangsmaßnahme?

Damit könnte ich aber trotzdem leben. Ist ja immer gut zu wissen mit welcher Version (einer Software) der User arbeitet. :D
Gruß Paul (Freunde nennen mich auch Paulchen Panther) https://www.reisemobiltreff.de https://www.seewolfpk.de
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2132
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Topic Prefix erzwingen

Beitrag von LukeWCS »

SeewolfPK hat geschrieben: 18.06.2023 20:04 DANKE, LukeWCS,
das wäre etwas sehr Fantastisches, was du anbietest, wenn dadurch der Prefix erzwungen werden kann, denn genau diese EXT nutze ich.
Ah okay, in dem Fall wäre es sinnvoll gewesen, direkt im Startbeitrag zu erwähnen, das es dir um genau diese Ext geht. Das steht ja auch oben in den roten Forenregeln, dass das immer anzugeben ist. Ich bin bis jetzt davon ausgegangen, das deine Frage allgemein gemünzt war und wollte das Thema schon fast nach "Extension Suche/Anfrage" verschieben.

Okay prima, dann sind wir beide ja schon im selben Boot, sprich, wir haben dieselbe Ext im Visier.
Die Prefix EXT gibt ja vor, in welchen Foren der Prefix erlaubt ist.
Wäre die Änderung, die du anbietest, trotzdem auch für die anderen Foren, die keinen Prefix können, eine Zwangsmaßnahme?
Nein. In Foren, für die du keine Präfixe definiert hast, würde meine Modifikation gar nicht greifen. Sie würde aber eben überall dort greifen, wo du Präfixe definiert hast. Das ist also eine globale Ja/Nein Entscheidung.

Von deinen Antworten wollte ich es jetzt abhängig machen, wieviel und welchen Code ich dir gebe. Ich kann das durchaus auch in einer "Comfort" Edition lösen, bei der du dann direkt im Template definieren könntest, in welchen Foren ein Präfix erzwungen werden soll, dann hättest maximale Flexibilität. Und da muss ich was relativieren:
LukeWCS hat geschrieben: 18.06.2023 16:08 Wenn das pro Forum entschieden werden soll, dann müsste da noch einiges mehr gemacht werden.
Das war darauf bezogen, wenn man das Ganze direkt in die Ext einbaut, also mit PHP, so das es im ACP einstellbar wäre. Das meinte ich mit viel Aufwand. Wenn dir aber meine Quick&Dirty Lösung direkt im Template reicht, dann sind das vermutlich nur 1-2 Zeilen mehr die ins Template müssten, dann könntest selber festlegen, wo Präfixe erzwungen werden und wo nicht.

Aber dabei gilt dann trotzdem das was Mike schon schrieb: das würde nicht verhindern, dass ein Präfix geändert werden kann, nachdem es aus der Liste ausgewählt wurde. Das wäre auch rein mit Template nicht machbar, da müsste auf jeden Fall das PHP der Ext erweitert werden, weil man nur mit einer strikten Trennung von Präfix und Titel erreichen könnte, dass das Präfix nicht "unerlaubt" editiert werden kann. Wenn das aber gar kein Problem für dich ist, dann würde meine Quick&Dirty Lösung für dich passen.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
SeewolfPK
Mitglied
Beiträge: 409
Registriert: 11.05.2010 21:45
Kontaktdaten:

Re: Topic Prefix erzwingen

Beitrag von SeewolfPK »

LukeWCS hat geschrieben: 18.06.2023 20:29
Ah okay, in dem Fall wäre es sinnvoll gewesen, direkt im Startbeitrag zu erwähnen, das es dir um genau diese Ext geht. Das steht ja auch oben in den roten Forenregeln, dass das immer anzugeben ist. Ich bin bis jetzt davon ausgegangen, das deine Frage allgemein gemünzt war und wollte das Thema schon fast nach "Extension Suche/Anfrage" verschieben.
Entschuldigung, da ich im Startbeitrag erwähnte, das die EXT ja auch hier verwendet wird, war mir nicht klar, das trotzdem noch der Link erforderlich ist. M.E. gibt es nur diese eine EXT für den Zweck. Habe meinen Erstbeitrag jetzt editiert.
LukeWCS hat geschrieben: 18.06.2023 20:29
Nein. In Foren, für die du keine Präfixe definiert hast, würde meine Modifikation gar nicht greifen. Sie würde aber eben überall dort greifen, wo du Präfixe definiert hast. Das ist also eine globale Ja/Nein Entscheidung.

Wenn dir aber meine Quick&Dirty Lösung direkt im Template reicht, dann sind das vermutlich nur 1-2 Zeilen mehr die ins Template müssten, dann könntest selber festlegen, wo Präfixe erzwungen werden und wo nicht.

Aber dabei gilt dann trotzdem das was Mike schon schrieb: das würde nicht verhindern, dass ein Präfix geändert werden kann, nachdem es aus der Liste ausgewählt wurde. Das wäre auch rein mit Template nicht machbar, da müsste auf jeden Fall das PHP der Ext erweitert werden, weil man nur mit einer strikten Trennung von Präfix und Titel erreichen könnte, dass das Präfix nicht "unerlaubt" editiert werden kann. Wenn das aber gar kein Problem für dich ist, dann würde meine Quick&Dirty Lösung für dich passen.
Die Quick&Dirty Lösung würde völlig ausreichen.
Mit der Editiermöglichkeit und dem Entfernen kann ich leben. Die User wollen ja in dem neu zu schaffendem Forum Hilfe für eine bestimmte Software haben. Also ist das Interesse, die Vorgabe der Versionsnummer richtig und dauerhaft einzugeben, wohl vorauszusetzen.
Außerdem kann ich ja die Editierzeit begrenzen :D

Ich freue mich auf deine Q&D Lösung.
Gruß Paul (Freunde nennen mich auch Paulchen Panther) https://www.reisemobiltreff.de https://www.seewolfpk.de
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2132
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Topic Prefix erzwingen

Beitrag von LukeWCS »

SeewolfPK hat geschrieben: 19.06.2023 09:48 Entschuldigung, da ich im Startbeitrag erwähnte, das die EXT ja auch hier verwendet wird, war mir nicht klar, das trotzdem noch der Link erforderlich ist. M.E. gibt es nur diese eine EXT für den Zweck. Habe meinen Erstbeitrag jetzt editiert.
Alles gut Paul. Wenn wir öffentlich verfügbare Exts im Einsatz haben, dann ist es nicht ungewöhnlich, wenn wir modifizierte Varianten davon verwenden. Bei der KB Ext z.B. nutzen wir nicht das Original, sondern einen Fork bei dem mehrere Team Mitglieder (Crizzo, Dr.Death, Mike-on-Tour und ich) Änderungen und Fixes eingebaut haben. Alleine schon mal deswegen, scheidet das Kriterium "hat phpBB.de auch im Einsatz" aus. Des Weiteren antworten hier ja nicht nur Team Mitglieder bei Support Anfragen, sondern auch Benutzer und die können nicht immer wissen, ob wir diese und jene Ext im Einsatz haben und in welcher Form. Zudem haben bei uns im Team ja auch nur Admins Zugriff auf die Exts und das sind bei uns in erster Linie Crizzo und Mungo. Ergo weiss ein Supporter (oder andere Team Gruppen) nicht automatisch, welche Ext gemeint ist.

Das ist in meinem Fall auch schon etliche Jahre her, als ich mich mit dem Thema zuletzt befasst habe und ich habe mindestens 3 Exts in Erinnerung. Eine weitere wäre z.B. die hier:

https://www.phpbb.com/community/viewtopic.php?t=2209726

Da gabs aber mindestens noch eine weitere. Wie du jetzt an meiner Reaktion bemerkt hast, können Missverständnisse entstehen, wenn die Ext, um die es geht, nicht klar benannt wird. Es hat seinen Grund, warum es diese Regel gibt: um von vorneherein unnötige Klärungs-Gespräche (wie dieses hier) sowie unnötige Sucherei nach der besagten Ext zu vermeiden, damit man sich direkt mit der Lösung eines Problems beschäftigen kann und vor allem auch alle Beteiligten von exakt der gleichen Ext sprechen.
Die Quick&Dirty Lösung würde völlig ausreichen.
Mit der Editiermöglichkeit und dem Entfernen kann ich leben. Die User wollen ja in dem neu zu schaffendem Forum Hilfe für eine bestimmte Software haben. Also ist das Interesse, die Vorgabe der Versionsnummer richtig und dauerhaft einzugeben, wohl vorauszusetzen.
Alles klar, dann sind alle Details geklärt und wir können loslegen. Zuerst meine anfänglich erwähnte winzige Änderung:

Editiere: ext\phpbb\topicprefixes\styles\all\template\event\posting_editor_subject_before.html

Suche:

Code: Alles auswählen

<select name="topic_prefix" id="topic_prefix">
Ersetze mit:

Code: Alles auswählen

<select name="topic_prefix" id="topic_prefix" required>
Mit dieser winzigen Änderung aktivieren wir beim Browser dessen Formularprüfung für dieses eine Steuerelement. Das heisst der Browser weigert sich, das Formular an phpBB zu senden, solange nicht die Bedingungen erfüllt sind. In dem Fall also, solange der Benutzer kein Element aus der Liste ausgewählt hat. Diese winzige Änderung war wie erwähnt möglich, weil das HTML schon direkt so gestaltet wurde, dass es die nötigen Voraussetzungen dafür erfüllt.

Jetzt durch deine letzte Antwort war dann auch klar, dass das Ganze überhaupt in der Form bei dir Verwendung finden kann. Darum gebe ich dir natürlich auch gleich meine erwähnte "Komfort-Variante" mit:

Code: Alles auswählen

{% if PREFIXES and S_NEW_MESSAGE and not S_PRIVMSGS %}
	{% set prefix_forum_ids = [1, 2, 4] %}
	{% INCLUDEJS '@phpbb_topicprefixes/js/topic_prefixes.js' %}
	<dl style="clear: left;">
		<dt><label for="topic_prefix">{{ lang('TOPIC_PREFIX') ~ lang('COLON') }}</label></dt>
		<dd>
			<select name="topic_prefix" id="topic_prefix"{{ S_FORUM_ID in prefix_forum_ids ? ' required' }}>
				<option value="">-----</option>
				{% for prefix in PREFIXES %}
					<option value="{{ prefix.prefix_id }}"{% if SELECTED_PREFIX == prefix.prefix_tag %} selected{% endif %}>{{ prefix.prefix_tag }}</option>
				{% endfor %}
			</select>
		</dd>
	</dl>
{% endif %}
Damit du weisst, wo genau ich etwas geändert habe: In Zeile 2 ist eine neue Zeile, in der kannst du festlegen, für welche Foren (IDs) das gelten soll. In Zeile 7 ist eine geänderte Zeile, mit der wir die Formularprüfung beim Browser erzwingen, aber in Abhängigkeit der Positiv-Liste.

Wenn du bei der Positiv-Liste lieber eine vertikale Listen-Notierung hättest, auch kein Problem, dann kannst du das alternativ so machen:

Code: Alles auswählen

{% if PREFIXES and S_NEW_MESSAGE and not S_PRIVMSGS %}
	{%
		set prefix_forum_ids = [
			1,
			2,
			4,
		]
	%}
	{% INCLUDEJS '@phpbb_topicprefixes/js/topic_prefixes.js' %}
	<dl style="clear: left;">
		<dt><label for="topic_prefix">{{ lang('TOPIC_PREFIX') ~ lang('COLON') }}</label></dt>
		<dd>
			<select name="topic_prefix" id="topic_prefix"{{ S_FORUM_ID in prefix_forum_ids ? ' required' }}>
				<option value="">-----</option>
				{% for prefix in PREFIXES %}
					<option value="{{ prefix.prefix_id }}"{% if SELECTED_PREFIX == prefix.prefix_tag %} selected{% endif %}>{{ prefix.prefix_tag }}</option>
				{% endfor %}
			</select>
		</dd>
	</dl>
{% endif %}
Da wäre die Liste übersichtlicher und einfacher wartbar. Wenn du nur ein paar Foren hast, wo das greifen soll, dann reicht auch der Einzeiler der Liste, wie im ersten Code gezeigt. Übrigens habe ich den Code bewusst neutral gestaltet und die Liste ist als Positiv-Liste definiert. Das heisst, das Präfix wird nur bei Foren erzwungen, die explizit in der Liste aufgeführt sind. Wenn du lieber eine Negativ-Liste hättest, auch kein Problem. Dann müsstest du in Zeile 7 statt S_FORUM_ID in prefix_forum_ids das hier notieren: S_FORUM_ID not in prefix_forum_ids. Dann würde der Präfix-Zwang immer bei allen Foren gelten, die NICHT explizit in der Liste aufgeführt sind.

Die Foren-IDs musst du natürlich durch deine eigenen ersetzen. Das Beispiel stammt von meinem lokalen TB. Teste das mal und gib Bescheid, ob das so reicht.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Benutzeravatar
SeewolfPK
Mitglied
Beiträge: 409
Registriert: 11.05.2010 21:45
Kontaktdaten:

Re: Topic Prefix erzwingen

Beitrag von SeewolfPK »

Vielen Dank.
Ich werde zunächst die einfache Variante einbauen und testen.

Mal abwarten, ob ich die Komfort-Version benötige.

Edit: Funktioniert in einfacher Version hervorragend.
Gruß Paul (Freunde nennen mich auch Paulchen Panther) https://www.reisemobiltreff.de https://www.seewolfpk.de
Benutzeravatar
LukeWCS
Supporter
Supporter
Beiträge: 2132
Registriert: 15.12.2014 10:19
Kontaktdaten:

Re: Topic Prefix erzwingen

Beitrag von LukeWCS »

SeewolfPK hat geschrieben: 19.06.2023 13:23 Edit: Funktioniert in einfacher Version hervorragend.
Alles klar.
Möge das Backup mit dir sein. Immer.

Erweiterungen - Infos zur artgerechten Haltung
phpBB Ext Check - Analysesystem für phpBB Erweiterungen (Entwickler Werkzeug)
Antworten

Zurück zu „Extension Support“