Ik ben net begonnen met het werken met templates.
Ik doe dit met template power.
Ik ben nu even iets aan het oefenen en loop ergens tegenaan, misschien kan iemand me helpen.
Ik heb index.tpl:
Deze index.tpl is onderverdeeld in drieën.
links een menustructuur, midden de mainpage en rechts ook een menustructuur.
Nu moet er in het linkergedeelte een aantal verkoopcategoriën uit de database komen te staan.
ja, ik heb het net geprobeerd en het werkt inderdaad.
verkoop_id moest dn met id worden natuurlijk, want je hebt ook {id} in de template.
Ik heb ook $tpl->printToScreen(); toegevoegd onderaan of is dat niet verplicht?
[edit]
Nu een stapje verder.
In index.tpl zitten meerdere menu's.
Nu wil ik dus ook het menu van verhuur erin zetten
Nu kan ik natuurlijk in de template een nieuw blok aanmaken met een andere naam, maar waar doe ik de verwerking daarvan?
Komt dat dan weer in index.php of moet elke verwerking in een aparte php-pagina?
Zet deze eens in de global.php in de controllers map. Dit is namelijk een bestand wat controle uitvoert over de template, dit doet hij dan op het globale niveau.
Ik stel ook voor dat je het block van het verkoop menu iets noemt als.
verkoopMenuRij (of salesMenuRow). Zo kan je de rijen van het verkoop menu en het verhuur menu goed uit elkaar houden.
maar waar zet ik de verwerking van het verhuurmenu?
Ook in index.php of wordt dat weer een nieuwe php-pagina?
Dat kan ik me namelijk niet voorstellen alleen kan ik niet vinden hoe ik dat dan moet doen.
maar waar zet ik de verwerking van het verhuurmenu?
Het verhuurmenu is onderdeel van de index template, deze is overal op de website beschikbaar. Het is dus vanzelfsprekend dat het aanmaken van het menu wordt gedaan door een php pagina die daarvoor bedoelt is (die de controle uitvoert over de global scope) en deze dus ook altijd beschikbaar is.
In jouw geval is dat dus de index.php in de controllers map. (global.php in mijn voorbeeld)
ja ok, dat snap ik.
Maar hoe geef ik dan aan dat het om een ander menu gaat?
Ik moet in onderstaande dus kunnen aangeven dat het om een ander menu gaat.
Moet het dan zoiets worden?
Ja, zo moet je dat doen. Je kan die if (mysql_num_rows.... laten vervallen. Tenzij je er een if-statement bij hebt staan heeft die nu namelijk helemaal geen nut. Als er geen rijen staan hoeft hij ook nergens doorheen te loopen namelijk.
Waarom zou je controleren of er data teruggegeven door MySQL op dat punt? Als MySQL geen rijen teruggeeft zal de while lus niet doorlopen worden en zullen er gewoon geen menu opties worden toegevoegd.
Wanneer er echter gebruik werd gemaakt van een else in je if-statement, dan zou ik het nut er nog wel van inzien. Omdat je dan bijvoorbeeld zelf 1 rij zou kunnen starten met 'Geen categorieën aanwezig'. Maar deze oplossing is hier niet gewenst omdat in je template altijd een link gemaakt dient te worden, die zou dus altijd invalid zijn. Natuurlijk kan je altijd op dit punt ook een block invoeren waarin je dat bericht zet, en dat block alleen maar 1 keer aanroept als er inderdaad geen categorieën zijn.
mysql_num_rows is dus handig om een error weer te geven als er geen rijen teruggegeven worden of als je wilt weergeven hoeveel rijen er teruggegeven zijn door MySQL. Wanneer je dan echter geen bericht neer gaat zetten, maar puur checked of er rijen zijn om doorheen te loopen... dan is het een overbodige functie.
ja inderdaad.
natuurlijk.
En dan ga jij me nog even helpen met het zorgen dat het systeem zo wordt omgezet dat ik index.php?pagina= kan gebruiken ?????
hahahaha, je hebt wel erg veel vertrouwen in me.
Ik denk toch dat ik nog wat begeleiding nodig heb hoor.
Ook met de afhandeling van het inloggen.
Ik denk nu dat het beter is om één menu.php te maken en daarin te kijken welke rechten iemand heeft ipv adminmenu.php, gebruikermenu.php, werknemermenu.php enz.
Nu wil ik dat de afhandeling van wie welke opties te zien krijgt in menu.php gan doen.
Dan hoef ik niet voor elke status een ander menu te maken.
Kan dit script niet flink ingekort worden?
Nu snap ik dat dit dus in index.php komt te staan, maar wat zet ik dan in een nieuw blok in index.tpl ?
dan zet je in je bij behoordende TPL file:
[code]<!-- START BLOCK : admin -->
hier je content uit inc/adminmenu.php
<!-- END BLOCK : admin -->[code]
en zo doe je ook die van werknemer en ingelogd...met de benaming as: werknemer, ingelogd.
Zou iemand voor mij willen kijken of het zo klopt?
Ik kan het niet online controleren namelijk omdat ik het index.php?pagina= systeem er nog in moet zetten.