Pagina 1 van 1
Instellen template-variabele forumlist_body.html
Geplaatst: 15 dec 2010, 19:59
door Johan
- 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..
Re: Instellen template-variabele forumlist_body.html
Geplaatst: 16 dec 2010, 10:01
door Ger
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?
Re: Instellen template-variabele forumlist_body.html
Geplaatst: 16 dec 2010, 10:43
door Johan
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..
Re: Instellen template-variabele forumlist_body.html
Geplaatst: 16 dec 2010, 10:51
door Ger
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
Re: Instellen template-variabele forumlist_body.html
Geplaatst: 17 dec 2010, 14:59
door Johan
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