Forenübersicht anpassen - aber wie genau?

In diesem Forum kann man Fragen zur Programmierung stellen, die bei der Entwicklung von Mods für phpBB 3.0.x oder dem Modifizieren des eigenen Forums auftauchen.
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.
Antworten
Saij
Mitglied
Beiträge: 2
Registriert: 18.08.2009 11:58

Forenübersicht anpassen - aber wie genau?

Beitrag von Saij »

Hallo,

ich habe vor bei meinem Forum die Forenübersicht etwas anzupassen.
Genauer gesagt will ich den Subforen einer bestimmten Kategorie eine weitere CSS Klasse mitgeben.
Das tut auch schon soweit alles. Allerdings musste ich dafür einiges in der forum_display Funktion anpassen. Unteranderen sind in das forumrow Array weitere Dinge mit reingelaufen (Parent_ID, gefilterte Forenname (wegen Umlauten) und ob das Forum gelesen wurde oder nicht (den True/False Wert)). Allerdings gefällt mir die Idee direkt an den internen phpBB Funktionen rumzuschrauben nicht wirklich.

Gibt es da andere Tricks und Kniffe wie ich das trotzdem hinbekomme?

Hier mal die beiden Codestellen die ich angepasst habe:

forumlist_body.html

Code: Alles auswählen

        <!-- IF forumrow.PARENT_ID == 13 -->
            <!-- IF forumrow.IG_UNREAD -->
                <li class="row klasse_{forumrow.IG_CLASS_NAME}_unread">
            <!-- ELSE -->
                <li class="row klasse_{forumrow.IG_CLASS_NAME}">
            <!-- ENDIF -->
        <!-- ELSE -->
		    <li class="row">
        <!-- ENDIF -->
functions_display.php / Funktion display_forums (ab Zeile 423)

Code: Alles auswählen

		$template->assign_block_vars('forumrow', array(
			'S_IS_CAT'			=> false,
			'S_NO_CAT'			=> $catless && !$last_catless,
			'S_IS_LINK'			=> ($row['forum_type'] == FORUM_LINK) ? true : false,
			'S_UNREAD_FORUM'	=> $forum_unread,
			'S_LOCKED_FORUM'	=> ($row['forum_status'] == ITEM_LOCKED) ? true : false,
			'S_LIST_SUBFORUMS'	=> ($row['display_subforum_list']) ? true : false,
			'S_SUBFORUMS'		=> (sizeof($subforums_list)) ? true : false,

			'FORUM_ID'				=> $row['forum_id'],
                        'PARENT_ID'             => $row['parent_id'],             # !!!!!!!!!!!!!
			'FORUM_NAME'			=> $row['forum_name'],
			'FORUM_DESC'			=> generate_text_for_display($row['forum_desc'], $row['forum_desc_uid'], $row['forum_desc_bitfield'], $row['forum_desc_options']),
			'TOPICS'				=> $row['forum_topics'],
			$l_post_click_count		=> $post_click_count,
			'FORUM_FOLDER_IMG'		=> $user->img($folder_image, $folder_alt),
			'FORUM_FOLDER_IMG_SRC'	=> $user->img($folder_image, $folder_alt, false, '', 'src'),
			'FORUM_FOLDER_IMG_ALT'	=> isset($user->lang[$folder_alt]) ? $user->lang[$folder_alt] : '',
			'FORUM_IMAGE'			=> ($row['forum_image']) ? '<img src="' . $phpbb_root_path . $row['forum_image'] . '" alt="' . $user->lang[$folder_alt] . '" />' : '',
			'FORUM_IMAGE_SRC'		=> ($row['forum_image']) ? $phpbb_root_path . $row['forum_image'] : '',
			'LAST_POST_SUBJECT'		=> censor_text($last_post_subject),
			'LAST_POST_TIME'		=> $last_post_time,
			'LAST_POSTER'			=> get_username_string('username', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),
			'LAST_POSTER_COLOUR'	=> get_username_string('colour', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),
			'LAST_POSTER_FULL'		=> get_username_string('full', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),
			'MODERATORS'			=> $moderators_list,
			'SUBFORUMS'				=> $s_subforums_list,

			'L_SUBFORUM_STR'		=> $l_subforums,
			'L_FORUM_FOLDER_ALT'	=> $folder_alt,
			'L_MODERATOR_STR'		=> $l_moderator,

			'U_VIEWFORUM'		=> $u_viewforum,
			'U_LAST_POSTER'		=> get_username_string('profile', $row['forum_last_poster_id'], $row['forum_last_poster_name'], $row['forum_last_poster_colour']),
			'U_LAST_POST'		=> $last_post_url,
            
            'IG_CLASS_NAME'     => str_replace(array('Ä','ä','Ö','ö','Ü','ü','ß'), array('Ae', 'ae', 'Oe', 'oe', 'Ue', 'ue', 'ss'), $row['forum_name']),          #!!!!!!!!!!!!!
            'IG_UNREAD'         => $forum_unread,            #!!!!!!!!!!!!!!
		));
(Ich hab mal hinter die hinzugefügten Stellen ein #!!!!!! gemacht ^^)

Ich finde das irgendwie nicht gut so. Allerdings weiss ich auch nicht wie man es besser macht in phpBB ^^ Bitte helft mir dabei ^^

Gruß
Saij
Antworten

Zurück zu „[3.0.x] Mod Bastelstube“