Einzelnen Beitrag als wichtig markieren

Du suchst einen bestimmten Mod, weißt aber nicht genau wo bzw. ob er überhaupt existiert? Wenn dir dieser Artikel nicht weiterhilft, kannst du hier den von dir gewünschten/gesuchten Mod beschreiben ...
Falls ein Mod-Autor eine der Anfragen hier aufnimmt, um einen neuen Mod zu entwickeln, geht's in [3.0.x] Mods in Entwicklung weiter.
Forumsregeln
phpBB 3.0 hat das Ende seiner Lebenszeit überschritten
phpBB 3.0 wird nicht mehr aktiv unterstützt. Insbesondere werden - auch bei Sicherheitslücken - keine Patches mehr bereitgestellt. Der Einsatz von phpBB 3.0 erfolgt daher auf eigene Gefahr. Wir empfehlen einen Umstieg auf die neuste phpBB-Version, welches aktiv weiterentwickelt wird und für welches regelmäßig Updates zur Verfügung gestellt werden.
Benutzeravatar
Perlchamp
Gesperrt
Beiträge: 431
Registriert: 27.02.2012 17:15

Einzelnen Beitrag als wichtig markieren

Beitrag von Perlchamp »

Hallo an alle Modder,
ich vermisse in phpBB schmerzlich die Möglichkeit, jeden x-beliebigen Beitrag als wichtig markieren zu können, und nicht wie momentan "nur" das Thema (durch Setzen des ersten Beitrags auf "wichtig").

Nutzen/Zweck/Sinn :
  • Hervorheben eines bestimmten Beitrags, sei es z.B. weil er die Lösung eines Problems darstellt, oder mahnende Moderatorworte, speziellen Hinweis auf einen anderen Beitrag und und und (es gibt viele Gründe einen sehr guten Beitrag herauszuheben)
MOD :
  • im ACP: einer Gruppe das Recht verleihen können, x-beliebige Beiträge (also alle) als wichtig kennzeichnen zu dürfen.
  • dieser markierte Beitrag soll an Ort und Stelle bleiben, also nicht zum ersten bzw. zweiten Beitrag des Themas werden.
  • Ebenso soll ein Thema, das einen markierten Beitrag beinhaltet NICHT zusätzlich gekennzeichnet werden.
  • im ACP: Angabe zur Farbe/Hintergrundbild des markierten Beitrags
Wer hat Lust und Zeit, sich dafür "herzugeben".
Wäre toll, wenn's klappen würde.

Geändert 03.03.2012, 13:30:
man könnte ja später dann via ACP einen Link "Modul konfigurieren" (oder sö ähnlich) anbieten.
Konfigurationsmöglichkeiten:
  • id des Beitrags (0 = alle Beiträge)
  • Beitrag in Themenkopf verlinken
  • Coin-Vergabe / Anzahl
ich bräuchte das nicht ...

Im Voraus besten Dank
So long
Zuletzt geändert von Perlchamp am 03.03.2012 13:44, insgesamt 1-mal geändert.
*** wer lesen kann ist klar im Vorteil ***
Cruisin' Orange - die Krönung unter den Styles
Benutzeravatar
Miriam
Mitglied
Beiträge: 12310
Registriert: 13.10.2004 07:18
Kontaktdaten:

Re: Einzelnen Beitrag als wichtig markieren

Beitrag von Miriam »

Du möchtest also, dass ein Beitrag in einem Thema als wichtig markiert werden kann (durch Mitglieder einer ausgewählten Gruppe) und, dass dieser Beitrag dann durch z.B. eine neue Hintergrundfarbe markiert wird?

Wie soll denn ein "normaler" User einen Beitrag, der durch jemanden, der dazu berechtigt ist, gefunden werden? Durch zufälliges Scrollen durch das Thema?
Was, wenn dieser wichtige Beitrag auf Seite 5234 des Beitrages ist und dieser durch weitere Beiträge aber schon auf gefühlte 26534451294512945 ( <= ja, ich habe hier nur einfach in die Tasten gehauen :lol: ) Seiten angewachsen ist?

Wäre es nicht sinnvoller, diese Beiträge, sozusagen als Vorspann, in eben jenem Thema als Links einzublenden, ohne dass das Thema als solches seinen Platz in der Reihe der Beiträge verlässt? Der geneigte User kann dann diesen Link anklicken und findet den Beitrag. Das muss natürlich auf allen Seiten des Thema passieren, denn wenn jemand einem Link folgt, der ihn / ihr per e-mail zusandt wurde, weil er / sie das Thema verfolgt oder sonstwie eine Benachrichtigung erhält, startet er / sie nicht auf Seite #1 des Themas.
Gruss, Miriam.
Ich schmeiß' alles hin und...
... lasse es liegen
Benutzeravatar
Perlchamp
Gesperrt
Beiträge: 431
Registriert: 27.02.2012 17:15

Re: Einzelnen Beitrag als wichtig markieren

Beitrag von Perlchamp »

Hallo Miriam,
danke für deine schnelle Antwort.
Wie soll denn ein "normaler" User einen Beitrag, der durch jemanden, der dazu berechtigt ist, gefunden werden? Durch zufälliges Scrollen durch das Thema?
ja, genau! Der Beitrag soll/muss nicht expliziet gefunden werden und auch nicht als Lesezeichen gesetzt werden. Man soll ihn schlicht und einfach nur an seiner Hintergrundfarbe erkennen.

dies müsste doch relativ einfach zu machen sein ? Erweiterungen kann man immer machen.
so long
*** wer lesen kann ist klar im Vorteil ***
Cruisin' Orange - die Krönung unter den Styles
Benutzeravatar
Shorty1968
Mitglied
Beiträge: 1894
Registriert: 08.09.2011 17:37

Re: Einzelnen Beitrag als wichtig markieren

Beitrag von Shorty1968 »

Hallo ich finde das auch Intressant und wäre auch für sowas,wie im ersten Beitrag schon erwähnt Gründe einen beitrag Hervor zu heben gibt es wirklich genug.

Ich fände es aber besser wenn der Beitrag direkt im Forum von Admin oder MODS bearbeitet werden könnte ohne einen umweg ins ACP zu machen oder eventuell eine Kombie davon,den beitrag mit einer Hintergrund Farbe auswählbar und einen Hinweiss damit die User auch wissen und verstehen warum dieser Beitrag hervorgehoben wurde.
Benutzeravatar
Perlchamp
Gesperrt
Beiträge: 431
Registriert: 27.02.2012 17:15

Re: Einzelnen Beitrag als wichtig markieren

Beitrag von Perlchamp »

Hi Shorty,
da hast du mich wohl etwas missverstanden.
Natürlich sollten nur Mods und Admins über einen Button oder dergleichen einen Beitrag als außergewöhnlich/wichtig/wie auch immer markieren können, Punkt.
Wer ZUSÄTZLICHE Feartures haben möchte, sollte dies dann im ACP konfigurieren können - das meinte ich.

@Miriam:
zu deinem Vorschlag => dies kann sich auch wieder nachteilig auf das Userverhalten auswirken, da dann wahrscheinlich nur die als wichtig markierten Beitäge eines großen Themas durchgelesen werden (fänd' ich nicht gut!).

Hat denn jemand schon einen Lösungsansatz?

So long
*** wer lesen kann ist klar im Vorteil ***
Cruisin' Orange - die Krönung unter den Styles
Benutzeravatar
Metzle
Ehemaliges Teammitglied
Beiträge: 10435
Registriert: 08.03.2008 02:50
Wohnort: Waiblingen-Neustadt
Kontaktdaten:

Re: Einzelnen Beitrag als wichtig markieren

Beitrag von Metzle »

Hallo,

eventuell könnte man aus dieser Mod Background colors for groups etwas machen bzw diese etwas modifizieren oder anders nutzen.
Metzle
phpBB.de-Support-Team
Allround-phpBB.de
Benutzeravatar
Perlchamp
Gesperrt
Beiträge: 431
Registriert: 27.02.2012 17:15

Re: Einzelnen Beitrag als wichtig markieren

Beitrag von Perlchamp »

vielen Dank für den MOD. Ich werde es mir einmal anschauen, aber sehr viel Hoffnung habe ich nicht, dies alleine hinzubekommen, da ich noch nicht sehr vertraut mit phpBB.

so long
*** wer lesen kann ist klar im Vorteil ***
Cruisin' Orange - die Krönung unter den Styles
modernist
Ehemaliges Teammitglied
Beiträge: 2202
Registriert: 12.01.2009 10:44

Re: Einzelnen Beitrag als wichtig markieren

Beitrag von modernist »

Ich habe mal quick und recht dirty was zusammengebastelt, um einzelne Beiträge als wichtig zu markieren.
Die Markierung erfolgt dabei durch Änderung der Hintergrundfarbe, aber das kann man mit CSS-Kenntnissen einfach seinen Bedürfnissen anpassen.

In der Datenbanktabelle posts legt man mit phpMyAdmin ein neues Feld an:
Field: post_edit_mark
Type: TINYINT
Length/Values: 1
Default: As defined: 0
Attributes: UNSIGNED

In der includes/functions_posting.php suchen

Code: Alles auswählen

				'bbcode_bitfield'	=> $data['bbcode_bitfield'],
				'bbcode_uid'		=> $data['bbcode_uid'],
				'post_postcount'	=> ($auth->acl_get('f_postcount', $data['forum_id'])) ? 1 : 0,
				'post_edit_locked'	=> $data['post_edit_locked'],
Dahinter in einer neuen Zeile einfügen

Code: Alles auswählen

				'post_edit_mark'	=> $data['post_edit_mark'],	
Suchen

Code: Alles auswählen

				'post_attachment'	=> (!empty($data['attachment_data'])) ? 1 : 0,
				'bbcode_bitfield'	=> $data['bbcode_bitfield'],
				'bbcode_uid'		=> $data['bbcode_uid'],
				'post_edit_locked'	=> $data['post_edit_locked'])
Ersetze 'post_edit_locked' => $data['post_edit_locked']) mit

Code: Alles auswählen

				'post_edit_locked'	=> $data['post_edit_locked'],
				'post_edit_mark'	=> $data['post_edit_mark'])

Suche in der includes/functions_post_oo.php

Code: Alles auswählen

	var $post_edit_count = 0;
	var $post_edit_locked = 0;
Danach einfügen:

Code: Alles auswählen

	var $post_edit_mark = 0;
Suchen

Code: Alles auswählen

			'post_edit_reason'	=> $this->post_edit_reason,
			'post_edit_user'	=> $this->post_edit_user,
			'post_edit_count'	=> $this->post_edit_count,
			'post_edit_locked'	=> $this->post_edit_locked,
Danach einfügen

Code: Alles auswählen

			'post_edit_mark'	=> $this->post_edit_mark,
Öffne root/posting.php und suche

Code: Alles auswählen

else
{
	$post_data['quote_username'] = isset($post_data['username']) ? $post_data['username'] : '';
}

$post_data['post_edit_locked']	= (isset($post_data['post_edit_locked'])) ? (int) $post_data['post_edit_locked'] : 0;
Danach einfügen

Code: Alles auswählen

$post_data['post_edit_mark']	= (isset($post_data['post_edit_mark'])) ? (int) $post_data['post_edit_mark'] : 0;
Suche

Code: Alles auswählen

	$topic_lock			= (isset($_POST['lock_topic'])) ? true : false;
	$post_lock			= (isset($_POST['lock_post'])) ? true : false;
Danach einfügen

Code: Alles auswählen

	$post_mark			= (isset($_POST['mark_post'])) ? true : false;
Suche

Code: Alles auswählen

			// Lock/Unlock Post Edit
			if ($mode == 'edit' && $post_data['post_edit_locked'] == ITEM_LOCKED && !$post_lock && $auth->acl_get('m_edit', $forum_id))
			{
				$post_data['post_edit_locked'] = ITEM_UNLOCKED;
			}
			else if ($mode == 'edit' && $post_data['post_edit_locked'] == ITEM_UNLOCKED && $post_lock && $auth->acl_get('m_edit', $forum_id))
			{
				$post_data['post_edit_locked'] = ITEM_LOCKED;
			}
Danach einfügen (das ist jetzt recht unsauber, eigentlich sollte man statt ITEM_LOCKED/UNLOCKED einen weiteren Zustand definieren, aber das war mir gerade zu aufwendig :wink: )

Code: Alles auswählen

			// Mark/Unmark Post Edit
			if ($mode == 'edit' && $post_data['post_edit_mark'] == ITEM_LOCKED && !$post_mark && $auth->acl_get('m_edit', $forum_id))
			{
				$post_data['post_edit_mark'] = ITEM_UNLOCKED;
			}
			else if ($mode == 'edit' && $post_data['post_edit_mark'] == ITEM_UNLOCKED && $post_mark && $auth->acl_get('m_edit', $forum_id))
			{
				$post_data['post_edit_mark'] = ITEM_LOCKED;
			}		

Suche

Code: Alles auswählen

				'notify_set'			=> $post_data['notify_set'],
				'poster_ip'				=> (isset($post_data['poster_ip'])) ? $post_data['poster_ip'] : $user->ip,
				'post_edit_locked'		=> (int) $post_data['post_edit_locked'],
Danach einfügen

Code: Alles auswählen

				'post_edit_mark'		=> (int) $post_data['post_edit_mark'],
Suche

Code: Alles auswählen

$lock_topic_checked	= (isset($topic_lock) && $topic_lock) ? $topic_lock : (($post_data['topic_status'] == ITEM_LOCKED) ? 1 : 0);
$lock_post_checked	= (isset($post_lock)) ? $post_lock : $post_data['post_edit_locked'];
Danach einfügen

Code: Alles auswählen

$mark_post_checked	= (isset($post_mark)) ? $post_mark : $post_data['post_edit_mark'];
Suche

Code: Alles auswählen

	'S_LOCK_POST_CHECKED'		=> ($lock_post_checked) ? ' checked="checked"' : '',
Danach einfügen

Code: Alles auswählen

	'S_MARK_POST_CHECKED'		=> ($mark_post_checked) ? ' checked="checked"' : '',
Öffne root/viewtopic.php

Suche

Code: Alles auswählen

		'post_edit_reason'	=> $row['post_edit_reason'],
		'post_edit_user'	=> $row['post_edit_user'],
		'post_edit_locked'	=> $row['post_edit_locked'],
Danach einfügen

Code: Alles auswählen

		'post_edit_mark'	=> $row['post_edit_mark'],
Suche

Code: Alles auswählen

		'EDITED_MESSAGE'	=> $l_edited_by,
		'EDIT_REASON'		=> $row['post_edit_reason'],
		'BUMPED_MESSAGE'	=> $l_bumped_by,
Danach einfügen

Code: Alles auswählen

		'MARK_POST'			=> $row['post_edit_mark'],
Öffne /language/de/posting.php

Suche

Code: Alles auswählen

	'MAX_IMG_HEIGHT_EXCEEDED'	=> 'Ihre Bilder dürfen maximal %1$d Pixel hoch sein.',
	'MAX_IMG_WIDTH_EXCEEDED'	=> 'Ihre Bilder dürfen maximal %1$d Pixel breit sein.',
Danach einfügen

Code: Alles auswählen

	'MARK_POST'					=> 'Beitrag als wichtig markieren',
Öffne /styles/prosilver/template/posting_editor.html

Suche

Code: Alles auswählen

			<!-- IF S_LOCK_POST_ALLOWED -->
				<div><label for="lock_post"><input type="checkbox" name="lock_post" id="lock_post"{S_LOCK_POST_CHECKED} /> {L_LOCK_POST} [{L_LOCK_POST_EXPLAIN}]</label></div>
			<!-- ENDIF -->
Danach einfügen

Code: Alles auswählen

			<!-- IF S_LOCK_POST_ALLOWED -->
				<div><label for="mark_post"><input type="checkbox" name="mark_post" id="mark_post"{S_MARK_POST_CHECKED} /> {L_MARK_POST}</label></div>
			<!-- ENDIF -->
Ich habe hier kein neues Recht definiert. Wer Beiträge sperren kann, kann die auch als wichtig markieren.

Öffne /styles/prosilver/template/viewtopic_body.html

Suche

Code: Alles auswählen

<!-- IF postrow.S_ROW_COUNT is odd -->bg1<!-- ELSE -->bg2<!-- ENDIF -->
Danach einfügen

Code: Alles auswählen

<!-- IF postrow.MARK_POST eq 1 --> markpost<!-- ENDIF -->
Öffne /styles/prosilver/theme/colours.css

Am Ende einfügen

Code: Alles auswählen

.markpost {background-color: #ADE461;}
Dies kann wie gesagt nach persönlichen Vorlieben angepasst werden. Man kann die Abfrage postrow.MARK_POST auch an anderen Stellen anwenden, je nach Vorlieben.

Ich hoffe, ich habe jetzt keine meiner Änderungen im Testforum übersehen. Bitte mal ausprobieren und bei Fehlern melden.

Aussehen kann es dann so:
mark_post0.png
mark_post0.png (5.7 KiB) 5562 mal betrachtet
mark_post.png
Die Markierung als wichtig erfolgt hier nur, indem man den Beitrag aufruft und bearbeitet. Das Einbinden dieser Funktion ins MCP erschien mir unnötig. Das kann dann jemand übernehmen, der eine vollständige Modifikation daraus machen will, die weniger quick & dirty ist.
Zuletzt geändert von modernist am 06.03.2012 15:26, insgesamt 1-mal geändert.
Grund: Sprachvariable ergänzt
Benutzeravatar
Perlchamp
Gesperrt
Beiträge: 431
Registriert: 27.02.2012 17:15

Re: Einzelnen Beitrag als wichtig markieren

Beitrag von Perlchamp »

vielen Dank auch dir für die schnelle Antwort.
Auch dies werde ich mir zu Gemüte führen. Kann dauern, dass meine Antwort auf sich warten lässt, aber man muss ja ersteinmal durchsteigen ...

Was toll wäre, wenn es über Berechtigungen ginge, also:
ACP:
beliebigen Gruppen die Berechtigung verleihen können, Beiträge als "Ultrahot" kennzeichnen zu dürfen.
PHP-Template:
es erscheint zusätzlich ein Button/Checkbox im Beitragsbereich "Als wichtig markieren" , wenn User einer solchen Gruppe erkannt wird und nicht, wenn er zuerst auf "Beitrag ändern" klickt (zu umständlich).
DB:
Feld hinzufügen "ultrahot" (werte 0 oder 1, standard:0)
HTML-Template:
Hervorhebung z.B. durch Div-Container mit höherem z-index, den man über den Beitrag legt (da ich ein rein tabellenbasiertes Style habe [siehe entsprechendes Forum], könnte ich diesen auch gut platzieren. Der Div-Container könnte ja ein schwarzes Bild sein, das auf 90% Durchlässigkeit steht; somit wird, egal welcher style verwendet wird, die entsprechende Standard-HG-Farbe dunkler.
Features:
Wer jetzt noch zusätzliche Features braucht (ich brauch's nicht), der könnte im ACP dann ein Konfigmodul bereitstellen (ähnlich wie bei Captcha-Modul konfigurieren - kann stets erweitert werden) ...

Fertisch (wenn das so einfach wäre).
Ist der Ansatz insoweit ok ? (mit der Bitte um Feedback) - Danke.

Danke für eure Hilfe/Unterstützung/Tipps
so long
*** wer lesen kann ist klar im Vorteil ***
Cruisin' Orange - die Krönung unter den Styles
modernist
Ehemaliges Teammitglied
Beiträge: 2202
Registriert: 12.01.2009 10:44

Re: Einzelnen Beitrag als wichtig markieren

Beitrag von modernist »

Perlchamp hat geschrieben:Beiträge als "Ultrahot" kennzeichnen zu dürfen.
Willst du jetzt eine gestufte Wichtigkeit? Dann ergänz einfach noch ein post_edit_mark1 und den Rest entsprechend, so daß du zwei Felder zum Anklicken hast. Man könnte auch Radiobuttons mit mehreren Auswahlmöglichkeiten nutzen, aber das wäre eher was für eine vollständige MOD.
Perlchamp hat geschrieben:HTML-Template:Hervorhebung z.B. durch Div-Container mit höherem z-index, den man über den Beitrag legt (da ich ein rein tabellenbasiertes Style habe [siehe entsprechendes Forum], könnte ich diesen auch gut platzieren. Der Div-Container könnte ja ein schwarzes Bild sein, das auf 90% Durchlässigkeit steht; somit wird, egal welcher style verwendet wird, die entsprechende Standard-HG-Farbe dunkler.
Ich nutze kein tabellenbasiertes Design (Tabellen zu Layoutzwecken sind anno 2012 auch wirklich obsolet), aber auch bei Tabellen kannst du an entsprechender Stelle eine Klasse festlegen und markpost nutzen.
Perlchamp hat geschrieben:wenn er zuerst auf "Beitrag ändern" klickt (zu umständlich).
Das ist Ansichtssache. Ggf. möchte man den Beitrag auch gleichzeitig sperren, um ihn vor Veränderungen zu schützen, da er dann vielleicht nicht mehr "wichtig" wäre, weil der Inhalt ein anderer ist.
Antworten

Zurück zu „[3.0.x] Mod Suche/Anfragen“