Андрей

Андрей

Был в сети 11 мая 2024, 14:24
Заказы принимаю
Баха Волков
Баха Волков
{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}

Вот так-то лучше :)
Сергей
Сергей
Нашел решение, хотя бы подскажите правильное ли оно?
Есть ресурс «Вкладки», у него дочерние «раз, два, три».
Необходимо было вывести дочерние ресурсы в виде вкладок, где сами вкладки это заголовок (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>
За основу взял данное
решение.
Aliaksandr Katlou
Aliaksandr Katlou
Продвигается штатно, к 8-9 (+- день-два) получится закончить альфу — тоесть все запланированное будет реализованно, но не протестировано. Далее тестирование, тестирование совсместимости, проверка на реальных проектах итд. Про работу альфы, доступ к ней и процес тестирования будет отдельный большой пост.

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