문제

I was trying use nested if in eco template. Here is my code

<% for document in @getCollection('posts').toJSON()[@document.page.startIdx...@document.page.endIdx]: %>

                    <% if true %>

                        <p>  <%=  new Date(document.date.toDateString()).getTime() <= new Date(new Date().toDateString()).getTime() %> </p>


                        <div class='row-fluid'>
                            <div class='span12 blogShadow'>
                                <div class="row-fluid">
                                    <div class='span12 archiverow'>
                                        <span>(<%= document.date.toDateString() %>) => </span>
                                        <span>
                                            <a href="<%= document.url %>">   <%= document.title %> </a>
                                        </span>
                                    </div>
                                </div>
                                <div class="row-fluid archiverow">
                                    <% if document.img:%>
                                        <img class="span1" src="<%= document.img %>" width=100 height=100 />
                                        <span class="span11"><%= document.description %></span>
                                    <% else: %>
                                        <span class="span12"><%= document.description %></span>
                                    <% end %>
                                </div>
                            </div>
                        </div>
                    <% end %>
                    <br/>
                    <br/>
                <% end %>

if I remove first if with its corresponding end statement things working fine, but if I put that it is giving parsing error with message unexpected dedent.

for the else statement down there

<% else: %>
                                        <span class="span12"><%= document.description %></span>
                                    <% end %>

I am new to eco and I don't understand the message. Is this kind of nested if is possible and if not what is the work around for this.

As, I am using docpad and eco I am using as template engine.

Please let me know if any further details is required.

도움이 되었습니까?

해결책

I able to solve the issue by following code. I was missing : to evaluate expression.

<% for document in @getCollection('posts').toJSON()[@document.page.startIdx...@document.page.endIdx]: %>
                    <% if (new Date(document.date.toDateString()).getTime() <= new Date(new Date().toDateString()).getTime()): %>
                            <div class='row-fluid'>
                                <div class='span12 blogShadow'>
                                    <div class="row-fluid">
                                        <div class='span12 archiverow'>
                                            <span>(<%= document.date.toDateString() %>) => </span>
                                            <span>
                                                <a href="<%= document.url %>">   <%= document.title %> </a>
                                            </span>
                                        </div>
                                    </div>
                                    <div class="row-fluid archiverow">
                                        <% if document.img:%>
                                            <img class="span1" src="<%= document.img %>" width=100 height=100 />
                                            <span class="span11"><%= document.description %></span>
                                        <% else: %>
                                            <span class="span12"><%= document.description %></span>
                                        <% end %>
                                    </div>
                                </div>
                            </div>
                    <% end %>
                <% end %>

both if is working without any issue.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top