Отображение единиц измерения в mfilter2

Добрый день), как сделать отображение единиц измерения в mFilter2 возле чекбоксов?

Пробовал данный способ: https://modx.pro/help/6461, но там так и не разобрался в какой чанк пихать и куда конкретно((
Дмитрий
03 февраля 2021, 11:38
modx.pro
472
0

Комментарии: 9

Артур Шевченко
03 февраля 2021, 12:19
+1
Вот в этот чанк пихайте &tplFilter.row.default
    Дмитрий
    03 февраля 2021, 12:39
    0
    Спасибо, помогло!)
      Артур Шевченко
      03 февраля 2021, 12:45
      0
      И как вы вывели? У меня через measure_unit не выводится.
        Дмитрий
        03 февраля 2021, 12:49
        0
        Сниппет: filter_unit
        <?php
        if(strlen($input) == 0) return '';
        $q = $modx->newQuery('msOption', array('key' => $input));
        $q->select(array('msOption.measure_unit'));
        $q->limit(1);
        if ($q->prepare() && $q->stmt->execute()) {
        	while ($option = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
        		if (!empty($option['measure_unit'])) return ' ' . $option['measure_unit'];
        	 	else return '';
        	}
        } else return '';
        Чанк: tpl.mFilter2.filter.checkboxстрока label, смотреть в конце
        <div class="form-check custom-checkbox form-check-inline">
        <input type="checkbox" name="[[+filter_key]]" class="custom-control-input" id="mse2_[[+table]][[+delimeter]][[+filter]]_[[+idx]]" value="[[+value]]" [[+checked]] [[+disabled]]>
        <label class="custom-control-label" for="mse2_[[+table]][[+delimeter]][[+filter]]_[[+idx]]" class="[[+disabled]]">[[+title]] [[!filter_unit?input=`[[+filter]]`]]</label>
        </div>
        + сделал чистку кеша и сразу заработало))
Артур Шевченко
03 февраля 2021, 12:40
+1
Я делал так
В чанке tplFilter.row.default
{set $key = $filter_key | split: '|'}
{set $unit = $key[1] | getOptionUnit}
Сниппет getOptionUnit
<?php
if(strlen($input) == 0) return '';
$q = $modx->newQuery('msOption', array('key' => $input));
$q->select(array('msOption.measure_unit'));
$q->limit(1);
if ($q->prepare() && $q->stmt->execute()) {
	while ($option = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
		if (!empty($option['measure_unit'])) return ' ' . $option['measure_unit'];
	 	else return '';
	}
} else return '';
    Роман
    03 февраля 2021, 12:52
    0
    Сделайте проще, напишите «Мощность, Вт.»
      Дмитрий
      03 февраля 2021, 12:55
      0
      Да, были такие мысли)) но в данном случаем мне не нужно отобраать количество товаров, которое в скобках указано (в исходном чанке чанке):
      <sup>[[+num]]</sup>
      А пустые цифры вид не имеют)), поэтому появился такой каприз)
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      9