Андрей

Андрей

С нами с 27 ноября 2014; Место в рейтинге пользователей: #224
Баха Волков
11 июля 2018, 05:02
1
+2
{var $resource_list = $_modx->runSnippet('pdoResources', [  // Восклицательный знак не обязателен
        'parents' => 2,
	'includeContent'=> 1,
	'includeTVs' => 'image',
        'return' => 'json'
])}

{var $all = $resource_list | fromJSON}  // Можно и один раз преобразовать

{if $all}  // Проверка на пустоту, если переменная пустая, то не выводить
<ul class="ul_inline_items">
      {foreach $all as $item}
              <li{if $item@first} class="active"{/if}><a href="#{$item.id}" aria-controls="{$item.id}" role="tab" data-toggle="tab">{$item.pagetitle}</a></li>  // Проверка в одну строку, так же проще
      {/foreach}  
</ul>
<div class="tab-content">
      {foreach $all as $item}
              <div role="tabpanel" class="tab-pane fade{if $item@first} in active{/if}" id="{$item.id}">
                    {$item.content}
              </div>
       {/foreach}
</div>
{/if}

Вот так-то лучше :)
Сергей
10 июля 2018, 23:06
1
+1
Нашел решение, хотя бы подскажите правильное ли оно?
Есть ресурс «Вкладки», у него дочерние «раз, два, три».
Необходимо было вывести дочерние ресурсы в виде вкладок, где сами вкладки это заголовок (pagetitle), а тело вкладки, это контент текущей вкладки.
Что получилось на выходе в браузере.
<div class="background_block_menu">
        <ul class="ul_inline_items">
               <li class="active"><a href="#85" aria-controls="85" role="tab" data-toggle="tab" aria-expanded="false">Раз</a><li>
                <li><a href="#86" aria-controls="86" role="tab" data-toggle="tab" aria-expanded="false">Два</a><li>
                <li><a href="#87" aria-controls="87" role="tab" data-toggle="tab" aria-expanded="false">Три</a><li>
         </ul>
         <div class="tab-content">
                <div role="tabpanel" class="tab-pane fade in active" id="85">Контент ресурса</div>
                <div role="tabpanel" class="tab-pane fade" id="86">Контент ресурса</div>    	            
                <div role="tabpanel" class="tab-pane fade" id="87">Контент ресурса</div>                                                               	                    
         </div>
</div>
Решение:
{var $resource_list = $_modx->runSnippet('!pdoResources', [
        'parents' => 2,
	'includeContent'=> 1,
	'includeTVs' => 'image', //в перспективе буду добавлять изображения
        'return' => 'json'
])}
<ul class="ul_inline_items">
      {foreach $resource_list | fromJSON as $idx => $item}
          {if $idx == '0'}
                <li class="active"><a href="#{$item.id}" aria-controls="{$item.id}" role="tab" data-toggle="tab">$item.pagetitle}</a></li>
          {else}
                <li><a href="#{$item.id}" aria-controls="{$item.id}" role="tab" data-toggle="tab">$item.pagetitle}</a></li>
          {/if}
      {/foreach}  
</ul>
<div class="tab-content">
      {foreach $resource_list | fromJSON as $idx => $item}
            {if $idx == '0'}
                  <div role="tabpanel" class="tab-pane fade in active" id="{$item.id}">{$item.content}</div>
             {else}
                  <div role="tabpanel" class="tab-pane fade" id="{$item.id}">{$item.content}</div>
             {/if}    
       {/foreach}
</div>
За основу взял данное решение.
DocentBF
10 июля 2018, 08:23
1
+1
Пардон, вставил битую ссылку. Документация на странице компонента в модсторе.
Aliaksandr Katlou
06 апреля 2015, 09:58
1
+5
Продвигается штатно, к 8-9 (+- день-два) получится закончить альфу — тоесть все запланированное будет реализованно, но не протестировано. Далее тестирование, тестирование совсместимости, проверка на реальных проектах итд. Про работу альфы, доступ к ней и процес тестирования будет отдельный большой пост.

Вместо покинувих проект Аладимира и Льва к работе подключился наш штатный программист Павел, и вскоре после характистик последуют следующие доработки из дорожной карты.