Hey luitjes,
met betrekking tot m'n CMS systeem het volgende probleem.
Uit de database komt de content.
Om modules in een pagina te laden gebruik ik tags welke gefilterd worden uit de content.
deze zien er uit als
##functienaam parameter1, parameter2## -> execute functie
%%bestandeteincluden%% -> server.execute functie
&&tekstbestandteincluden&& -> fileobject open + replace
Filteren van de tags is geen probleem en werkt perfect.
Probleem doet zich voor bij de ## optie. Hiermee roep ik een functie aan welke geinclude in een extern bestand staat.
De externe functie heet Portfolio.
In deze functie laad ik een aantal plaatjes en zorg ik ervoor dat deze netjes in een tabel komen.
De html-code hiervan komt in de return value van de functie portfolio
De aanroep van deze functie gebeurt in de maincontent door het filteren van de volgende string
##portfolio "dirnaam", 1, "jpg"##
verklaring van de functie is: portfolio(directorynaam, paginanummer, extensie)
De string moet worden uitgefilterd en vervolgens als functie worden uitgevoerd.
Hierna moet de tag uiteraard vervangen worden door de geparste functie.
Dit doe ik door de volgende code:
Ik wil dus in de volledige tekst de functieaanroep inclusief tags vervangen door de return value van de functie.
duidelijk? ok gaan we verder
de method execute zorgt ervoor dat een string geparst gaat worden.
voorbeeld:
Het probleem is dat de de functie "portfolio para1, para2" wil executen en het resultaat wil replacen in de content.
Het probleem is dat de method execute alleen maar met subs kan werken en niet met functies.
En tenslotte geeft een sub geen return value en een functie wel.....
Help!!! ik wordt helemaal kierewiet
Iemand een idee?
groet,
Jeffrey
met betrekking tot m'n CMS systeem het volgende probleem.
Uit de database komt de content.
Om modules in een pagina te laden gebruik ik tags welke gefilterd worden uit de content.
deze zien er uit als
##functienaam parameter1, parameter2## -> execute functie
%%bestandeteincluden%% -> server.execute functie
&&tekstbestandteincluden&& -> fileobject open + replace
Filteren van de tags is geen probleem en werkt perfect.
Probleem doet zich voor bij de ## optie. Hiermee roep ik een functie aan welke geinclude in een extern bestand staat.
De externe functie heet Portfolio.
In deze functie laad ik een aantal plaatjes en zorg ik ervoor dat deze netjes in een tabel komen.
De html-code hiervan komt in de return value van de functie portfolio
De aanroep van deze functie gebeurt in de maincontent door het filteren van de volgende string
##portfolio "dirnaam", 1, "jpg"##
verklaring van de functie is: portfolio(directorynaam, paginanummer, extensie)
De string moet worden uitgefilterd en vervolgens als functie worden uitgevoerd.
Hierna moet de tag uiteraard vervangen worden door de geparste functie.
Dit doe ik door de volgende code:
code:
1
2
| content = replace(volledige tekst inclusief tags, functieoproep inclusief tags, functieoproep zonder tags)
' voorbeeld replace(" content balbla ##portfolio "directorynaam", 1, "jpg"## bablbal", "##portfolio "directorynaam", 1, "jpg"##", execute("portfolio "directorynaam", 1, "jpg"") |
Ik wil dus in de volledige tekst de functieaanroep inclusief tags vervangen door de return value van de functie.
duidelijk? ok gaan we verder
de method execute zorgt ervoor dat een string geparst gaat worden.
voorbeeld:
code:
1
2
| blaataap = "response.write ""ik ben een blaataap""" execute(blaataap) |
Het probleem is dat de de functie "portfolio para1, para2" wil executen en het resultaat wil replacen in de content.
Het probleem is dat de method execute alleen maar met subs kan werken en niet met functies.
En tenslotte geeft een sub geen return value en een functie wel.....
Help!!! ik wordt helemaal kierewiet
Iemand een idee?
groet,
Jeffrey