JerryDi
Members-
Posts
32 -
Joined
-
Last visited
Recent Profile Visitors
The recent visitors block is disabled and is not being shown to other users.
JerryDi's Achievements
Jr. Member (3/6)
7
Reputation
-
thank you, very useful.
-
I would appreciate some guidance on how to manage images. My project is a county golf archive. It has (currently) around 1000 player records, 500 championship records, 1000 match records. I have about 2,200 images, and this will increase by at least 200 per year. These images might be of a single player, so these are relevant to that player's page and maybe also a championship page or match he/she was playing in. But I also have many images that include multiple players eg team photo, relevant to multiple players and a match or championship. I would like pages for players, championships and matches to show related images for that player. What would be the best way to structure this? I have considered creating a separate template for all images utilising page reference fields to link to players, championships etc, but I don't know if this would impose a heavy overhead on the database and impact performance as the archive grows. Or should I simply have image fields in players, matches, championships templates, and put tag data into image fields to create the links? Many thanks Jerry
-
Thank you everyone, your help is much appreciated. It is working now apart from one of the columns [venue] where I have an if / else statement. I will look into that later. Jerry
-
I've used your syntax but it's produced error messages again: Notice: Undefined variable: countymatch in /home/w5j4zigjq498/public_html/processwire/site/templates/year-summary.php on line 176 Warning: Invalid argument supplied for foreach() in /home/w5j4zigjq498/public_html/processwire/site/templates/year-summary.php on line 176 line 176 is: <?php foreach($countymatch as $match): ?>
-
This is my code that attempts to output results to a table: <table border=1> <thead> <tr> <th>Opponents</th> <th>Venue</th> <th>Points for</th> <th>Points against</th> <th>Result</th> </tr> </thead> <?php $countymatch = $pages->find("template=county-match-result, year={$page->title} "); ?> <tbody> <tr> <?php foreach($countymatch as $match) ?> <td><?php echo "<a href='$match->url'> {$match->title}</a>"; ?></td> <td> <?php if ($match->home_away->title == 'Home'){ echo $match->home_match_venue->title("<a href='{url}'>{title}</a>"); } else{ echo $match->away_match_venue; }; ?> </td> <td><?php echo $match->cheshire_points; ?></td> <td><?php echo $match->opponent_points; ?></td> <td><?php echo $match->match_result->title; ?></td> </tr> </tbody> </table> and this is the code which I used to output to a list. This delivers all 11 matches perfectly, whereas I only get one with the table code <?php $countymatch = $pages->find("template=county-match-result, year={$page->title}"); foreach($countymatch as $match) { echo "<li><a href='$match->url'> $match->title</a></li>"; } ?>
-
Thank you for your replies. The Year field is not a page reference, it is a simple text field. I get the same result on any year I choose to look at ie just one row is returned. Changing the find to year=2023 produces the same result ie a single row. If I use the same find and output the page titles to a list it works fine and delivers all the matches played in a given year. So my logic tells me it must be something to do with the foreach loop, but I really don't know what the issue is. Any thoughts would be much appreciated Thanks again Jerry
-
Thank you. The counter returned a zero, despite me seeing one row in the table. I tested it on various viewed pages and I also get a single row returned on these DA2 had said that there is something missing in the loop, but I just don't know what may be.
-
Thanks for your suggestion. I have tried this but it does not return any data in the table. Is there a different way to do this [my php knowledge is minimal]? many thanks
-
I've made some progress with this. It now renders one line but there should be 9 rows: This is my code: <?php $countymatch = $pages->find("template=county-match-result, year={$page->id} "); ?> <tbody> <tr> <?php foreach($countymatch as $match) ?> <td><?php echo "<a href='$match->url'> $match->title - {$match->title}</a>"; ?></td> <td> <?php if ($match->home_away->title == 'Home'){ echo $match->home_match_venue->title("<a href='{url}'>{title}</a>"); } else{ echo $match->away_match_venue; }; ?> </td> <td><?php echo $match->cheshire_points; ?></td> <td><?php echo $match->opponent_points; ?></td> <td><?php echo $match->match_result->title; ?></td> </tr> </tbody> </table> I've tried various other ways to do this with no success. I'd very much appreciate some direction. Thanks
-
It's simply a list of matches played in a given year, showing the fields you can see inside the table tags. The number of matches played in a year will vary.
-
Hi, do I need to specify the fields required? Apologies, I am a php novice so would appreciate a pointer on what to do here Many thanks J
-
Thanks. I have checked and my table HTML is valid. So the remaining problem is the foreach loop. What I am doing is retrieving the page for matches played in the year. I then want to have rows displaying opponents, venue, points for, points against and result. All of these fields are in the same template. Could you give me some guidance on how to construct the correct loop? many thanks Jerry
-
Hi, I am trying to present selected fields from a single template in a simple HTML table. Here is my code: <?php $countymatch = $pages->find("template=county-match-result, year={$page->id}"); ?> <table> <strong> <tr> <th>Opponents</th> <th>Venue</th> <th>Points for</th> <th>Points against</th> <th>Result</th> </strong> </tr> <tr> <?php foreach($countymatch as $match): ?> <td><?php echo "<a href='$match->url'> $match->title - {$match->title}</a>"; ?></td> <td><?php if ($match->home_away->title = 'Home'){ echo $match->home_match_venue("<a href='{url}'>{title}</a>"); } else{ echo $match->away_match_venue; }; ?></td> <td><?php echo $match->cheshire_points; ?></td> <td><?php echo $match->opponent_points; ?></td> <td><?php echo $match->match_result->title; ?></td> </tr> <?php endforeach; ?> </table> All I get when I run this is the header row. I know the contents of each column work as I've run these outside of a table. Any suggestions would be much appreciated Thanks Jerry
-
?
-
Actually some competitions are for pairs, so multiple is required thanks