Page 1 of 1

web programming

Posted: Sat Aug 03, 2019 9:19 pm
by Otto
Dear Antonio,
where do we find information about "views" and structured programming applied
to HTML.
Are there rules how to format the source code.

Thank you in advance
Otto

Re: web programming

Posted: Sun Aug 04, 2019 7:47 am
by Antonio Linares
Dear Otto,

This is the basic structure for a HTML page:

<html>
<head>
</head>
<body>
</body>
</html>

So our default.view using mod_harbour is going to be:

default.view

Code: Select all

{{View("head")}}
{{View("body")}}
 
As mod_harbour is able to build "nested" views, now we need to define head.view and body.view

head.view

Code: Select all

<html>
<head>
</head>
 
body.view

Code: Select all

<body>
</body>
</html>
 
From mod_harbour we do:
View( "default" )

And mod_harbour will put all the parts together. Now lets say we want to have a menu and a browse:
body.view

Code: Select all

<body>
{{View("menu")}}
{{View("browse")}}
</body>
</html>
 
Now we create a menu.view and a browse.view

This way all the complexity of a HTML page (lots of tags, very easy to make a mistake) is structured in small and easy to manage views

This is the beauty and the power of using mod_harbour Views engine :-)

Re: web programming

Posted: Tue Aug 06, 2019 9:20 am
by shri_fwh
Hi Antonio ,

I know little bit JSP how it works in the JSP we can AJAX to call URL and the web server execute the relevant code for the given URL.

How we can co-relate the functionality int he mod_harbour ? Could you please provide some examples ?

Thanks
Shridhar

Re: web programming

Posted: Tue Aug 06, 2019 11:07 am
by Otto
Dear Antonio,
would you be so kind to post the source code corresponding to the description too.
I mean the folder containing the files.
Do we call this project?
Best regards
Otto

Re: web programming

Posted: Tue Aug 06, 2019 1:26 pm
by Otto
Dear Antonio,
{{View("browse")}}
is this the same as
include('browse.view')
Best regards
Otto

Re: web programming

Posted: Sun Aug 11, 2019 5:47 am
by Antonio Linares
Otto,

function View() is a very powerful engine to manage views "recursively". It is not the same as include.
This function will become part of mod_harbour soon... (once we decide if "/views/" should be a parameter also, and if "view" should be hardcoded or not...)

Code: Select all

function View( cName )

   local cData

   if File( hb_GetEnv( "PRGPATH" ) + "/views/" + cName + ".view" )
      cData = MemoRead( hb_GetEnv( "PRGPATH" ) + "/views/" + cName + ".view" )
      while ReplaceBlocks( @cData, "{{", "}}" )
      end
   else
      cData = "<h2>" + cName + " not found!</h2>" 
   endif    

return cData

Re: web programming

Posted: Fri Nov 08, 2019 8:33 am
by Silvio.Falconi
Antonio,
could you please continue the lesson for us from this tread?

Re: web programming

Posted: Fri Aug 14, 2020 10:56 pm
by Otto
Dear Antonio,
I see on TWeb that we can have
<%prg
return Harbour code
%>
in views.
Is this withour TView class possible.
Best regards
Otto