Pagina 1 van 1
viewtopic aanpassen
Geplaatst: 26 mei 2006, 20:39
door Witch hazel
Ik ben bezig om Subsilver aan te passen naar mijn eigen stijl. Nu loop ik echter tegen een probleempje aan.
Aan het eind van elke reactie heb ik een HR geplaatst. Nu wil ik echter dat deze HR niet verschijnt onder de laatste reactie van de pagina.
Ik heb de code voor het verschijnen van deze HR al reeds in het bijbehorende php bestand geplaatst en dat werkt prima.
Maar nu moet ik dus een functie ontwikkelen waarbij het aantal reacties worden geteld en er dus bepaald wordt wanneer de laatste reactie van die pagina er is op dat de HR niet wordt weergegeven.
Waardes die ik hier waarschijnlijk bij nodig heb zijn:
$board_config["postst_per_page']
$total_posts of $num_posts maar $prev_posts heeft ook iets met het aantal te maken.
Verder zie ik dat ze iets doen met het aantal posts en een fariable $resync kan ik daar misschien iets mee?
Affijn veel vragen en ik hoop dat iemand me kan helpen.
Groetjes Hazel
Geplaatst: 26 mei 2006, 20:47
door svenn
niet getest dus backup !
zoek
voeg toe erboven
Code: Selecteer alles
if ($num_posts != $board_config["posts_per_page']){$hr = '<hr>';}else{$hr='';}
zoek
daarna voeg toe
vervang vervolgends je <hr> naar {HR_MOD}
niet getest dus backup aub

Geplaatst: 26 mei 2006, 21:23
door Bee
Ik geloof niet dat dat gaat werken Svenn,
Ten eerste zitten zoveel typfouten in, dat ik mij serieus afvraag of je wel wist wat je deed, en ik vraag mij zowieso al af of dit de juiste manier is.
Geplaatst: 26 mei 2006, 21:32
door Witch hazel
Type fouten er uit gehaald maar dan werkt het nog steeds niet jammer genoeg.
Kwam overigens nog een paar variable tegen waar je misschien iets mee kunt doen als je weet hoe.
Namelijk:
$start en $total_replies
Deze worden ook gebruikt voor de $pagination weet dat deze functie er voor zorgt dat het aantal posts per pagina niet meer wordt dan die van de bordconfig en je dan dus cijfertjes van 1 tot .... onderin krijgt.
Geplaatst: 26 mei 2006, 21:55
door svenn
Bee schreef:Ik geloof niet dat dat gaat werken Svenn,
Ten eerste zitten zoveel typfouten in, dat ik mij serieus afvraag of je wel wist wat je deed, en ik vraag mij zowieso al af of dit de juiste manier is.
waarom zou de manier fout zijn ik had wel != verkeerd en enkely typos ik zit niet thuis daarmee dat ik het niet kan testen. Maar aan het idee zie ik niks mis.
-- edit
neen toch niet je hebt gelijk deze zou werken als alle pagina's vol zijn.
Geplaatst: 26 mei 2006, 22:01
door Witch hazel
Op zich was je idee denk ik niet zo gek svennson. Heb er nog wat verder mee gepuzzeld maar kwam er niet uit.
Het zou moeten worden:
Code: Selecteer alles
if ($row["num_posts"] !=$board_config["postst_per_page"]){
$end_row = "<tr><td class=\"Row1\" colspan=\"2" height=\"1\">";
$end_row.="<hr class=\"topic\"></td></tr>";
}else{
$end_row = "";
}
Maar zoals ik al eerder zei het werkt jammer genoeg niet. Toch bedankt voor de moeite.
Geplaatst: 26 mei 2006, 22:04
door svenn
graag gedaan maar ik wil dat het lukt.
dit
hoeft niet hoor dat stuk is correct het is in de if() dat er een fout zit. ik kan namelijk niet op ftp om even te teste

.
btw ik pas de eerste post aan.
-- ik raak er niet aan uit.
zal voor iemand anders zijn. het idee is als de totaly reply's -1 = reply moet het gaan komen, maarja is wat laat om hard te denken :p
grt svenn
Geplaatst: 26 mei 2006, 22:59
door Bee
Installeer de eXtreme Styles mod van
http://www.phpbbstyles.com
Maak in je stylemap, dus ( templates/xxx/ ) een bestand aan, genaamd xs.cfg
Plaats daarin het volgende:
Code: Selecteer alles
<?php
$replace['viewtopic_body.tpl'] = 'xs/xs_topic.tpl';
?>
Maak een map
xs aan in je templatemap, en daarin een bestand
xs_topic.tpl. Daarom komt het volgende:
Code: Selecteer alles
<?php
$postrow_count = ( isset($this->_tpldata['postrow.']) ) ? sizeof($this->_tpldata['postrow.']) : 0;
for ($postrow_i = 0; $postrow_i < $postrow_count; $postrow_i++)
{
$postrow_item = &$this->_tpldata['postrow.'][$postrow_i];
// a hr or not?
$next_id = $postrow_i == ($postrow_count - 1) ? false : $this->_tpldata['postrow.'][$postrow_i + 1]['U_POST_ID'];
if($next_id)
{
$str = '<hr/>';
}
else
{
$str = ' ';
}
$str .= '</div>';
$postrow_item['LINE'] = $str;
}
$prev_id = $postrow_item['U_POST_ID'];
}
?>
Als het goed is, kan je nu in viewtopic_body.tpl
gebruiken voordat
in het bestand voorkomt.
(Dit is niet getest en gebaseerd op de vorige/volgende bericht in topic knoppen van CA)
Geplaatst: 27 mei 2006, 10:57
door Witch hazel
Geen idee wat ik nu allemaal heb gedaan. Dat maakt het voor mij wat lastiger om eventueel dingen aan te passen. Maar goed heb je uitleg uitgevoerd BEE maar het werkte niet.
Om te beginnen zit er in het volgende stukje een fout:
Bee schreef:
Code: Selecteer alles
<?php
$postrow_count = ( isset($this->_tpldata['postrow.']) ) ? sizeof($this->_tpldata['postrow.']) : 0;
for ($postrow_i = 0; $postrow_i < $postrow_count; $postrow_i++)
{
$postrow_item = &$this->_tpldata['postrow.'][$postrow_i];
// a hr or not?
$next_id = $postrow_i == ($postrow_count - 1) ? false : $this->_tpldata['postrow.'][$postrow_i + 1]['U_POST_ID'];
if($next_id)
{
$str = '<hr/>';
}
else
{
$str = ' ';
}
$str .= '</div>';
$postrow_item['LINE'] = $str;
}
$prev_id = $postrow_item['U_POST_ID'];
}
?>
Kleine fout die volgens mij niet klopt is dat je $str afsluit met een div die nooit wordt geopend.
Grote fout is dat er aan het eind een } teveel staat.
Een van deze twee haakjes is of te veel of ergens in het begin moet een open haakje staan. Maar heb geen idee waar dan.
Heb bijde haakjes geprobeert te verwijderen (natuurlijk niet tegelijk) het resultaat was een lege pagina.
We gaan dus maar weer verder puzzelen.
Maar anyway bedankt.
@svensson
Ja ik wil ook graag dat het lukt. Maar kom er ook niet uit.

Geplaatst: 27 mei 2006, 11:10
door Paul
Code: Selecteer alles
<?php
$postrow_count = ( isset($this->_tpldata['postrow.']) ) ? sizeof($this->_tpldata['postrow.']) : 0;
for ($postrow_i = 0; $postrow_i < $postrow_count; $postrow_i++)
{
$postrow_item = &$this->_tpldata['postrow.'][$postrow_i];
// a hr or not?
$next_id = $postrow_i == ($postrow_count - 1) ? false : $this->_tpldata['postrow.'][$postrow_i + 1]['U_POST_ID'];
if($next_id)
{
$str = '<hr/>';
}
else
{
$str = ' ';
}
$postrow_item['LINE'] = $str;
}
?>
Moet werken.
Geplaatst: 27 mei 2006, 12:01
door Witch hazel
Het zal wel aan mij liggen maar nog steeds krijg ik een lege pagina. Heeft dat niet iets te maken met cfg bestand?
Bee schreef:
Code: Selecteer alles
<?php
$replace['viewtopic_body.tpl'] = 'xs/xs_topic.tpl';
?>
Zegt dit niet zoveel als dat viewtopic_body.tpl vervangen moet worden door xs_topic.tpl
En moet dat xs_topic bestand dan niet veel meer info bevatten??
Geplaatst: 27 mei 2006, 13:30
door Bee
Ik zie het probleem, ik ben een regel vergeten
Helemaal aan het eind van xs_topic.tpl voeg je nog toe:
Geplaatst: 27 mei 2006, 14:34
door Witch hazel
Yes het werkt!!!!!!!!!!
Mijn dank is groot allen
Groetjes Hazel