Дмитрий Середюк

Дмитрий Середюк

С нами с 07 декабря 2014; Место в рейтинге пользователей: #211
Дмитрий Середюк
15 июля 2019, 00:11
0
Да не гони лошадей, человек захотел написал, ты захотел осудил, те кому это интересно прочтут! Везде так было так есть и так будет всегда.
Дмитрий Середюк
09 июля 2019, 22:21
0
Приветствую, если ли возможность поделиться решением?
Дмитрий Середюк
07 июля 2019, 18:53
0
Да конечно на 160 странице присутствует вызов mFilter2 только с параметром
'filterOptions' => '{"autoLoad":1}'
Вот пример сайта
Дмитрий Середюк
02 июля 2019, 21:18
0
Спасибо, но это не совсем то что нужно, вот хорошее решение, но его бы как то допилить, что бы не дочернюю категорию выводить, а к примеру нужного уровня глубины или же вовсе категорию определенного шаблона
Дмитрий Середюк
20 мая 2019, 11:15
1
0
{'!pdoPage@Bootstrap4' | snippet :[
    'element'        => 'msProducts',
    'tpl'            => 'tpl.msProducts.row',
    'parents'        => 2,
    'link'           => 1,
    'limit'          => 5,
    'master'         => $_modx->resource.id,
    'toPlaceholder'  => 'item'
]}

{if 'item' | placeholder}
    <h3>Сопутствующие товары:</h3>
    <div id="pdopage" class="card-deck">
        <div class="rows row justify-content-around">
            {'item' | placeholder}
        </div>
        {'page.nav' | placeholder}
    </div>
{/if}
Дмитрий Середюк
28 марта 2019, 16:54
0
Используйте одинарные кавычки
alt="{$file['alt'] | replace : '"' : ''}"
Дмитрий Середюк
17 марта 2019, 21:48
0
{'!msProducts' | snippet :[
    'parents'              => 6,
    'resources'            => -$_modx->resource.id,
    'where'                => ['Data.vendor'=>$vendor]|json_encode,
    'tpl'                  => 'msProducts_vendor_tpl',
    'toPlaceholder'        => 'item'
 ]}
{if 'item' | placeholder}
    <div class="container">
        <h3>Другие товары этого бренда<span>{'vendor.name' | placeholder}</span></h3>
        <div class="el_wrap">
            {'item'   | placeholder}
        </div>
    </div>
{/if}
Дмитрий Середюк
17 марта 2019, 15:20
0
Рабочий пример сайта, где реализовано
Все рубит ок!
Дмитрий Середюк
16 марта 2019, 23:22
4
+1
<form method="post" class="ms2_form form-inline" role="form">
    <input type="hidden" name="key" value="{$product.key}"/>
    <div class="number-item">
        <button class="minus">-</button>
            <input type="num" class="amout" data-amout="amout" data-min="1" data-max="9999" name="count" value="{$product.count}">
        <button class="plus">+</button>
    </div>
    <button class="btn btn-default" type="submit" name="ms2_action" value="cart/change"></button>
</form>

function itemCount(field){
    var fieldCount = function(el) {
        var
	    // Мин. значение
	    min = el.data('min') || false,
	    // Макс. значение
	    max = el.data('max') || false,
	    // Кнопка уменьшения кол-ва
	    dec = el.prev('.minus'),
	    // Кнопка увеличения кол-ва
	    inc = el.next('.plus');
	function init(el) {
	    if(!el.attr('disabled')){
		dec.on('click', decrement);
		inc.on('click', increment);
	    }
	    // Уменьшим значение
	    function decrement() {
		var value = parseInt(el[0].value);
		value--;
		if(!min || value >= min) {
		    el[0].value = value;
	         }
	    }
	   // Увеличим значение
	   function increment() {
		var value = parseInt(el[0].value);
		value++;
		if(!max || value <= max) {
		    el[0].value = value++;
		}
	    }
	}
	el.each(function() {
	    init($(this));
	});
    };
    $(field).each(function(){
        fieldCount($(this));
    });
 } itemCount('[data-amout="amout"]');
Дмитрий Середюк
01 марта 2018, 13:05
0
Спасибо!
Недавно столкнулся со схожей задачей и ваш способ отработал на ура!
Дмитрий Середюк
25 ноября 2017, 17:34
0
Попробуйте обрубить половину нижних параметров до parents, так сказать исключить, если не сработает пробуйте голый вызов сниппета с минимальными параметрами.
Дмитрий Середюк
25 ноября 2017, 17:26
1
+1
По сути если вы выводите опции через снипет msOptions, то там уже встроена проверка на пустоту, но данный снипет предназначен для полей с Автодополнением.

Для обычных полей используйте простую проверку
{if $field}
Поле field  = {$field}
{else}
Поле пусто.
{/if}
Дмитрий Середюк
25 ноября 2017, 17:07
0
Превьюшка то есть, ток это особенность плагина фоторамы.
Если отключите то увидите, что все ок.
Попробуйте вот так:
<a href="{$file['url']}" data-thumb="{$file['small']}" target="_blank"><img src="{$file['medium']}" /></a>
Дмитрий Середюк
22 сентября 2017, 23:24
0
Возможно вот так:

{$_modx->runSnippet('ms2Gallery',[
	'product'    => $id,
	'tpl'        => 'tpl.ms2Gallery',
	'limit'      => 1,
 	'offset'     => 1
])}

Параметр offset, изменяйте как вам нужно.
Дмитрий Середюк
14 сентября 2017, 03:33
+1
в чанке tplOuter:
<form action="{$_modx->makeUrl(160)}" method="post" id="mse2_filters" class="row">
	{$filters}
	<div class="col-md-12">
		{if $filters | isnot}
			<button type="submit" class="btn add hidden">{$_modx->lexicon('mse2_submit')}</button>
			<button type="reset" class="btn reset hidden">{$_modx->lexicon('mse2_reset')}</button>
		{/if}
	</div>
</form>

ну и не забываем про параметр, для вывода кнопки найти.
'filterOptions' => '{"autoLoad":0}',
Дмитрий Середюк
12 сентября 2017, 00:18
0
1. Да именно так;
2. Затем что так как щас есть оч долго грузит;
3. Цены от и до не нужно выводить.

Главное получить значения ТВшек продуктов, без лишних вызовов внутри чанка.

Пробовал шаманил вот по этому посту, получалось почти как надо, ток выводились категории домов, а нужны категория ЖК.
Дмитрий Середюк
11 сентября 2017, 22:41
0
Приведу весь вызов и попытаюсь снова объяснить.

Сам вызов:

<div id="pdopage">
	<div class="rows">
	{$_modx->runSnippet('pdoPage', [
		'limit'              => 21,
		'pageLimit'          => 7,
		'parents'            => $_modx->resource.id,
		 'where'              => '{"template:=": 12}',
		'ajaxMode'           => 'default',
		'tpl'                => 'tpl.object.at.home',
		'sortdir'            => 'ASC',
		'includeTVs'         => 'to_time_delivery_h,metro_h,developers_r,classl_h,address_r',
		'tvPrefix'           => '',
		'tplPageWrapper'     => '@INLINE <ul class="pagination">{$prev}{$pages}{$next}</ul>',
	])}
	</div>
	{$_modx->getPlaceholder('page.nav')}
</div>

В данном вызове отбираю все шаблоны с id 12, то есть все категории 1го уровня, тем самым до самих Свойств и ТВшек товара добраться не выходит.

Поэтому в чанке tpl.object.at.home, приходится городить вот такие вот конструкции, для вывода ТВ.

{$_modx->runSnippet('pdoResources', [
	'parents'          => $id,
	'limit'            => 1,
	'tvPrefix'         => '',
	'includeTVs'       => 'metro_h',
	'tpl'              => '@INLINE {$metro_h}',
	'toPlaceholder'    => 'metro'
])}
{if $_modx->getPlaceholder('metro')}
	<li><img src="/assets/templates/app/img/base/icons/cat_itm_metro.png" alt="" /><span>{$_modx->getPlaceholder('metro')}</span></li>
{/if}

Что не есть хорошо. Вот ссылка на сам каталог.
Дмитрий Середюк
11 сентября 2017, 18:07
0
Нет товары лежат в разных категориях, в соответствие со структурой выше.
Если в 2х словах необходимы выводить категории ур.1 и подтягивать Значение ТВ хотя бы 1го товара.
Категории ур.2 не нужно выводить.
Дмитрий Середюк
15 августа 2017, 14:52
0
Только все оказалось банально проще!
<form action="{$_modx->makeUrl(160)}" ..