Include file - пример использования

Привет!
Собственно — это вопрос, и вопрос в следующем. Возникло желание изменить демонстрацию изображений фотосета с «prettyPhoto» на обычные модальные окна от «bootstrap». И вот, в ходе работы по реализации данного функционала, у меня возникло сомнение — не является ли дополнительной нагрузкой (влияющей, в частности, на время загрузки страницы) использование «include file», скажем, в «списке» следующей конструкции:

Конкретный пример
<div class="">
    <ul class="">
        <li class="">
            <a href="#" data-toggle="modal" data-target="#{$oPhoto->getId()}">
                <img src="{$oPhoto->getUrl('x80')}" />
            </a>
        </li>
    </ul>

    {include file="modals/modal.open_img.tpl"}
</div>


Думаю, содержание шаблона «modal.open_img.tpl» и так понятно — это стандартное модальное окно с выводом самого изображения по его «id» .

Ключевая часть шаблона модального окна

<div class="modal" id="{$oPhoto->getId()}">
[...]
    <div class="modal-body">            
        <img src="{$oPhoto->getUrl()}" />
    </div>		    	                                  
[...]
</div>


— как мы понимаем, данный список может содержать различное количество элементов, в зависимости от того, сколько изображений было загружено в сам фотосет. И, соответственно, опциональная задача {include file="modals/modal.open_img.tpl"} отработает каждый из элементов списка при загрузке страницы, содержащей сам этот список. Налицо существенное влияние на время загрузки страницы полученного в результате кода, который теперь будет содержать в себе все модальные окна с изображениями относящимися к определенным элементам списка связанными по «id». Т.е., если количество элементов списка (изображений фотосета) — 30, то соответственно и код всех 30-ти модальных окон со всем содержимым будет подгружаться на странице со списком.

Правильно ли я всё понял? И есть ли какой-то грамотный выход из данной ситуации?

Похожие статьи

  • Скины на основе bootstrap
    так как я тут человек новый(новый в Alto, на livestreet известен как dedmixei), то будьте добры — подскажите несколько вещей. 1 Форк — это ветвление от основного движка или как? в смысле в дальнейшем Alto будет...
  • Как правильно модифицировать шаблон (скин) для себя
    По умолчанию в движке идет три скина: start-kit, expirience, exprience-simple. Все скины в той или иной степени можно модифицировать, не влезая особенно в код. Но иногда этого бывает мало. Если немного понимаешь в...
  • Концепция нового шаблона «TREND»: внеси свои предложения!
  • Шаблон Inspiration 1.0
    Здравствуйте! Наконец то я закончил и выложил свой шаблон для altocms. Шаблон адаптивный. Cкриншоты Вы можете скачать и просмотреть по ссылке СКРИНШОТЫ Шаблон в разделе Модули — Inspiration 1.0 Стоимость: 1000 руб....

2 комментария

+2
Вообще, любое увеличение когда, разумеется, ведет к увеличению времени его обработки. Это неизбежно.

В данном случае, если волнует, не будет ли файл каждый раз считываться с диска — нет, не будет. Если есть 100 фото и, соответственно, 100 раз встречается директива {include...} с одним именем файла, то прочитан файл будет только один раз.

Другое дело, что на странице, в итоге, будет 100 совершенно одинаковых модальных окон, которые отличаются только ссылкой на изображение — вот это, конечно, уже не есть гуд. Вы ведь не стремитесь к тому, чтобы 100 окон одновременно были на экране, не так ли? Значит, модальное окно надо только один раз включать в шаблон. И писать небольшой скрипт, который по клику на миниатюру будет сначала подставлять нужную ссылку в модальное окно на большое изображение, а потом уже открывать само модальное окно.
0
Вот! Что и требовалось доказать.
Нужно обмозговать. Спасибо!
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.