Показать товар только после выбора категории!?
        Добрый день!
В фильтре есть вызов (выбор категории):
Как можно реализовать так, что бы товары не показывались, пока пользователь не выберет хотя бы одну категорию!?
Спасибо!
    
    
                                                                                
            В фильтре есть вызов (выбор категории):
&filters=`resource|parent:parents`
&tplFilter.outer.resource|parent=`tpl.mFilter2.filter.select`
&tplFilter.row.resource|parent=`tpl.mFilter2.filter.option`
&suggestionsRadio=`resource|parent`Как можно реализовать так, что бы товары не показывались, пока пользователь не выберет хотя бы одну категорию!?
Спасибо!
Комментарии: 29
                Фильтр — это get запросы. Во внешнем чанке пропишите логический оператор на проверку get запроса категории            
                    
                Можно более развернутый ответ (может с каким то примером), не совсем понял что нужно сделать!            
                    
                В tplOuter:
                    {if $.get.parent}
	Тут то, что у Вас сейчас там выводится в tplOuter
{else}
	Выберите категорию в фильтре
{/if}            
                Имеешь в виду результаты вывода завернуть?
                    {if $.get.parent}
	<div id="mse2_results">
		[[+results]]
	</div>
{else}
	Выберите категорию в фильтре
{/if}            
                да            
                    
                Подскажи пожалуйста, я должен написать снипет, и в нем указать/перечислить мои id категорий, если ссылки получается у меня в виде: ?resource|parent=4 если да, то как в {if $.get.parent} указать свой снипет, не сильно разобрался еще с Fenom
Спасибо!
                    Спасибо!
{if $.get.parent}Этот кусок проверяет, есть ли в get запросе массив с parent. (указаны ли категории).Если все есть, то:
<div id="mse2_results">
		[[+results]]
	</div>Если нет:Выберите категорию в фильтре            
                Это я понял, я не пойму как мне указать тут {if $.get.parent} свои категории!?            
                    
                Свои категории для чего?
Объясни еще раз задачу, не могу понять
                    Объясни еще раз задачу, не могу понять
                Задача есть фильтр (mFilter2) — задача, пока пользователь не выбрал не одной категории в фильтре, то не показывать не одного ресурса!
т.е. по умолчанию фильтр показывает все товары со всех категорий, нужно все скрыть, а показать только после его выбрал категорию!
                    т.е. по умолчанию фильтр показывает все товары со всех категорий, нужно все скрыть, а показать только после его выбрал категорию!
                А причем тут свои категории?            
                    
                Потому что в фильтре есть фильтр по категориям:
                    &filters=`resource|parent:parents`Выбрал категорию, показали товары            
                Если у тебя get вида:
                    resource|parent=4То попробуй:
{if $.get['resource|parent']}            {if $.get['resource|parent']} так показывает все и сразу
                Что значит все и сразу? Вы тестируемую страницу можете скинуть?            
                    
                _https://svetliygrad.ru/res
Вызов:
                    Вызов:
[[!mFilter2?
    &parents=`3,4,5,6,7,8,9,10`
	&limit=`12`
	&element=`pdoResources`
	&paginator=`pdoPage`
	&pageLimit=`4`
	&includeTVs=`
	                tplH1,
	                tplImage,
	                price,
	                buildingverall,
	                buildingarea,
	                buildingsize,
	                tplProjectAction
                `
	&tvPrefix=`tv.`
	&tplOuter=`tplMSFilterOuterCat`
	&tpl=`tplMSearchRowCat`
	&fields=`parent:5`
	&sort=`
                resource|publishedon:desc
            `
	&filters=`
	            resource|parent:parents
            `
    &tplFilter.outer.resource|parent=`tpl.mFilter2.filter.select`
    &tplFilter.row.resource|parent=`tpl.mFilter2.filter.option`
    &suggestionsRadio=`resource|parent`
]]Вызов tplMSFilterOuterCat:<div class="row">
    <div class="categoty-project-margin"></div>
</div>
<div class="row">
    <div class="col-md-12">
        <h2>Выберите параметры дома, который нужен Вам</h2>
    </div>
</div>
<div id="mse2_mfilter" class="row">
    <div class="col-md-12">
	    <div class="mfiltercat">
    		<form action="[[~[[*id]]]]" method="post" id="mse2_filters">
    			[[+filters]]
    			[[+filters:isnot=``:then=`
			        <button type="submit" class="btn btn-success pull-right button-submit hidden">[[%mse2_submit]]</button>
    				<button type="reset" class="btn btn-default hidden button-reset">[[%mse2_reset]]</button>
    				<div class="clearfix"></div>
    			`]]
    		</form>
		</div>
    </div>
    <div class="col-md-12">
        <p>[[%mse2_filter_total]] <span id="mse2_total">[[+total:default=`0`]]</span></p>
        <p>Мы всегда ответим на все Ваши вопросы по телефону 
{1 | resource: 'tplPhone'} или перезвоним Вам</p>
    </div>
    <div class="col-md-12">
        <div class="row">
            {if $.get['resource|parent']}
            	<div id="mse2_results">
        		    [[+results]]
        		</div>
            {else}
            	Выберите категорию в фильтре
            {/if}
        	
		</div>
	</div>
	[[+page.nav:notempty=`
    <div class="col-md-12">
        <div id="mse2_pagination" class="categoty-project-pagination">
    		<ul class="pagination">
    			<li>[[!+page.nav]]</li>
    		</ul>
	    </div>
	</div>
    `]]
</div>            <div id="mse2_results">
          {if $.get['resource|parent']}
        	[[+results]]
            {else}
            	Выберите категорию в фильтре
            {/if}
</div>            
                Так заработало, то что нужно!
                    <div id="mse2_results">
          {if $.get['resource|parent']}
        	[[+results]]
            {else}
            	Выберите категорию в фильтре
            {/if}
</div>Спасибо!            
                только если кликнуть «сбросить», то все-равно все выводятся            
                    
                Да, действительно, печалька ((( Тут наверное только Василий поможет, или и то не вариант?            
                    
                У Василия своих дел хватает) я в этом более чем уверен =)            
                    
                тут я не спорю, я к тому, что он сможет подсказать, что можно сделать            
                    &parents=`{$.get['resource|parent']?'3,4,5,6,7,8,9,10':'99999999'}`            
                Так фильтр пропадает от слова «совсем» — вариант не подходит            
                    
                Ага, этот. Василий говорил, про зависимость  — тут она сыграла важную роль            
                    
                Предложенные выше способы (обернуть плейсхолдер результатов в условие) не будут нормально работать динамически, до перезагрузки страницы со сформированным гет-параметром.
Можете попробовать сделать сниппет-обертку для вызываемого в mFilter2 сниппета, который будет проверять наличие гет-параметров. В случае нахождения гет-параметра — передавать все scriptProperties в вызываемый сниппет, в противном случае возвращать пустоту.
Другой способ — расширить родной класс фильтрации, сформировав в нем нужные условия.
                    Можете попробовать сделать сниппет-обертку для вызываемого в mFilter2 сниппета, который будет проверять наличие гет-параметров. В случае нахождения гет-параметра — передавать все scriptProperties в вызываемый сниппет, в противном случае возвращать пустоту.
Другой способ — расширить родной класс фильтрации, сформировав в нем нужные условия.
                Я такое не осилю )))            
                    
                            Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.