TinyPortal

Development => Block Codes => Topic started by: 3nd3r on March 12, 2007, 10:13:16 AM

Title: Add more subcategories (or subforums) in index
Post by: 3nd3r on March 12, 2007, 10:13:16 AM
Hi. I'm interested in adding more than five subforums posts to index page.

I've found this in .../Themes/default/TPortalAdmin.template.php

echo '
<select size="1" name="tp_ssiboard1">';
$tn=sizeof($context['TPortal']['boards']);
for($n=0 ; $n<$tn; $n++){
echo '
<option value="'.$context['TPortal']['boards'][$n]['id'].'" ' ,$context['TPortal']['boards'][$n]['id']==$context['TPortal']['SSI_board1'] ? 'selected' : '' , '>'.$context['TPortal']['boards'][$n]['name'].'</option>';
}
echo '
</select> ';
// board 2
echo '
<select size="1" name="tp_ssiboard2"><option value="0">',$txt['tp-none-'],'</option>';
$tn=sizeof($context['TPortal']['boards']);
for($n=0 ; $n<$tn; $n++){
echo '
<option value="'.$context['TPortal']['boards'][$n]['id'].'" ' ,$context['TPortal']['boards'][$n]['id']==$context['TPortal']['SSI_board2'] ? 'selected' : '' , '>'.$context['TPortal']['boards'][$n]['name'].'</option>';
}
echo '
</select> ';
// board 3
echo '
<select size="1" name="tp_ssiboard3"><option value="0">',$txt['tp-none-'],'</option>';
$tn=sizeof($context['TPortal']['boards']);
for($n=0 ; $n<$tn; $n++){
echo '
<option value="'.$context['TPortal']['boards'][$n]['id'].'" ' ,$context['TPortal']['boards'][$n]['id']==$context['TPortal']['SSI_board3'] ? 'selected' : '' , '>'.$context['TPortal']['boards'][$n]['name'].'</option>';
}
echo '
</select> ';
// board 4
echo '
<select size="1" name="tp_ssiboard4"><option value="0">',$txt['tp-none-'],'</option>';
$tn=sizeof($context['TPortal']['boards']);
for($n=0 ; $n<$tn; $n++){
echo '
<option value="'.$context['TPortal']['boards'][$n]['id'].'" ' ,$context['TPortal']['boards'][$n]['id']==$context['TPortal']['SSI_board4'] ? 'selected' : '' , '>'.$context['TPortal']['boards'][$n]['name'].'</option>';
}
echo '
</select> ';
// board 5
echo '
<select size="1" name="tp_ssiboard5"><option value="0">',$txt['tp-none-'],'</option>';
$tn=sizeof($context['TPortal']['boards']);
for($n=0 ; $n<$tn; $n++){
echo '
<option value="'.$context['TPortal']['boards'][$n]['id'].'" ' ,$context['TPortal']['boards'][$n]['id']==$context['TPortal']['SSI_board5'] ? 'selected' : '' , '>'.$context['TPortal']['boards'][$n]['name'].'</option>';
}
echo '
</select> ';


So I add one more "select board":

echo '
<select size="1" name="tp_ssiboard1">';
$tn=sizeof($context['TPortal']['boards']);
for($n=0 ; $n<$tn; $n++){
echo '
<option value="'.$context['TPortal']['boards'][$n]['id'].'" ' ,$context['TPortal']['boards'][$n]['id']==$context['TPortal']['SSI_board1'] ? 'selected' : '' , '>'.$context['TPortal']['boards'][$n]['name'].'</option>';
}
echo '
</select> ';
// board 2
echo '
<select size="1" name="tp_ssiboard2"><option value="0">',$txt['tp-none-'],'</option>';
$tn=sizeof($context['TPortal']['boards']);
for($n=0 ; $n<$tn; $n++){
echo '
<option value="'.$context['TPortal']['boards'][$n]['id'].'" ' ,$context['TPortal']['boards'][$n]['id']==$context['TPortal']['SSI_board2'] ? 'selected' : '' , '>'.$context['TPortal']['boards'][$n]['name'].'</option>';
}
echo '
</select> ';
// board 3
echo '
<select size="1" name="tp_ssiboard3"><option value="0">',$txt['tp-none-'],'</option>';
$tn=sizeof($context['TPortal']['boards']);
for($n=0 ; $n<$tn; $n++){
echo '
<option value="'.$context['TPortal']['boards'][$n]['id'].'" ' ,$context['TPortal']['boards'][$n]['id']==$context['TPortal']['SSI_board3'] ? 'selected' : '' , '>'.$context['TPortal']['boards'][$n]['name'].'</option>';
}
echo '
</select> ';
// board 4
echo '
<select size="1" name="tp_ssiboard4"><option value="0">',$txt['tp-none-'],'</option>';
$tn=sizeof($context['TPortal']['boards']);
for($n=0 ; $n<$tn; $n++){
echo '
<option value="'.$context['TPortal']['boards'][$n]['id'].'" ' ,$context['TPortal']['boards'][$n]['id']==$context['TPortal']['SSI_board4'] ? 'selected' : '' , '>'.$context['TPortal']['boards'][$n]['name'].'</option>';
}
echo '
</select> ';
// board 5
echo '
<select size="1" name="tp_ssiboard5"><option value="0">',$txt['tp-none-'],'</option>';
$tn=sizeof($context['TPortal']['boards']);
for($n=0 ; $n<$tn; $n++){
echo '
<option value="'.$context['TPortal']['boards'][$n]['id'].'" ' ,$context['TPortal']['boards'][$n]['id']==$context['TPortal']['SSI_board5'] ? 'selected' : '' , '>'.$context['TPortal']['boards'][$n]['name'].'</option>';
}
echo '
</select> ';
// board 6
echo '
<select size="1" name="tp_ssiboard6"><option value="0">',$txt['tp-none-'],'</option>';
$tn=sizeof($context['TPortal']['boards']);
for($n=0 ; $n<$tn; $n++){
echo '
<option value="'.$context['TPortal']['boards'][$n]['id'].'" ' ,$context['TPortal']['boards'][$n]['id']==$context['TPortal']['SSI_board6'] ? 'selected' : '' , '>'.$context['TPortal']['boards'][$n]['name'].'</option>';
}

echo '
</select>


And seems to work... But I've got an error log that aren't showed to users:

.../index.php?action=tpadmin;sa=frontpage 

8: Undefined index: SSI_board6
Archivo: .../public_html/Themes/default/Admin.template.php (eval?)
Línea: 813


And if I went back to Admin > TP > Config > Index, I see that 6th category exists but was empty.

Well, how can I add more than five subcategories? I think the key is in SSI_board# (where # are the board number to add a subforum), but I'm not a code expert... Any help please?
Title: Re: Add more subcategories (or subforums) in index
Post by: G6Cad on March 12, 2007, 10:43:23 AM
Seems like you forgot to add the language strings it needs.
Have you checked so you have added the extra text strings to both the english files and then your custom language ?
Title: Re: Add more subcategories (or subforums) in index
Post by: 3nd3r on March 12, 2007, 11:05:17 AM
Thanks for your quick answer.

What files are you talking about?
Title: Re: Add more subcategories (or subforums) in index
Post by: JPDeni on March 12, 2007, 11:51:28 AM
You need to make a change to Sources/TPortalAdmin.php to account for your additional board.

Find

$bo=array();
$bo[0]=$_POST['tp_ssiboard1'];
$bo[1]=$_POST['tp_ssiboard2'];
$bo[2]=$_POST['tp_ssiboard3'];
$bo[3]=$_POST['tp_ssiboard4'];
$bo[4]=$_POST['tp_ssiboard5'];


Add the following line to the end of it:


$bo[5]=$_POST['tp_ssiboard6'];


You need this code to write the information about the 6th board to the database.

Then, later in the same file find


// divide the SSI board into 5 boards
$sib=explode(',',$context['TPortal']['SSI_board']);
for($i=0 ; $i<5 ; $i++){
  if(isset($sib[$i]))
    $context['TPortal']['SSI_board'.($i+1)]=$sib[$i];
  else
    $context['TPortal']['SSI_board'.($i+1)]='';
}


Change each instance of 5 to 6, so that it looks like


// divide the SSI board into 6 boards
$sib=explode(',',$context['TPortal']['SSI_board']);
for($i=0 ; $i<6 ; $i++){
  if(isset($sib[$i]))
    $context['TPortal']['SSI_board'.($i+1)]=$sib[$i];
  else
    $context['TPortal']['SSI_board'.($i+1)]='';
}


You need this code to read the information for the 6th board from the database and to define the index for SSI_board6.
Title: Re: Add more subcategories (or subforums) in index
Post by: 3nd3r on March 12, 2007, 12:25:17 PM
Thank you very much!!  :up:

I knew that it could be done!

Works perfect and no errors!  :) In fact, I add 9 subcategories  ;) Seems to be OK!
Title: Re: Add more subcategories (or subforums) in index
Post by: JPDeni on March 12, 2007, 01:33:30 PM
You're welcome. :)

Theoretically, you could add a hundred. It would just start to slow things down.
Title: Re: Add more subcategories (or subforums) in index
Post by: 3nd3r on May 18, 2007, 09:03:25 AM
Well, I updated to TP 0.9.8. Did same changes, but it's not working...

Any ideas?

Thanks in advance for your time
Title: Re: Add more subcategories (or subforums) in index
Post by: 3nd3r on May 18, 2007, 12:43:17 PM
Fixed. Missed modification for TPortalAdmin.template.php

Sorry
Title: Re: Add more subcategories (or subforums) in index
Post by: metalmaragato on August 27, 2010, 09:45:09 PM
in TP 1.0 beta 5-1 dont work :'(

TPortalAdmin.php dont have the code


$bo=array();
$bo[0]=$_POST['tp_ssiboard1'];
$bo[1]=$_POST['tp_ssiboard2'];
$bo[2]=$_POST['tp_ssiboard3'];
$bo[3]=$_POST['tp_ssiboard4'];
$bo[4]=$_POST['tp_ssiboard5'];


and neither this code


// divide the SSI board into 5 boards
$sib=explode(',',$context['TPortal']['SSI_board']);
for($i=0 ; $i<5 ; $i++){
  if(isset($sib[$i]))
    $context['TPortal']['SSI_board'.($i+1)]=$sib[$i];
  else
    $context['TPortal']['SSI_board'.($i+1)]='';
}


I find the code in TPortalAdmin.template.php but without the correct code in TPortalAdmin.php, I think dont work  :-[


echo '
<select size="1" name="tp_ssiboard1">';
$tn=sizeof($context['TPortal']['boards']);
for($n=0 ; $n<$tn; $n++){
echo '
<option value="'.$context['TPortal']['boards'][$n]['id'].'" ' , isset($context['TPortal']['SSI_boards'][0]) && $context['TPortal']['boards'][$n]['id']==$context['TPortal']['SSI_boards'][0] ? 'selected' : '' , '>'.$context['TPortal']['boards'][$n]['name'].'</option>';
}
echo '
</select> ';
// board 2
echo '
<select size="1" name="tp_ssiboard2"><option value="0">',$txt['tp-none-'],'</option>';
for($n=0 ; $n<$tn; $n++){
echo '
<option value="'.$context['TPortal']['boards'][$n]['id'].'" ' , isset($context['TPortal']['SSI_boards'][1]) && $context['TPortal']['boards'][$n]['id']==$context['TPortal']['SSI_boards'][1] ? 'selected' : '' , '>'.$context['TPortal']['boards'][$n]['name'].'</option>';
}
echo '
</select> ';
// board 3
echo '
<select size="1" name="tp_ssiboard3"><option value="0">',$txt['tp-none-'],'</option>';
for($n=0 ; $n<$tn; $n++){
echo '
<option value="'.$context['TPortal']['boards'][$n]['id'].'" ' , isset($context['TPortal']['SSI_boards'][2]) && $context['TPortal']['boards'][$n]['id']==$context['TPortal']['SSI_boards'][2] ? 'selected' : '' , '>'.$context['TPortal']['boards'][$n]['name'].'</option>';
}
echo '
</select> ';
// board 4
echo '
<select size="1" name="tp_ssiboard4"><option value="0">',$txt['tp-none-'],'</option>';
for($n=0 ; $n<$tn; $n++){
echo '
<option value="'.$context['TPortal']['boards'][$n]['id'].'" ' , isset($context['TPortal']['SSI_boards'][3]) && $context['TPortal']['boards'][$n]['id']==$context['TPortal']['SSI_boards'][3] ? 'selected' : '' , '>'.$context['TPortal']['boards'][$n]['name'].'</option>';
}
echo '
</select> ';
// board 5
echo '
<select size="1" name="tp_ssiboard5"><option value="0">',$txt['tp-none-'],'</option>';
for($n=0 ; $n<$tn; $n++){
echo '


Someone can help me?

I do a post here with
[HELP] Increse the "forum-posts on frontpage from:" 5 to 10 (1.0 beta 5-1) (http://www.tinyportal.net/index.php?topic=33155.0)
Title: Re: Add more subcategories (or subforums) in index
Post by: metalmaragato on August 29, 2010, 01:37:51 PM
Here is the solution for TP 1.0 beta 5-1 (http://www.tinyportal.net/index.php?topic=33155.msg265934#msg265934)
http://www.tinyportal.net/index.php?topic=33155.msg265934#msg265934