Hulp nodig bij een stijl? Voor zowel XHTML/CSS als grafische vragen uiteraard gerelateerd aan phpBB3.
Forumregels
Verschaf iemand geen servertoegang tenzij het niet anders kan. Maak altijd eerst een volledige backup en verander de inloggevens na afloop. Eigen risico.
-
Johan
- Berichten: 2376
- Lid geworden op: 05 mei 2007, 15:24
- Locatie: memberlist.php
Bericht
door Johan » 15 dec 2010, 19:59
- Adres van je forum: Localhost
Event. modificaties op je forum: Nee
Wanneer ontstond het probleem? n.v.t.
phpBB versie: 3.0.8
Heb je onlangs iets veranderd aan je forum? Ja, zie hieronder
Wat is het probleem?
- Spoiler: bekijk
- Voor een nieuw projectje heb ik 2 identieke forums, met dezelfde database dus, naast elkaar draaien. Het idee hiervan is als volgt: ik heb 4 categorieën: algemeen - spel1 - spel2 - algemeen. De algemene categorieën en bijbehorende forums zijn op beide forums te zien, die andere twee zijn afhankelijk van het forumnummer (spel1 = forum1, spel2 = forum2).
Omdat de categorie spel1 niet op forum2 hoort, moet die worden verborgen. De beste manier leek mij om dit via ./styles/prosilver/template/forumlist_body.html te doen. Hierin heb ik dus het volgende:
Code: Selecteer alles
<!-- IF forumrow.FORUM_ID != 5 -->
... code voor de categorie
<!-- ENDIF -->
Dit werkt prima, maar de forums in die categorie zijn nog steeds zichtbaar, die moeten ook weg. Met forumrow.FORUM_ID
lukte dit niet, dus leek het me het beste een nieuwe variabele forumrow.FORUM_PARENT_ID
te maken. Hiervoor heb ik in ./includes/functions_display.php dit gedaan:
Code: Selecteer alles
$template->assign_block_vars('forumrow', array(
'S_IS_CAT' => true,
'FORUM_ID' => $row['forum_id'],
'FORUM_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']),
'FORUM_FOLDER_IMG' => '',
'FORUM_FOLDER_IMG_SRC' => '',
'FORUM_IMAGE' => ($row['forum_image']) ? '<img src="' . $phpbb_root_path . $row['forum_image'] . '" alt="' . $user->lang['FORUM_CAT'] . '" />' : '',
'FORUM_IMAGE_SRC' => ($row['forum_image']) ? $phpbb_root_path . $row['forum_image'] : '',
'U_VIEWFORUM' => append_sid("{$phpbb_root_path}viewforum.$phpEx", 'f=' . $row['forum_id']))
);]
Praktisch gezien heb ik gewoon de forumrow.FORUM_PARENT_ID
toegevoegd aan de lijst met variabelen. Het probleem is nu dat hij niet wordt herkend/toegepast.. Zit ik in het verkeerde bestand te zoeken of zit er een fout in mijn code/gedachten?
Edit: Na wat hulp van Jim werkt de functie nu, HTML herkent 'm maar hij wordt niet meegenomen in het IF-statement in de HTML..
Voormalig Support Teamlid
-
Ger
- Berichten: 4864
- Lid geworden op: 03 jan 2006, 22:23
- Locatie: 192.68.1.100
-
Contacteer:
Bericht
door Ger » 16 dec 2010, 10:01
Dus als ik het goed begrijp werkt dit wel:
Maar dit niet?
Code: Selecteer alles
<!-- IF forumrow.FORUM_PARENT_ID -->
<p>Parent ID: {forumrow.FORUM_PARENT_ID}</p>
<!-- ENDIF -->
Dat lijkt me haast niet kunnen... Kun je misschien een wat ruimer stukje uit de template laten zien?
-
Johan
- Berichten: 2376
- Lid geworden op: 05 mei 2007, 15:24
- Locatie: memberlist.php
Bericht
door Johan » 16 dec 2010, 10:43
Parent ID: {forumrow.FORUM_PARENT_ID}
werkt prima, hij echoot dan de parent ID. Als ik dit toevoeg:
Code: Selecteer alles
<!-- IF forumrow.FORUM_PARENT_ID != 5 --> Hello world <!-- ENDIF -->
krijg ik gewoon overal
Hello world
, behalve bij de forums in categorie 5. De IF werkt dus. Echter, ik heb nu dit:
http://pastebin.com/Lpd2tnxj
Hij pakt hem niet als ik 'm om een groter gedeelte zet..
Voormalig Support Teamlid
-
Ger
- Berichten: 4864
- Lid geworden op: 03 jan 2006, 22:23
- Locatie: 192.68.1.100
-
Contacteer:
Bericht
door Ger » 16 dec 2010, 10:51
Johan schreef:Hij pakt hem niet als ik 'm om een groter gedeelte zet..
Als dat het probleem is, zou ik haast zeggen dat er iets mis gaat met de nesting van je IF-statements. Beste methode om dat uit te zoeken is het netjes uitpluizen en stuk voor stuk inspringen.
Verplaatst van support naar stijlen
- Ger
-
Johan
- Berichten: 2376
- Lid geworden op: 05 mei 2007, 15:24
- Locatie: memberlist.php
Bericht
door Johan » 17 dec 2010, 14:59
Inmiddels heeft Jim me geholpen en dit na enkel pogingen opgelost:
OPEN
./includes/functions_display.php
VIND
Code: Selecteer alles
$root_data = array('forum_id' => 0);
$sql_where = '';
VERVANG MET
Code: Selecteer alles
$root_data = array('forum_id' => 0);
$sql_where = 'f.forum_id <> 5';
(5 is de categorie die niet weegegeven mag worden)
Danku danku danku Jim <3
Voormalig Support Teamlid