FluxBB.de Community

FluxBB kann man nicht mit Worten beschreiben - man muss es selbst erlebt haben

Du bist nicht angemeldet.

Ankündigung

Herzlich Willkommen auf den Seiten des deutschsprachigen FluxBB Supportforums. Wenn du neu hier bist, lies bitte die Willkommensnachricht.

#1 18.09.2013 17:52:02

DavidSBB
Mitglied
Registriert: 21.07.2013
Beiträge: 9

Wie Weiterleitung statt Thema erstellen?

Hallo
im englischen Forum sieht man ganz gut was ich meine: "Link to: Bugs"
Jetzt meine Frage, wie kann ich so eine Weiterleitung anstatt eines Themas erstellen? Ich habe da keine Funktion gefunden.

//Edit: Ich weiss wie man das ganze anstatt eines Forums/einer Kategorie erstellt, aber ich hätte es gerne als ein Thema smile

Grüsse
DavidSBB

Beitrag geändert von DavidSBB (21.09.2013 13:38:46)

Offline

#2 26.09.2013 12:49:55

Franz
Administrator
Registriert: 03.08.2008
Beiträge: 250

Re: Wie Weiterleitung statt Thema erstellen?

Der Use-Case würde mich mal interessieren... smile

1. Ein Feld zur "topics"-Tabelle hinzufügen. Das heißt redirect_url und ist standardmäßig NULL.
2. In viewforum.php, finde folgenden Code:

	// Fetch list of topics to display on this page
	if ($pun_user['is_guest'] || $pun_config['o_show_dot'] == '0')
	{
		// Without "the dot"
		$sql = 'SELECT id, poster, subject, posted, last_post, last_post_id, last_poster, num_views, num_replies, closed, sticky, moved_to FROM '.$db->prefix.'topics WHERE id IN('.implode(',', $topic_ids).') ORDER BY sticky DESC, '.$sort_by.', id DESC';
	}
	else
	{
		// With "the dot"
		$sql = 'SELECT p.poster_id AS has_posted, t.id, t.subject, t.poster, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_views, t.num_replies, t.closed, t.sticky, t.moved_to FROM '.$db->prefix.'topics AS t LEFT JOIN '.$db->prefix.'posts AS p ON t.id=p.topic_id AND p.poster_id='.$pun_user['id'].' WHERE t.id IN('.implode(',', $topic_ids).') GROUP BY t.id'.($db_type == 'pgsql' ? ', t.subject, t.poster, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_views, t.num_replies, t.closed, t.sticky, t.moved_to, p.poster_id' : '').' ORDER BY t.sticky DESC, t.'.$sort_by.', t.id DESC';
	}

3. Und ersetze ihn hiermit:

	// Fetch list of topics to display on this page
	if ($pun_user['is_guest'] || $pun_config['o_show_dot'] == '0')
	{
		// Without "the dot"
		$sql = 'SELECT id, poster, subject, posted, last_post, last_post_id, last_poster, num_views, num_replies, closed, sticky, moved_to, redirect_url FROM '.$db->prefix.'topics WHERE id IN('.implode(',', $topic_ids).') ORDER BY sticky DESC, '.$sort_by.', id DESC';
	}
	else
	{
		// With "the dot"
		$sql = 'SELECT p.poster_id AS has_posted, t.id, t.subject, t.poster, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_views, t.num_replies, t.closed, t.sticky, t.moved_to, t.redirect_url FROM '.$db->prefix.'topics AS t LEFT JOIN '.$db->prefix.'posts AS p ON t.id=p.topic_id AND p.poster_id='.$pun_user['id'].' WHERE t.id IN('.implode(',', $topic_ids).') GROUP BY t.id'.($db_type == 'pgsql' ? ', t.subject, t.poster, t.posted, t.last_post, t.last_post_id, t.last_poster, t.num_views, t.num_replies, t.closed, t.sticky, t.moved_to, p.poster_id' : '').' ORDER BY t.sticky DESC, t.'.$sort_by.', t.id DESC';
	}

4. In viewforum.php, finde folgenden Code:

		if ($cur_topic['moved_to'] != 0)
		{
			$subject = '<a href="viewtopic.php?id='.$cur_topic['moved_to'].'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
			$status_text[] = '<span class="movedtext">'.$lang_forum['Moved'].'</span>';
			$item_status .= ' imoved';
		}
		else if ($cur_topic['closed'] == '0')
			$subject = '<a href="viewtopic.php?id='.$cur_topic['id'].'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
		else
		{
			$subject = '<a href="viewtopic.php?id='.$cur_topic['id'].'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
			$status_text[] = '<span class="closedtext">'.$lang_forum['Closed'].'</span>';
			$item_status .= ' iclosed';
		}

5. Und ersetze ihn hiermit:

		if ($cur_topic['moved_to'] != 0)
		{
			$subject = '<a href="viewtopic.php?id='.$cur_topic['moved_to'].'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
			$status_text[] = '<span class="movedtext">'.$lang_forum['Moved'].'</span>';
			$item_status .= ' imoved';
		}
		else if ($cur_topic['redirect_url'] != '')
		{
			$subject = '<a href="'.pun_htmlspecialchars($cur_topic['redirect_url']).'" alt="Link to '.pun_htmlspecialchars($cur_topic['redirect_url']).'">'.pun_htmlspecialchars($cur_topic['subject']).'</a>';
			$status_text[] = '<span class="redirtext">Link to:</span>';
			$item_status .= ' iredirect';
		}
		else if ($cur_topic['closed'] == '0')
			$subject = '<a href="viewtopic.php?id='.$cur_topic['id'].'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
		else
		{
			$subject = '<a href="viewtopic.php?id='.$cur_topic['id'].'">'.pun_htmlspecialchars($cur_topic['subject']).'</a> <span class="byuser">'.$lang_common['by'].' '.pun_htmlspecialchars($cur_topic['poster']).'</span>';
			$status_text[] = '<span class="closedtext">'.$lang_forum['Closed'].'</span>';
			$item_status .= ' iclosed';
		}

Um solche Themen anzulegen, musst du sie in der topics-Tabelle ganz normal anlegen, mit dem Link im redirect_url-Feld.

Offline

#3 26.09.2013 21:44:34

DavidSBB
Mitglied
Registriert: 21.07.2013
Beiträge: 9

Re: Wie Weiterleitung statt Thema erstellen?

Hi Franz
Perfekt, vielen Dank! Das einzige Problem ist dass das hardcoded ist auf "Link to", aber das ist kein Problem, kann ich ja noch in's lang-file übernehmen.

Brauchen tu ich's eigentlich nur für ein Thema, welches aus diversen Designgründen auf meiner Hauptseite sein muss und da ist es natürlich unschön, zwischen all den "normalen" Themen eines zu haben, wo nur ein Link drinsteht. Darum die Weiterleitung.

Hat aber so weit alles geklappt. Wirklich ober-mega-support hier!

Grüsse,
DavidSBB

PS: I ♥ FluxBB 'cause it's best!

Offline

#4 26.09.2013 22:42:51

Franz
Administrator
Registriert: 03.08.2008
Beiträge: 250

Re: Wie Weiterleitung statt Thema erstellen?

Freut mich, dass das so gut geklappt hat. smile

Offline

#5 28.09.2013 17:59:30

DavidSBB
Mitglied
Registriert: 21.07.2013
Beiträge: 9

Re: Wie Weiterleitung statt Thema erstellen?

Öh... Was soll ich sagen, auf einmal funktioniert's nicht mehr. Alles ist wie gestern, aber das Thema ist keine Weiterleitung mehr o.O
Edit: Wenn ich eingeloggt bin, egal ob als user oder admin, geht's... Sonst nicht.

Beitrag geändert von DavidSBB (28.09.2013 20:38:41)

Offline

#6 02.10.2013 12:57:09

Franz
Administrator
Registriert: 03.08.2008
Beiträge: 250

Re: Wie Weiterleitung statt Thema erstellen?

Hmm, na ja, von selbst passiert ja eigentlich nix. Kann da in der Zwischenzeit jemand anderes was gemacht oder versehentlich ein Backup eingespielt haben?

Offline

#7 02.10.2013 16:24:53

DavidSBB
Mitglied
Registriert: 21.07.2013
Beiträge: 9

Re: Wie Weiterleitung statt Thema erstellen?

Nö, hat niemand was gemacht. Es ist wie gesagt auch nur so, wenn man nicht eingeloggt ist... Komisch hmm

Offline

#8 08.10.2013 00:37:34

Franz
Administrator
Registriert: 03.08.2008
Beiträge: 250

Re: Wie Weiterleitung statt Thema erstellen?

Komisch, das sollte funktionieren, wenn du mich fragst. Bist du sicher, dass beide Abfragen verändert wurden (siehe Schritt 2 und 3)?

Offline

#9 09.10.2013 21:57:04

DavidSBB
Mitglied
Registriert: 21.07.2013
Beiträge: 9

Re: Wie Weiterleitung statt Thema erstellen?

Ganz sicher, ich habe beides ersetzt. Das hardgecodete "Link to" habe ich durch einen Eintrag in der forum.yml-lang-Datei ersetzt, aber das sollte ja nichts verändern. hmm

Offline

#10 05.11.2013 02:45:09

Franz
Administrator
Registriert: 03.08.2008
Beiträge: 250

Re: Wie Weiterleitung statt Thema erstellen?

Hups.

Sieht man den Link eigentlich als Gast, oder was genau ist das Verhalten, das so unerwartet ist?

Offline

#11 08.11.2013 20:27:51

DavidSBB
Mitglied
Registriert: 21.07.2013
Beiträge: 9

Re: Wie Weiterleitung statt Thema erstellen?

Man sieht als Gast das Thema, wie es ohne Weiterleitung sein würde. Ist dann auch anklickbar und eben der Beitrag sichtbar.

Offline

Fußzeile des Forums