Pagina 1 van 1
pagina toevoegen
Geplaatst: 12 mei 2004, 19:41
door Witch hazel
Hoi hoi
Ik wil graag een pagina toevoegen aan het forum waarbij er gecontroleerd word of je ingelogd bent voordat je deze mag bekijken. Hier voor wil ik dus de users lijst van het forum gebruiken. Hoe kan ik dit het best doen??
Heb redelijk wat verstand van php en html als mede mysql maar ben niet gewent op deze manier te werken met allerlij bestanden die weer naar elkaar verwijzen en overal geinclud worden. Kan iemand mij mischien op weg helpen?
Geplaatst: 12 mei 2004, 19:52
door WebSiteNet
Je kan een lege pagina maken met deze mod:
http://www.phpbbhacks.com/viewhack.php?id=1945
En dan moet je op de plek van waar de pagina moet dit zetten:
Code: Selecteer alles
if (!$userdata['session_logged_in'])
{
redirect(append_sid("login.$phpEx?redirect=template.php", true));
}
Geplaatst: 12 mei 2004, 20:12
door Witch hazel
Hoi hoi bedankt voor je snele antwoord.
Heb nog een vraagje. In de uitleg staat dat je de pagina moet hernoemen als je wilt. Dat heb ik gedaan.
Ik heb de naam veranderd in fotoalbum.php.
Nu vroeg ik mij af of ik:
$location = $lang['Template'];
$location_url = "template.$phpEx?pane=right";
break;
Nu moest veranderen in:
$location = $lang['Template'];
$location_url = "fotoalbum.$phpEx?pane=right";
break;
Want dat staat niet duidelijk in de tekst.
En verder vroeg ik me af of je mischien ook een tip kon geven hoe je er voor kunt zorgen dat er niet meer dan zeg 32 items uit de database op een pagina worden afgedrukt en als er meer dan 32 items zijn in de desbetrevende tabel je boven aan de pagina volgende of pagina nummers krijgt.
Geplaatst: 12 mei 2004, 20:14
door WebSiteNet
Ja dat moet je dan ook wijzigen (overal in die mod kan je de naam tamplate wijzigen in fotoalbum).
En dat laatste is wat moeilijker. Wat wil je precies op de pagina zetten en hoe ziet de code er van uit?
Geplaatst: 12 mei 2004, 20:33
door Witch hazel
Ik wil een eigen fotoalbum maken. Waar alleen wij fotos'op kunnen laten zien. Deze staan namelijk op een andere server en met het geintregeerde fotoalbum lukte het niet.
Nu heb ik al een klein csm systeem gemaakt waar ik de url van de verschillende foto's kan uploaden naar de database samen met nog wat gegevens en een uitlees script.
<table border="0" width="100%" cellpadding="5" cellspacing="5">
<?
$i = 0;
while ($r = mysql_fetch_array($result)) {
if ($i==3){
?>
<td valign="bottom">
<img src="<?=$r["url"]?>" border="0" alt="<?=$r["naam"]?>" width="100" hight="*">
<td>
</tr>
<? $i= 0 ; } else if ($i==0) {
$i++;
?>
<tr>
<td valign="bottom>
<img src="<?=$r["url"]?>" border="0" alt="<?=$r["naam"]?>" width="100" hight="*">
</td>
<? } else { $i++; ?>
<td valign="bottom">
<img src="<?=$r["url"]?>" border="0" alt="<?=$r["naam"]?>" width="100" hight="*">
</td>
<? }}?>
</table>
Dit scriptje moet nog klein beetje aangepast worden want als aantal rijen nu niet door 4 kan worden gedeelt klopt het html niet. Maar daar moet ik dus nog ff op puzzelen.
Nu zou ik dus graag willen dat na 32 fototjes er automatisch en volgende pagina wordt gemaakt zeg maar. Zodat de lijst niet te lang wordt en de resteerende foto's dan op de volgende pagina staan.
Hoop dat je zo begrijpt wat ik bedoel. Uitleggen op papier niet altijd ff makelijk

Geplaatst: 12 mei 2004, 21:07
door Witch hazel
WebSiteNet schreef:En dan moet je op de plek van waar de pagina moet.
Blijf wel bezig vanavond maar wat bedoel je met op de plek waar de pagina moet?????
Bedoel je daarmee boven in photoalbum.php. Of totaal ergens anders?
Geplaatst: 12 mei 2004, 21:39
door Witch hazel
Heb ff zelf uitgeprobeerd of het bovenin pagina fotoalbum.php moet maar denk het niet want dan krijg ik fout melding dat hij de functie redirect niet kent.
Geplaatst: 12 mei 2004, 21:44
door Witch hazel
Brrrrrrrr grrrrrrrrrrr
Tjeetje wat ingewikkeld allemaal. Denk ga maar ff verder met bouwen van mij pagina maar ik kan tuurlijk helemaal geen php gebruiken in tlp file. Hmmmm..... Hele operatie weer allemaal.
Zo zie je maar je bent nooit uitgeleerd

Geplaatst: 13 mei 2004, 05:56
door WebSiteNet
Een hint: Als je iets wilt proberen, gewoon doen. En die functie moet inderdaad niet bovenaan maar onder het stukje waar 'End session management' staat.
En bij het stukje code wat je gaf hoort denk ik nog een mysql query.
Als je het in rijen van 4 wilt ordenen moet je niet if($i == 3) gebruiken maar if(!$i % 4). Probeer het maar.
Succes!
Geplaatst: 13 mei 2004, 18:34
door Witch hazel
Thx voor je antwoord. Ga het ook gewoon proberen. De extra pagina is al beveiligd en met behulp van zoeken op dit geweldige forum heb ik al een beetje in de gaten hoe je nu php doorstuurt naar een tlp bestand.
Het is ingewikkeld maar heb goede hoop dat het me lukt.
In iedergeval bedankt voor de hulp. Verlopig aan het puzzelen en bezig met een spoedcursus van hoe het phpbb forum in elkaar zit. Aan de achter kant dan.
Geplaatst: 13 mei 2004, 18:41
door WebSiteNet
Een hint voor templates: Kijk gewoon rond in andere makkelijke phpbb bestanden (zoals memberlist) en kijk wat deze functies doen:
Code: Selecteer alles
$template->assign_vars( array() );
$template->assign_block_vars( 'blok_naam', array() );
$template->set_filenames( array() );
$template->pparse( 'paginadeel_naam' );
Geplaatst: 13 mei 2004, 22:11
door Witch hazel
Hoi hoi was ik weer :S
Heb de bestandjes die je had gezecht eens goed bekeken en had ook al beetje hier een en ander gelezen over het doorsturen van variable naar tpl bestandjes en toen heb ik het volgende gefabrieceerd.
Het php bestandje is:
Code: Selecteer alles
$sql = "SELECT * FROM phpbb_foto_album WHERE cat_id = 1";
if( !($result = $db->sql_query($sql)) )
{
message_die(GENERAL_ERROR, 'Could not query fotoalbum', '', __LINE__, __FILE__, $sql);
}
if ( $row = $db->sql_fetchrow($result) )
{
$i = 0;
do
{
$row_color = ( !($i % 2) ) ? $theme['td_color1'] : $theme['td_color2'];
$row_class = ( !($i % 2) ) ? $theme['td_class1'] : $theme['td_class2'];
$template->assign_block_vars('fotoalbum', array(
'ROW_NUMBER' => $i + ( $HTTP_GET_VARS['start'] + 1 ),
'ROW_COLOR' => '#' . $row_color,
'ROW_CLASS' => $row_class,
'URL' => $row['url'],
'NAAM' => $row['naam'],
'U_VIEWPROFILE' => append_sid("fotoalbum.$phpEx?" . POST_USERS_URL . "=$user_id"))
);
$i++;
}
while ( $row = $db->sql_fetchrow($result) );
$db->sql_freeresult($result);
}
Dit is het php bestandje waarbij de zijn 'U_VIEWPROFILE' => enz eigenlijk geen functie heeft denk ik want weet niet waar dat toe dient maar zonder zo iets er achter kreeg ik een te verwachte fout melding zonder pagina te zien.
En in het tpl bestandje staat:
Code: Selecteer alles
<tr>
<td class="{fotoalbum.ROW_CLASS}" align="center"><span class="gen"> <img src="{fotoalbum.URL}" border="0" alt="{fotoalbum.NAAM}" width="100" height="*"> </span></td>
<tr>
Ziet er leuk uit niet

. Maar euh.... hij doet het niet
Krijg geen foutmeldingen maar mijn pagina blijft ook leeg. Hij sent de variable dus schijnbaar niet door. En behalve dat ene zinnetje waarvan ik niet weet waar het toe dient zie ik niet wat ik fout doe.
Kun jij mischien zien wat ik fout doe??
Geplaatst: 14 mei 2004, 09:05
door Witch hazel
Zit hier inmiddels niet stil. Ben nog wat verder gaan puzzelen.
Ben er inmiddels achter gekomen dat ik in eerste instantie een fout melding kreeg omdat ik het laatste ) was vergeten.
De zin:
'U_VIEWPROFILE' => append_sid("fotoalbum.$phpEx?" . POST_USERS_URL . "=$user_id")
Heb ik inmiddels dan ook verwijder. Maar dat veranderde niks aan het verhaaltje.
Toen heb ik geprobeerd om een gewone array door te sturen op de volgende manier:
Code: Selecteer alles
php:
$template->assign_vars(array(
'HALLO' => 'Komt deze tekst wel door')
);
tlp:
<table>
<tr>
<td>{HALLO}</td>
</tr>
</table>
En zo waar dat werkte wel. Er moet dus op een of andere manier wat fout gaan bij de opbouw van de
$template->assign_block_vars('fotoalbum', array());
Grote vraag is nu wat?? En eerlijk gezegd ik heb echt geen idee
Als iemand me daarbij een tip kan geven Pleaseeeeeeeeeee. Mijn dank is groot.
Groetjes Witch Hazel
Geplaatst: 14 mei 2004, 15:40
door WebSiteNet
Ga eens kijken in templates/subSilver/index_body.tpl en in index.php. Daarin zit een duidelijk voorbeeld over het gebruik van blokken.
Geplaatst: 14 mei 2004, 16:08
door Witch hazel
ik snap echt niet wat ik fout doe hoor. Grrr.....
Bestandjes die je hebt genoemd heb ik tich keer door gekeken maar zie geen verschil met dat wat ik zelf doe.
Heb het zo veel mogelijk geprobeert te simplificeren maar het werkt nog niet:
Code: Selecteer alles
while ( $row = $db->sql_fetchrow($result) ) {
$url = $row['url'];
$naam = $row['url'];
$template->assign_block_vars('fotoalbum', array(
'URL' => $url,
'NAAM' => $naam)
);
}
Wordt aangeroepen met:
Code: Selecteer alles
<img src="{fotoalbum.URL}" border="0" alt="{fotoalbum.NAAM}" width="100" height="*">
Het kan aan mij liggen maar volgens mij doen ze in index.php precies het zelfde alleen daar werkt het wel

Geplaatst: 14 mei 2004, 16:10
door WebSiteNet
Je moet de code van de tpl ook in een block zetten. En hoe dat moet staat veel i index_nody.tpl (let op het commentaar).

Geplaatst: 14 mei 2004, 16:15
door Witch hazel
Is dat alles

grrrr dat had ik dus echt nooit bedacht :S
Lees commentaar wel altijd maar had nooit bedacht dat dat ook een functie zou hebben verder.
*buigt* mijn dank is groot
Groetjes Witch Hazel