viewtopic aanpassen

Hulp nodig bij een stijl? Voor zowel XHTML/CSS als grafische vragen uiteraard gerelateerd aan phpBB2. Support wordt helaas niet meer verleend.
Forumregels

Sinds 1 januari 2009 wordt phpBB2 niet meer ondersteund.
Onderstaande informatie is verouderd en dient uitsluitend als archief.
phpBB2.0.x
Gesloten
Witch hazel
Berichten: 39
Lid geworden op: 10 mei 2004, 18:37
Contacteer:

viewtopic aanpassen

Bericht door Witch hazel » 26 mei 2006, 20:39

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

svenn
Berichten: 5001
Lid geworden op: 14 jul 2004, 13:00
Locatie: Kortrijk
Contacteer:

Bericht door svenn » 26 mei 2006, 20:47

niet getest dus backup !
zoek

Code: Selecteer alles

$template->assign_block_vars(array(

voeg toe erboven

Code: Selecteer alles

if ($num_posts != $board_config["posts_per_page']){$hr = '<hr>';}else{$hr='';}
zoek

Code: Selecteer alles

		'SIGNATURE' => $user_sig,
daarna voeg toe

Code: Selecteer alles

 'HR_MOD' => $hr,

vervang vervolgends je <hr> naar {HR_MOD}


niet getest dus backup aub :)
Laatst gewijzigd door svenn op 26 mei 2006, 22:00, 3 keer totaal gewijzigd.

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 26 mei 2006, 21:23

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.
... Maar ik modereer (nog) niet.

Witch hazel
Berichten: 39
Lid geworden op: 10 mei 2004, 18:37
Contacteer:

Bericht door Witch hazel » 26 mei 2006, 21:32

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.
Laatst gewijzigd door Witch hazel op 26 mei 2006, 21:57, 1 keer totaal gewijzigd.

svenn
Berichten: 5001
Lid geworden op: 14 jul 2004, 13:00
Locatie: Kortrijk
Contacteer:

Bericht door svenn » 26 mei 2006, 21:55

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.

Witch hazel
Berichten: 39
Lid geworden op: 10 mei 2004, 18:37
Contacteer:

Bericht door Witch hazel » 26 mei 2006, 22:01

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.

svenn
Berichten: 5001
Lid geworden op: 14 jul 2004, 13:00
Locatie: Kortrijk
Contacteer:

Bericht door svenn » 26 mei 2006, 22:04

graag gedaan maar ik wil dat het lukt.

dit

Code: Selecteer alles

$end_row 
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

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 26 mei 2006, 22:59

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 = '&nbsp;';
		}
		$str .= '</div>';
		$postrow_item['LINE'] = $str;
	}
	$prev_id = $postrow_item['U_POST_ID'];
}

?>
Als het goed is, kan je nu in viewtopic_body.tpl

Code: Selecteer alles

{postrow.LINE}
gebruiken voordat

Code: Selecteer alles

<!-- END postrow -->
in het bestand voorkomt.

(Dit is niet getest en gebaseerd op de vorige/volgende bericht in topic knoppen van CA)
... Maar ik modereer (nog) niet.

Witch hazel
Berichten: 39
Lid geworden op: 10 mei 2004, 18:37
Contacteer:

Bericht door Witch hazel » 27 mei 2006, 10:57

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 = '&nbsp;';
		}
		$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.

Code: Selecteer alles

                }
	$prev_id = $postrow_item['U_POST_ID'];
}

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. :cry:

Gebruikersavatar
Paul
Beheerder
Beheerder
Berichten: 20315
Lid geworden op: 23 okt 2003, 11:38
Locatie: Utrecht
Contacteer:

Bericht door Paul » 27 mei 2006, 11:10

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 = '&nbsp;';
	}
	$postrow_item['LINE'] = $str;

}

?>
Moet werken.

Witch hazel
Berichten: 39
Lid geworden op: 10 mei 2004, 18:37
Contacteer:

Bericht door Witch hazel » 27 mei 2006, 12:01

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??

Gebruikersavatar
Bee
Berichten: 13403
Lid geworden op: 29 aug 2004, 10:30

Bericht door Bee » 27 mei 2006, 13:30

Ik zie het probleem, ik ben een regel vergeten :oops:

Helemaal aan het eind van xs_topic.tpl voeg je nog toe:

Code: Selecteer alles

<!-- INCLUDE viewtopic_body.tpl -->
... Maar ik modereer (nog) niet.

Witch hazel
Berichten: 39
Lid geworden op: 10 mei 2004, 18:37
Contacteer:

Bericht door Witch hazel » 27 mei 2006, 14:34

Yes het werkt!!!!!!!!!!
Mijn dank is groot allen

Groetjes Hazel

Gesloten