Условный оператор в записи статьи, влияющий на все последующие записи в ExpressionEngine - PullRequest
0 голосов
/ 21 февраля 2012

Я создаю галерею слайд-шоу, которая заполняется через EE CMS. Каждый «слайд» в слайд-шоу - это, по сути, само мини-слайд-шоу, содержащее до трех слайдов. Чтобы мини-слайд-шоу не показывало пустые слайды, я использую условные операторы, и именно здесь возникает проблема. Если в первой записи нет второго или третьего слайда, он скрывает их для всех последующих записей. Мне нужно условно выполнить проверку для каждой записи. Вот мой код:

<!doctype html>
<!--[if IE 7 ]> <html lang="en" class="no-js ie7"> <![endif]-->
<!--[if IE 8 ]> <html lang="en" class="no-js ie8"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]-->
<head>
    <!-- TITLE & METADATA -->
    <title>SparkleMasters :: Photographic Sequin Imagery</title>
    <meta name="keywords" content="">
    <meta name="description" content="">

    <!-- CHROME AND VIEWPORT SETTINGS -->
    <meta http-equiv="Content-type" content="text/html; charset=utf-8">
    <meta http-equiv="imagetoolbar" content="no">
    <meta name="viewport" content="width=device-width, initial-scale=1"/>

    <!-- FAVICON, HUMANS.TXT, STYLES & SCRIPTS REQUESTS -->
    <link rel="shortcut icon" href="/_images/favicon.ico">
    <link rel="author" type="text/plain" href="/humans.txt" />
    <link rel="stylesheet" href="/_css/reset.css" type="text/css" media="all" title="global" charset="utf-8">
    <script src="/_js/bootstrap.js?css=;js=" type="text/javascript" charset="utf-8"></script>
    <link rel="stylesheet" href="http://vjs.zencdn.net/c/video-js.css" type="text/css" media="screen" charset="utf-8">
</head>
<body>
    <div id="skip_links">
        <ul>
            <li><a href="#navigation">Skip to the navigation</a></li>
            <li><a href="#content">Skip to the content</a></li>
        </ul>
    </div>

    <div id="page" class="clearfix">
        <aside>
            <header>
                <h1><a href="#/">SparkleMasters :: Photographic Sequin Imagery</a></h1>
            </header>

            <nav>
                <a name="navigation" id="navigation">Site Navigation</a>
                <ul>
                    <li><a class="about" href="#/about">About</a></li>
                    <li><a class="gallery" href="#/gallery">Gallery</a></li>
                    <li><a class="buzz" href="#/buzz">Buzz</a></li>
                </ul>
            </nav>

            <section id="latest-news">
                <h3>Latest News</h3>

                <ul>
                    {exp:channel:entries channel="buzz" limit="2"}
                    <li><a href="#/buzz">
                        {title}
                    </a></li>
                    {/exp:channel:entries}
                </ul>
            </section>

            <section id="contact-us">
                <h3>Contact Us</h3>

                <p><a href="mailto:&#105;&#110;&#102;&#111;&#064;&#115;&#112;&#097;&#114;&#107;&#108;&#101;&#109;&#097;&#115;&#116;&#101;&#114;&#115;&#046;&#099;&#111;&#109;">&#105;&#110;&#102;&#111;&#064;&#115;&#112;&#097;&#114;&#107;&#108;&#101;&#109;&#097;&#115;&#116;&#101;&#114;&#115;&#046;&#099;&#111;&#109;</a></p>

                <p>818 434 1464</p>

                <p>1128 Linden Ave 3
                    <br>Glendale, CA 91201</p>

                <form id="ajax-join-mailinglist-form" action="javascript:;">
                    <h3>Join Mailing List</h3>
                    <fieldset>
                        <ol>
                            <li class="inline">
                                <label for="email">Email</label>
                                <input type="text" class="text" id="email" name="email">
                            </li>
                            <li style="display:none;"><input type="text" id="subject" name="subject" 
                                value="Mailing List signup from sparklemasters.com"></li>
                            <li class="right">
                                <input type="image" src="/_images/btn-join.png" id="submit" name="submit" value="Send">
                            </li>
                        </ol>
                    </fieldset>
                </form>
                <div id="note"></div>
            </section>

            <section id="copyright">
                <p>&copy; 2012 SparkleMasters. All rights reserved.</p>
            </section>

        </aside>

        <div id="body">
            <section id="primary">
                <a name="content" id="content"></a>
                <article id="gallery-detail">
                    <ul class="slides">
                        {exp:channel:entries channel="gallery" orderby="gallery_snapshot_order" sort="asc"}
                        <li>
                            <article class="sub-gallery">

                                <div class="caption-title">
                                    <h2>{title}</h2>
                                    <p>{project_type-location}</p>
                                </div>                  

                                <ul class="sub-slides">
                                    <li>
                                        <a class="img-next-click" href="javascript:;"><img src="{large_img_one}" width="886" height="604" alt="{title}"></a>
                                        <span class="caption-bar"></span>
                                        <div class="detail-copy">
                                            {paragraph_one}
                                        </div>
                                    </li>

                                    {if large_img_two}
                                    <li>
                                        <a class="img-next-click" href="javascript:;"><img src="{large_img_two}" width="886" height="604" alt="{title}"></a>
                                        <span class="caption-bar"></span>
                                        <div class="detail-copy">
                                            {paragraph_two}
                                        </div>
                                    </li>
                                    {/if}

                                    {if large_img_three}
                                    <li>
                                        <a class="img-next-click" href="javascript:;"><img src="{large_img_three}" width="886" height="604" alt="{title}"></a>
                                        <span class="caption-bar"></span>
                                        <div class="detail-copy">
                                            {paragraph_three}
                                        </div>
                                    </li>
                                    {/if}
                                </ul>
                            </article>
                        </li>
                        {/exp:channel:entries}
                    </ul>
                </article>
            </section>
        </div>
    </div>
</body>
</html>

1 Ответ

0 голосов
/ 24 октября 2012

Когда вы посещаете страницу, как выглядит результат рендеринга?Не могли бы вы опубликовать это, чтобы мы могли увидеть, как EE интерпретирует ваш шаблон?

Вы пытались использовать {if large_img_two! = ""}, Чтобы явно сделать условное выражение «если не пустойвещь? В зависимости от типа поля, иногда пустое поле все еще содержит значение. Какой тип поля - large_img_two, large_img_three? Поле собственного файла EE? Поле активов? Поле изображений канала?

...