TVTable как получать значения из ячеек таблицы
        Здравствуйте.
Первый раз столкнулся с компонентом TVTable и не могу ничего понять пока. (
В общем ситуация такая:
1. Есть дополительное поле с таблицей TVTable, называется «Prices» — в нем некая таблица (первая колонка — размеры, остальные — различные параметры).
2. Есть еще одно дополнительное поле Авто-метка «Sizes» — в нем просто список размеров.
3. На странице шаблона выводится список из поля «Sizes»:
Как это можно реализовать?
    
    
                                                                                
            Первый раз столкнулся с компонентом TVTable и не могу ничего понять пока. (
В общем ситуация такая:
1. Есть дополительное поле с таблицей TVTable, называется «Prices» — в нем некая таблица (первая колонка — размеры, остальные — различные параметры).
2. Есть еще одно дополнительное поле Авто-метка «Sizes» — в нем просто список размеров.
3. На странице шаблона выводится список из поля «Sizes»:
{if $_modx->resource.Sizes?}
<div class="form_size">
<p class="h4">Выберите размер</p>
<div class="d-flex flex-wrap ">
{set $sizes = $_modx->resource.Sizes | split}
{foreach $sizes as $size first=$first}
<div class="form___size_item">
<span>{$size}</span>
<p>ВОТ СЮДА НУЖНО ВСТАВИТЬ ЗНАЧЕНИЕ ИЗ ЯЧЕЙКИ ТАБЛИЦЫ</p>
</div>
{/foreach}
</div>
</div>
{/if}Мне нужно в этот цикл подставить соответствующие значения из таблицы, т.е. сравнивать размеры по названию и, при совпадении, подставлять параметр из определенной колонки таблицы.Как это можно реализовать?
Комментарии: 13
                Компонент TVTable хранит данные в json формате, получите данные и воспользуйтесь любым удобным для вас способом, будь то модификатор фенома fromJSON или используйте дары языка php написав сниппет            
                    
                Спасибо. А можно на примере показать? (я не особо силен в fenom)
В гугле не могу ничего найти похожего.
                    В гугле не могу ничего найти похожего.
{foreach $_modx->resource.Prices | fromJSON as $row}
    {foreach $row as $cell}
        {$cell} {*тут выведутся все значения всех ячеек*}
    {/foreach}
{/foreach}            
                Спасибо, но все равно не понял — а можно как-то вывести конкретную ячейку таблицы по координатам (строка, столбец)?            
                    
                Ну я правда не понимаю. Есть например такая табличка в TVTable:
Как мне получить из json строки данные из колонок Size и Availability?..
            
                    | Size | Price1 | Price2 | Price3 | Availability | 
|---|---|---|---|---|
| 10 см | 100 руб | - | - | есть | 
| 20 см | 150 руб | - | - | нет | 
| 30 см | 200 руб | 250 | - | скоро будет | 
                ладно, будем считать что разобрался — добавил:
                    {foreach $_modx->resource.Prices | fromJSON as $row}
    {foreach $row as $cell}
        {if $cell@first}  <span>{$cell}</span>  {/if}
		{if $cell@index == 4}
		{if $cell !=''} <p>{$cell}</p> {else} <p>нет<p> {/if}
		{/if}
    {/foreach}
{/foreach}Всем спасибо            
                Ваш ответ реально помог, спасибо… теперь буду знать )
                    {foreach $prices as $row}
        Size: {$row[0]}
        Availability: {$row[4]}
    {/foreach}(без лишних foreach, как я прежде «напридумывал»)            
                Вопрос у меня близкий по теме.
tabletv у меня находится внутри MIGX, таблица состоит из 2-х колонок, соответственно мне нужно вывести каждую строку обернутую в свое класс и ячейки в ней обернутые в свои классы, вывожу так, насколько это оптимально или есть лучше решение?
                    tabletv у меня находится внутри MIGX, таблица состоит из 2-х колонок, соответственно мне нужно вывести каждую строку обернутую в свое класс и ячейки в ней обернутые в свои классы, вывожу так, насколько это оптимально или есть лучше решение?
{foreach $row.table | fromJSON as $row.table}
    <div class="advant-table-item">
        {foreach $row.table as $cell}
            {if $cell@first}  <span class="advant-table-label">{$cell}</span>  {/if}
            {if $cell@last}<span class="advant-table-val">{$cell}</span>{/if}
        {/foreach}
    </div>
{/foreach}            
                Зачем прогонять весь массив когда нужно первый и последний элемент?
                    {$row.table.0}Последний не знаю, возможно так как-то, если включены в настройках обработка php(pdotools_fenom_php){end($row.table)}            
                мне нужны все строки, и ячейки все, т.к. в строке всего 2 ячейки, я их обозначил @Сергей Глазунов и @last            
                    
                Добрый день, а функционал объединения ячеек планируется? Или может быть уже есть? Не нашла.            
                    
                а можно в шаблоне pdomenu вывести определенное значение из TVtable, Пробовал так:
Вызов pdoMenu
                    [[TVTable?
  &tv=`7`
  &id=`[[+id]]`
  &classname=``
  &getX=`2`
  &getY=`3`
]]ничего не работаетВызов pdoMenu
[[pdoMenu?
  &parents=`2`
  &level=`3`
  &tplOuter=`@INLINE <table class="table mb-0">[[+wrapper]]</table>`
  &tplInner=`@INLINE [[+wrapper]]`
  &tplParentRow=`@INLINE <tr><td><h4>[[+menutitle]]</h4></td></tr>[[+wrapper]]`
  &tpl=`tpl.AssortLine`
  &resources=`-379`
  &includeTVs=`articles`
]]tpl.AssortLine<tr>
    <td>[[+menutitle]]</td>
    <td>
    [[TVTable?
      &tv=`7`
      &id=`[[+id]]`
      &classname=``
      &getX=`2`
      &getY=`3`
    ]]
    </td>
</tr>            
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.