Linken naar verschillende styles

Hulp nodig bij een stijl? Voor zowel XHTML/CSS als grafische vragen uiteraard gerelateerd aan phpBB2. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
petervanbreda
Berichten: 12
Lid geworden op: 06 jan 2005, 15:37
Locatie: Deventer
Contacteer:

Linken naar verschillende styles

Bericht door petervanbreda » 24 apr 2005, 21:21

Ik hoop dat iemand op dit forum mij kan helpen met de volgende vraag.

Is er een mogelijkheid om verschillende styles te gebruiken op hetzelfde moment? Voorbeeld:

Link 1 (elders op de website) moet verwijzen naar Style 1
Link 2 (elders op de website) moet verwijzen naar Style 2
etc.

Ik wil deze mogelijkheid creeëren om voor verschillende selecties van mijn album mod telkens een ander soort pagina te generen, zodat ik bijvoorbeeld andere (gerelateerde) navigatielinks kan toevoegen aan de selectie. Ik hoop dat mijn vraag en toelichting een beetje duidelijk zijn.

Alvast bedankt!

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 25 apr 2005, 16:00

Ik heb wel zelf een script geschreven wat wel werkt maar dit gebruik ik alleen zelf. Zal eens kijken of ik het in een modvorm kan zetten.
Afbeelding

petervanbreda
Berichten: 12
Lid geworden op: 06 jan 2005, 15:37
Locatie: Deventer
Contacteer:

Thanks!

Bericht door petervanbreda » 25 apr 2005, 18:20

Ben benieuwd naar het resultaat, want deze mod zou mij prima van pas komen! Ik wacht rustig af.

Gebruikersavatar
Luuk
Berichten: 7311
Lid geworden op: 22 okt 2003, 10:07
Locatie: Delft

Bericht door Luuk » 26 apr 2005, 16:27

Volgens mij was het alleen maar dit:

Code: Selecteer alles

# 
#-----[ SQL ]------------------------------------------ 
# Please change phpbb_ with your table prefix
#
ALTER TABLE phpbb_sessions ADD session_style INT(11) DEFAULT '0' NOT NULL;

# 
#-----[ OPEN ]------------------------------------------ 
# 
includes/functions.php

# 
#-----[ FIND ]------------------------------------------ 
# 
	global $nav_links;

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
	global $HTTP_COOKIE_VARS, $HTTP_GET_VARS, $SID, $db, $user_ip;

# 
#-----[ FIND ]------------------------------------------ 
# 
	if ( !$board_config['override_user_style'] )
	{
		if ( $userdata['user_id'] != ANONYMOUS && $userdata['user_style'] > 0 )
		{
			if ( $theme = setup_style($userdata['user_style']) )
			{
				return;
			}
		}
	}

	$theme = setup_style($board_config['default_style']);

# 
#-----[ REPLACE WITH ]------------------------------------------ 
# 
	$style = '';
	$session_id = substr($SID, 4);
	if ( !empty($HTTP_GET_VARS['s']) )
	{
	    $style = $HTTP_GET_VARS['s'];
	
		$sql = "SELECT themes_id
			FROM " . THEMES_TABLE . "
			WHERE themes_id = $style";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(CRITICAL_ERROR, 'Could not query database for theme info');
		}

		if ( !($row = $db->sql_fetchrow($result)) )
		{
			$style = $board_config['default_style'];
		}
		
		$sql = "UPDATE " . SESSIONS_TABLE . " 
			SET session_style = $style
			WHERE session_id = '" . $session_id . "' 
			AND session_ip = '$user_ip'";
		if ( !$db->sql_query($sql) )
		{
			message_die(CRITICAL_ERROR, 'Error updating session_style', '', __LINE__, __FILE__, $sql);
		}
	}
	else
	{	
        $sql = "SELECT session_style
			FROM " . SESSIONS_TABLE . "
			WHERE session_id = '" . $session_id . "' 
			AND session_ip = '$user_ip'";
		if ( !($result = $db->sql_query($sql)) )
		{
			message_die(CRITICAL_ERROR, 'Could not query database for theme info');
		}
		if ( $row = $db->sql_fetchrow($result) )
		{
			$style = $row['session_style'];
		}
	}
	
	if ( $style == "" || $style == 0 )
	{
		$style = ( isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_s']) ) ? $HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_s'] : $board_config['default_style'];
	}
	else
	{
		setcookie($board_config['cookie_name'] . '_s', $style, time()+3600);
	}

	$theme = setup_style($style)
	
# 
#-----[ SAVE/CLOSE ALLE FILES ]------------------------------------------ 
# 
# EoM
//EDIT: Uitleg vergeten :P
Je kunt met bijvoorbeeld index.php?s={style_id_nummer} een andere stijl oproepen, deze wordt opgeslagen in de database en bij je cookies.
Voorbeeld: 1 & 2
Afbeelding

petervanbreda
Berichten: 12
Lid geworden op: 06 jan 2005, 15:37
Locatie: Deventer
Contacteer:

En nu aan de slag

Bericht door petervanbreda » 27 apr 2005, 13:44

Bedankt voor je snelle reactie. Ik ga ermee aan de slag en laat je uiteraard nog even weten of het allemaal is gelukt.

petervanbreda
Berichten: 12
Lid geworden op: 06 jan 2005, 15:37
Locatie: Deventer
Contacteer:

Vraag m.bt. de MySQL Database

Bericht door petervanbreda » 05 jun 2005, 07:49

Iets later dan gepland, maar ik ben inmiddels aan de slag gegaan met deze handige MOD.

Ik loop echter vast op stap 1 (het aanpassen van de SQL database).
#
#-----[ SQL ]------------------------------------------
# Please change phpbb_ with your table prefix
#
ALTER TABLE phpbb_sessions ADD session_style INT(11) DEFAULT '0' NOT NULL;
Kan iemand mij misschien stap voor stap uitleggen hoe ik dit voor elkaar krijg? Ik heb uiteraard phpMyAdmin.

Thanks!

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 05 jun 2005, 08:14


Gebruikersavatar
Wout -- w00t
Berichten: 815
Lid geworden op: 07 jan 2005, 12:57
Locatie: Eindhoven, NL

Bericht door Wout -- w00t » 05 jun 2005, 10:42

phpBB Hacks heeft ook iets handigs voor SQL stappen. Ga naar deze link en typ daar de SQL in. Klik dan op Submit en je krijgt je dp_update.php
http://www.phpbbhacks.com/forums/db_generator.php
Geeft geen support aan fora´s zonder copyright

Gebruikersavatar
flance
Berichten: 95
Lid geworden op: 01 feb 2005, 17:50

Bericht door flance » 05 jun 2005, 11:36

Even een kleine opmerking op die mod:

verander binnen die mod, de replace code van includes/functions.php

Code: Selecteer alles

$theme = setup_style($style)
in

Code: Selecteer alles

$theme = setup_style($style);
Voor al je webmasterhulp -> WebRookie!
Afbeelding

petervanbreda
Berichten: 12
Lid geworden op: 06 jan 2005, 15:37
Locatie: Deventer
Contacteer:

Een laatste check

Bericht door petervanbreda » 05 jun 2005, 17:39

Even voor alle zekerheid (om problemen met mijn database te voorkomen)

Stap 1
Ik kopieer deze tekst
ALTER TABLE phpbb_sessions ADD session_style INT(11) DEFAULT '0' NOT NULL;
Stap 2
Deze tekst plaats ik in het veld
Run SQL query/queries on database XXX
van phpMyAdmin

Stap 3
Ik klik op GO en that's all?

Sorry voor deze dubbelcheck, maar ik ben op het gebied van mySQL nog een echte knuppel.

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20316
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 05 jun 2005, 18:08

jep das goed :)

petervanbreda
Berichten: 12
Lid geworden op: 06 jan 2005, 15:37
Locatie: Deventer
Contacteer:

Thanks!

Bericht door petervanbreda » 05 jun 2005, 21:38

Het is even puzzelen geweest, maar met jullie hulp is het toch nog allemaal goed gekomen. De styleMOD is geïnstalleerd en werkt naar behoren. Nu nog even knutselen met de styles zelf.

Zodra alles écht helemaal werkt, stuur ik nog even een linkje.

De rozen!

Gesloten