Андрей П

Андрей П

Был в сети 31 декабря 2021, 23:16
Заказы не принимаю
Володя
Володя
пример вывода всех тегов
<!-- tags -->
{set $tags = $_modx->runSnippet('pdoResources',[
'class' => 'msProductOption',
'sortby' => 'value',
'sortdir' => 'ASC',
'where' => json_encode([
'key' => 'tags',
'value:!='=> 'undefined'
]),
'select' => 'DISTINCT(msProductOption.value) as id, "tag" as class_key',
'limit' => 0,
'return' => 'json'
])}
{set $tags = $tags | fromJSON}
{if count($tags)}
	<ul class="uk-float-right uk-navbar-nav tm-header-tags">
		<li data-uk-dropdown="" aria-haspopup="true" aria-expanded="false">
			<a>{'msfbshop_tags' | lexicon}</a>
			<div aria-hidden="true" class="uk-dropdown uk-dropdown-navbar uk-dropdown-bottom">
				<ul class="uk-nav uk-nav-navbar">
				{foreach $tags as $row}
					<a href="{$row.link}">{$row.id}</a>
				{/foreach}
				</ul>
			</div>
		</li>
	</ul>
{/if}
Володя
Володя
решение на скорую руку


s6200.h3.modhost.pro/katalog/11991.html
$(document).on('msoptionsprice_product_action', function (e, action, form, r) {

	if (action == 'modification/get' && r.success && r.data) {
        var m = r.data.modification || {};
    	var o = r.data.options || {};
    	
    	if (m.id) {
    	    return;
    	}
    	
    	var set = false;
    	
    	$('.msoptionsprice-modifications').find('.ms2_product').each(function () {
    	
    	    var hidden = true;
    	    var w = $(this);
    	    var f = w.find('form');
    	    
    	    for (key in o) {
				if (f.find('input[name="options['+key+']"][value="' + o[key] + '"]').length) {
    	            hidden = false;
    	        }
			}
			
			if (hidden) {
			    w.hide(); 
			}
			else {
			    w.show(); 
			}
			
			w.removeClass('active');
			
		}).each(function () {
		    var w = $(this);
    	    var f = w.find('form');
    	     
			if (!set && w.is(":visible")) {
		        set = true;
		        
		        w.addClass('active');
		        msOptionsPrice.Product.action('modification/get', f[0]);
		    }
		   
		});
	
    }
});

$(document).on('click', '.msoptionsprice-modifications div.ms2_product', function () {
  
    var w = $(this);
    var f = w.find('form');
    	    
    w.parent().find('.ms2_product.active').removeClass('active');
   
    w.addClass('active'); 
    msOptionsPrice.Product.action('modification/get', f[0]);
    
});

</script>

<style>
.msoptionsprice-modifications .ms2_product {
    cursor: pointer;
}

.msoptionsprice-modifications .ms2_product.active {
    border: 3px solid #559ed1;
}
</style>
Alexander V
Alexander V
В новом Minishop2 я так сделал

<img src="{$files.0.url}" alt="" class="uk-thumbnail uk-margin-small-bottom">
<div data-uk-slideset="{ animation: 'scale', medium: 3 }">
    <div class="uk-slidenav-position">
        <ul class="uk-grid uk-grid-small uk-slideset uk-margin-bottom">
			{foreach $files as $file}
			<li>
			    <a href="{$file['url']}" target="_blank" data-uk-lightbox="{ group:'my-group' }">
			        <img src="{$file['small']}" alt="" title="" class="uk-thumbnail">
			    </a>		
			</li>

			{/foreach}
        </ul>
    </div>
    <ul class="uk-slideset-nav uk-dotnav uk-flex-center">...</ul>
</div>
.
V
V
читал уже, нашел бы решение — не спрашивал бы

может вы подскажите?

получаю с тв строку, допустим «wedding», как вывести значения из массива?

{var $type = $_pls['tv.article_type'] | strip : true}
            {set $array = [
                $wedding = [
                    "title_text" => "Свадьба",
                    "link_text" => "Свадьбы",
                    "page_id" => "108",
                ],
                $birthday = [
                    "title_text" => "День рождения",
                    "link_text" => "Дни рождения",
                    "page_id" => "109",
                ]
            ]}

{$array.$type.page_id}
Виталий Серый
Виталий Серый
Іван Клімчук
Іван Клімчук
Довольно просто, если в целом.
Вот пример моей формы с фильтрами и кнопкой.
<form action="" method="post" id="mse2_filters">
    {if $filters != 'Нечего фильтровать'}
        {$filters}
        <div class="filter">
            <main>
                <div class="txt-center">
                    <button type="reset" class="button-outline">Сбросить фильтры</button>
                    <button type="submit" class="hidden">[[%mse2_submit]]</button>
                </div>
            </main>
        </div>
    {else}
        <div class="centered">
            <p>
                
                {$filters}
            </p>
        </div>
    {/if}
</form>