Sim Posted July 14, 2020 Share Posted July 14, 2020 I been running into issues with the templating system here and there. So hopefully this will give me a better understanding of it. Data: array(9) { ["id"]=> string(1) "3" ["name"]=> string(11) "Claw Hammer" ["desc"]=> string(100) "And people only think this Hammer is only good for home improvement. I like bashing heads with them." ["price"]=> string(2) "21" ["type"]=> string(6) "Weapon" ["fileType"]=> string(4) ".png" ["height"]=> string(3) "100" ["width"]=> string(3) "100" ["effects"]=> array(1) { ["effects"]=> string(9) "+8 Damage" } } The PHP: $data = array( "id" => $this->item->item["id"], "name" => $this->item->item["name"], "desc" => $this->item->item["desc"], "price" => $this->item->item["price"], "type" => $this->item->itemType, "fileType" => $this->item->item["fileType"], "height" => $this->item->item["height"], "width" => $this->item->item["width"] ); $data["effects"] = array("effects" => $this->item->getEffect()); var_dump($data); //$this->html = $this->item->getHTML(); $this->html .= $this->page->buildElement('viewItem', $data); } The template: <table class="table table-condensed table-responsive table-bordered table-striped" style="width:250px; margin: auto;"> <thead> <tr> <th colspan="2">{name}<br> {#if fileType} <img src="content/images/items/{id}{fileType}" height="{height}" width="{width}">{/if} </th> </tr> </thead> <tbody> <tr> <td>Type:</td> <td>{type}</td> </tr> <tr> <td>Desc:</td> <td>{desc}</td> </tr> <tr> <td>Price:</td> <td>{price}</td> </tr> {#each effects} <tr> <td>Effect:</td> <td>{effect}</td> </tr> {/each} </tr> <td> <button type="submit" class="btn btn-default btn-block" style="margin: 0px;">Buy</button> </td> </tr> </tbody> </table> It shows the effects tr, but effect is empty, but as the days shows it's not empty. Why and what must be done to display this? {#each effects} <tr> <td>Effect:</td> <td>{effect}</td> </tr> {/each} Quote Link to comment Share on other sites More sharing options...
KyleMassacre Posted July 15, 2020 Share Posted July 15, 2020 It looks like your variable should be “effects” and not “effect”. You have $data['effects'] = array('effects',...); Both keys are plural 1 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.