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:
WebCat b13 CGI -shownext- (1997)
Cookies (1998)
[date format] w/in sendmail (1997)
possible, WebCat2.0 and checkboxes-restated (1997)
Running 2 two WebCatalog.acgi's (1996)
Duplicate Cart Problem in Netscape SOLUTION (2000)
Protect vs Authenicate (1997)
Testing band width (2002)
Error Log.db --however (1997)
WebCatalog can't find database (1997)
syntax question, not in online refernce (1997)
AD Error Msg (1997)
Return records from another (1997)
% (mod) was looping table rows (1999)
RE: Can a database get stomped by simultaneous access? (1997)
acrobat -> wc (1998)
variable value locked when passed to include (2001)
Shipping charges (1998)
How to implement 'email to a friend' feature? (2002)
orderfile problems osx (2003)