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}
Мне нужно в этот цикл подставить соответствующие значения из таблицы, т.е. сравнивать размеры по названию и, при совпадении, подставлять параметр из определенной колонки таблицы.Как это можно реализовать?
Комментарии: 12
Компонент 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
Добрый день, а функционал объединения ячеек планируется? Или может быть уже есть? Не нашла.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.