Ik probeer nested comments weer te geven in de format van het template dat ik gebruik.
Hierbij wordt gebruik gemaakt van <ol> en <li>. Het problem is dat ik het niet netjes voor elkaar krijg om de comments op te halen en netjes weer te geven in de juiste structuur van <ol> en <li>
Voorbeeld (ook op JSFiddle):
Er wordt dus in de <li> genaamd 'comment' en nieuwe <ol> gestart om de nested comment weer te geven. Dit kan verschillende niveaus doorgaan.
Hieronder de halve pseudo code waarbij het ook al fout gaat maar ik kom er niet uit welke volgorde ik moet gebruiken om één functie te krijgen die netjes omgaat met 'hoofd' comments en 'children' comments.
Halve pseudo code:
Ik ben bewust niet opzoek naar een uitgeschreven stukje code.
Het gaat fout in mijn denkwijze en ik krijg dit niet op een rijtje. Er zijn veel voorbeelden op internet van nested comments, maar ik krijg deze niet werkend met deze specifieke oplossing van <ol>'s en <li>'s.
Concreet: Hoe krijg ik de plaatsing van <ol class="children"> op de juiste plaats.
Hierbij wordt gebruik gemaakt van <ol> en <li>. Het problem is dat ik het niet netjes voor elkaar krijg om de comments op te halen en netjes weer te geven in de juiste structuur van <ol> en <li>
Voorbeeld (ook op JSFiddle):
HTML:
1
2
3
4
5
6
7
8
9
10
11
12
13
| <ol class="comment-list"> <li class="comment"> <div id="comment 1"></div> </li> <li class="comment"> <div id="comment 2"></div> <ol class="children"> <li class="comment"> <div id="comment 3"></div> </li> </ol> </li> </ol> |
Er wordt dus in de <li> genaamd 'comment' en nieuwe <ol> gestart om de nested comment weer te geven. Dit kan verschillende niveaus doorgaan.
Hieronder de halve pseudo code waarbij het ook al fout gaat maar ik kom er niet uit welke volgorde ik moet gebruiken om één functie te krijgen die netjes omgaat met 'hoofd' comments en 'children' comments.
Halve pseudo code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| // Start comment list echo <ol class="comment-list"> // Running comment function getComments($messageid); echo </ol> function getComments($messageid, $parent_id = 0) { // Get comments from database $aComments = Comments uit database met $commentid en $parent_id // Check for parent_id and start children ol if($parent_id !== 0) { echo <ol class="children"> } // Run through the comments for loop door $aComments { echo <li class="comment"> echo comment div draai getComments($messageid,$commentid) echo </li> } // Check for parent_id and end children ol if($parent_id !== 0) { echo </ol> } } |
Ik ben bewust niet opzoek naar een uitgeschreven stukje code.
Het gaat fout in mijn denkwijze en ik krijg dit niet op een rijtje. Er zijn veel voorbeelden op internet van nested comments, maar ik krijg deze niet werkend met deze specifieke oplossing van <ol>'s en <li>'s.
Concreet: Hoe krijg ik de plaatsing van <ol class="children"> op de juiste plaats.