David gave me a lesson on IRC. Visit his blog: 
http://www.ketralnis.com/roller/dking/
to read the log and you should be able to use phased_vars. :)

On 23 Dez., 19:08, maddiin <[EMAIL PROTECTED]> wrote:
> I would if I could...but I need an example of a
> html_container_controller.erl/html_container_view.et and a component
> making use of the phased_vars, other than that I am completely lost. I
> have tried to get a guess how this works but nothing worked.
>
> On 22 Dez., 19:08, David King <[EMAIL PROTECTED]> wrote:
>
> > > I want to have different sidebars, sorry for the confusing
> > > explanation.
>
> > You could pass up which sidebar you want (or even the full ewc for it)
> > in a phased_var
>
> > > Using your hook/1, this is the setup I have now for a sidebar that is
> > > always the same:
>
> > > html_container_controller.erl:
>
> > > index(A, Ewc) ->
> > >    Ewc.
>
> > > html_container_view.et:
>
> > > <%@ index(Data) %>
> > > <html>
> > >    <head>
> > >    </head>
> > >  <body>
> > >    <div id="header">
> > >        header
> > >    </div>
>
> > >    <div id="content">
> > >        <% Data %>
> > >    </div>
>
> > >    <div id="footer">
> > >        footer
> > >    </div>
> > >  </body>
> > > </html>
>
> > > main_layout_controller.erl:
>
> > > index(A, Ewc) ->
> > >    [Ewc, {ewc, sidebar, [A]}].
>
> > > main_layout_view.et:
>
> > > <%@ index([Data, Sidebar]) %>
> > >    <div id="main">
> > >        <% Data %>
> > >    </div>
> > >    <div id="sidebar">
> > >        <% Sidebar %>
> > >    </div>
>
> > > For a different sidebar on each page, does it mean to get rid of the
> > > main_layout_controller/view and put the stuff in entry_controller/view
> > > and so on?
>
> > > e.g.:
>
> > > entry_controller.erl:
>
> > > index(A) ->
> > >   Entries = entry:find_with({order_by, [{id, desc}]}),
> > >   [[{ewc, entry, entry, [A, Entry]} || Entry <- Entries], {ewc,
> > > sidebar, entry_index, [A]}].
>
> > > entry_view.et:
>
> > > <%@ index([Entry, Sidebar]) %>
> > > <div id="main">
> > > <h1>Entries</h1>
> > > <% Entry %>
> > > </div>
> > > <div id="sidebar">
> > > <% Sidebar %>
> > > </div>
>
> > > <%@ entry(...) %>
> > >   ...
>
> > > This would mean to repeat the #main and #sidebar divs in every view,
> > > so it doesn´t feel right to me.
>
> > > Another thing I can´t understand is how to make use of the phasedvars,
> > > which controller should I put them in and what would my views look
> > > like then.
>
> > > Say I want to have a html_container_view.et like this:
>
> > > <html>
> > >    <head>
> > >        <% Title %>
> > >        <% RSS-Link %>
> > >        <% Whatever %>
> > >    </head>
> > >  <body>
> > >    <div id="header">
> > >        header
> > >    </div>
>
> > >    <div id="content">
> > >        <% Data %>
> > >    </div>
>
> > >    <div id="footer">
> > >        footer
> > >    </div>
> > >  </body>
> > > </html>
>
> > > Thanks in advance for bringing some light in the dark. :)
>
> > > On 19 Dez., 01:16, "Yariv Sadan" <[EMAIL PROTECTED]> wrote:
> > >> On Dec 17, 2007 10:01 PM, maddiin <[EMAIL PROTECTED]> wrote:
>
> > >>> Hi,
>
> > >>> thanks for the answers, it was quite helpful. Most important: I
> > >>> found
> > >>> out how to make use of the component system and was able to put all
> > >>> logic in controllers.
>
> > >>> Following the checklist:
>
> > >>> 1. I copied David´s example and it works for now. I will ask later
> > >>> for
> > >>> more help about it.
>
> > >>> 2.+4. Now that I know how to use controllers and views correctly it
> > >>> seems odd to me to have directories for each component. :=) Most
> > >>> confusing for me was that I thought I have to use an app_view.erl,
> > >>> saw
> > >>> that in the musician example and the tutorial from
> > >>> progexpr.blogspot.com. So if you talk about views you mean .et
> > >>> files,
> > >>> I wasn´t sure about and that was confusing me. The example in the
> > >>> foreach-topic was really helpful, more examples would be great.
>
> > >> The app views used to be a part of ErlyWeb, but they were replaced by
> > >> components +  'phased' rendering. Unfortunately, those old tutorials
> > >> are still on my blog so I see where the confusion would come from :)
>
> > >>> 3. Still not understanding this, I just know how to use a sidebar
> > >>> that
> > >>> is the same on every page. I would appreciate if someone could
> > >>> give me
> > >>> an example based on the blog instead of a general explanation.
>
> > >> Do you want a different sidebar for every page, or the same sidebar
> > >> (but with dynamic contents)? If you want a different sidebar, you can
> > >> include it in your components directly, so each component could chose
> > >> which sidebar to include. If you want the same sidebar, include it in
> > >> the html_container (or the main_layout_container as in my previous
> > >> email).
>
> > >> I think you probably want the same sidebar, in which case I would
> > >> create a sidebar component and include it in main_layout_container
> > >> next to the requested component, e.g.:
>
> > >> sidebar_controller:
>
> > >> index(A) ->
> > >>  {data, ...}.
>
> > >> sidebar_view:
>
> > >> <%@ index(Data) %>
> > >> <div id="sidebar">
> > >> <h1>sidebar</h1>
> > >> <% Data %>
> > >> </div>
>
> > >> main_layout_container_controller:
>
> > >> index(A, Ewc) ->
> > >>  [{ewc, sidebar, [A]},
> > >>   Ewc].
>
> > >> main_layout_container_view.et:
>
> > >> <%@ index([Sidebar, Data]) %>
> > >> <table>
> > >>  <tr>
> > >>    <td><% Sidebar %></td>
> > >>   <td><% Data %></td>
> > >>  </tr>
> > >> </table>
>
> > >> app_controller:
>
> > >> hook(A) ->
> > >>  {phased,
> > >>    {ewc, A},
> > >>    fun(Ewc, Data, _PhasedVars) ->
> > >>      {ewc, html_container, [A, {ewc_main_layout_container, [A,
> > >> {data, Data}]}]}
> > >>    end}
>
> > >>> 5. I renamed the tables to use singular names and ran into a name
> > >>> clash (using author now instead of user). So if you are new to
> > >>> Erlang/
> > >>> ErlyWeb, too, then have a look athttp://erlang.org/doc/
> > >>> man_index.html
> > >>> and make sure, you don´t name your sql-tables/controllers like one
> > >>> of
> > >>> the modules listed in the Erlang manual page.
>
> > >> That one got me too. Now I use 'usr' :)
>
> > >> Yariv
>
> > >>> maddiin
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"erlyweb" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/erlyweb?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to