Re: [WebDNA] feature suggestion - long response
This WebDNA talk-list message is from 2011
It keeps the original formatting.
numero = 106795
interpreted = N
texte = that's a great question!I'm in the middle of rewriting my e-commerce platform to be moderately =MVC (Model-View-Controller) instead of the spaghetti code that it =currently is. (I haven't solved the m part of mvc, but I will)=3D=3D=3D=3D=3D=3D=3DI'm willing to go out on a limb and say that most people using webdna do =this:(mypage.tpl)HAS_WEBDNA_TAGSsome logic codedatabase lookups, appends, whateverhtml headers(some webdna variables used here)body[include pagetop]the html of the pagewebdna searchesvarious variables usedif you're a really sloppy coder... more logic intermixed[include pagebottom]/bodymaybe some more webdna code(/mypage.tpl)=3D=3D=3D=3D=3D=3D=3Dmy new way:(mypage.tpl) (the controller)HAS_WEBDNA_TAGSinclude some function files as neededbusiness logic in webdna code.=20assign variables as will be needed in the html view(i'm trying very hard not to cheat and put searches in the html - as =part of transitioning some code to access sql databases)[include templates/mypage.html](/mypage.tpl)(mypage.html) (the view)[text]title=3Dthe page title[/text][text]sidebar=3Dwhatever is in the sidebar[/text][text]content=3D all the html that is shown in the content area of the =page[/text][include base.html](/mypage.html)+++++KEN, here's why: +++++(base.html) (the master page template)htmlheader
[showif [? title]=3DT][title][/showif][showif [? title]=3DF] =generic page title[/showif]/headersbodydiv sidebar[showif [? sidebar]=3DT][sidebar][/showif][showif [? sidebar]=3DF] =generic sidebar[/showif]/divdiv cotent[showif [? content]=3DT][content][/showif]/div/body/html(/base.html)this is basically a ginormous borrowing (as close as I have bothered to =develop) of Django's template system, their extend tag, and =content_blocks.My base template is always clean, & nicely balanced ("did i close that =div tag in footer.inc?")Hope this helps explain why i don't want to preset variables if i don't =need to.On Jun 22, 2011, at 7:16 PM, Kenneth Grome wrote:> If all you're doing is checking to see if a variable exists,=20> why not do this?:>=20> [text]abc=3D123[/text]> [text]def=3D[/text]>=20> [showif [abc]!]this stuff is shown[/showif]> [showif [def]!]this stuff is hidden[/showif]>=20> All it takes is presetting the vars at the top of the page,=20> then you don't have to screw around with [raw] or=20> [interpret] ... or some new syntax that would require WebDNA=20> to be rewritten. =20>=20> I've done this for years, it is so efficient and effective that=20> I've never needed anything else. You don't even have to=20> [url] the variable tags when you do it this way!>=20> Sincerely,> Kenneth Grome
Associated Messages, from the most recent to the oldest:
that's a great question!I'm in the middle of rewriting my e-commerce platform to be moderately =MVC (Model-View-Controller) instead of the
Spaghetti code that it =currently is. (I haven't solved the m part of mvc, but I will)=3D=3D=3D=3D=3D=3D=3DI'm willing to go out on a limb and say that most people using webdna do =this:(mypage.tpl)HAS_WEBDNA_TAGSsome logic codedatabase lookups, appends, whateverhtml headers(some webdna variables used here)body[include pagetop]the html of the pagewebdna searchesvarious variables usedif you're a really sloppy coder... more logic intermixed[include pagebottom]/bodymaybe some more webdna code(/mypage.tpl)=3D=3D=3D=3D=3D=3D=3Dmy new way:(mypage.tpl) (the controller)HAS_WEBDNA_TAGSinclude some function files as neededbusiness logic in webdna code.=20assign variables as will be needed in the html view(i'm trying very hard not to cheat and put searches in the html - as =part of transitioning some code to access sql databases)[include templates/mypage.html](/mypage.tpl)(mypage.html) (the view)
[text]title=3Dthe page title[/text]
[text]sidebar=3Dwhatever is in the sidebar[/text]
[text]content=3D all the html that is shown in the content area of the =page[/text][include base.html](/mypage.html)+++++KEN, here's why: +++++(base.html) (the master page template)htmlheader
[showif [? title]=3DT][title][/showif][showif [? title]=3DF] =generic page title[/showif]/headersbodydiv sidebar[showif [? sidebar]=3DT][sidebar][/showif][showif [? sidebar]=3DF] =generic sidebar[/showif]/divdiv cotent[showif [? content]=3DT][content][/showif]/div/body/html(/base.html)this is basically a ginormous borrowing (as close as I have bothered to =develop) of Django's template system, their extend tag, and =content_blocks.My base template is always clean, & nicely balanced ("did i close that =div tag in footer.inc?")Hope this helps explain why i don't want to preset variables if i don't =need to.On Jun 22, 2011, at 7:16 PM, Kenneth Grome wrote:> If all you're doing is checking to see if a variable exists,=20> why not do this?:>=20>
[text]abc=3D123[/text]>
[text]def=3D[/text]>=20> [showif [abc]!]this stuff is shown[/showif]> [showif [def]!]this stuff is hidden[/showif]>=20> All it takes is presetting the vars at the top of the page,=20> then you don't have to screw around with
[raw] or=20>
[interpret] ... or some new syntax that would require WebDNA=20> to be rewritten. =20>=20> I've done this for years, it is so efficient and effective that=20> I've never needed anything else. You don't even have to=20>
[url] the variable tags when you do it this way!>=20> Sincerely,> Kenneth Grome
"Brian B. Burton"
DOWNLOAD WEBDNA NOW!
Top Articles:
Talk List
The WebDNA community talk-list is the best place to get some help: several hundred extremely proficient programmers with an excellent knowledge of WebDNA and an excellent spirit will deliver all the tips and tricks you can imagine...
Related Readings:
webcatalog 2.1.3 ACGI Weirdness? (1998)
Re:need help please (1997)
[WebDNA] table comma field delimiter bug? (2012)
Sort Order on a page search (1997)
Cant open pages generated by Webcat (2004)
TCP Connect code for SMTP transaction (2004)
orderfile stuff (1998)
Re:Non-technical messages ... (1997)
NT Version on IIS 4.0 (1997)
sendmail spaces (1997)
passing cart value (2003)
Pre-flight public flag (1997)
links to .db's ? (1999)
Apoligy (1997)
Now you see it now you donīt (1997)
All of a Sudden Type 2 errors (1999)
Emailer (WebCat2) (1997)
Problems getting parameters passed into email. (1997)
[WebDNA] 301 redirect (2017)
WebCat2b13MacPlugIn - [include] doesn't allow creator (1997)