Денис Усачев

Денис Усачев

С нами с 26 июля 2016; Место в рейтинге пользователей: #823
Максим
21 февраля 2018, 13:24
2
0
Ну как-то так:
'where' => '{"Data.popular:=":1, "OR:Data.new:=":1}'
Или так:
'where' => ["Data.popular:=":1, "Data.new:=":1]
Володя
14 февраля 2018, 11:09
3
+1
чтобы выводились только те фото, которые указаны в галерее данной модификации, а остальные фото не отображались.
Для этого можно написать немного кода, например
$(document).on('msoptionsprice_product_action', function (e, action, form, r) {
    if (action == 'modification/get' && r.success && r.data) {
        var m = r.data.modification || {};

        var thumbs = m.thumbs || {main:['default.png']};
        var fotorama = $(form).closest(msOptionsPrice.Product.parent).find('.fotorama').data('fotorama');

        if (fotorama) {
            var images = [];
            (thumbs.main || []).filter(function (href) {
                images.push({img: href, caption: ''})
            });
            fotorama.load(images);
        }
    }
});
рабочий пример тут s6200.h3.modhost.pro/6/12010.html
Вячеслав Варов
28 января 2018, 19:20
3
0
Вот рабочий пример
<div id="pdopage" class="catalog-line-core">
			{$_modx->runSnippet('!mSearch2', [
    				'returnIds' => 1, 
 				'limit' => 0,
    				'toPlaceholder' => 'result'
			])}
			{if $_modx->getPlaceholder('result')==''}
				По данному запросу ничего не найдено, попробуйте исправить запрос.
			{else}
				[[!pdoPage?
  					  &element=`msProducts`
  					  &parents=`0`
       					  &resources=`[[+result]]`
					  &limit=`9`
				]]
          </div>
			[[!+page.nav]]
{/if}
Андрей
23 января 2018, 19:08
3
+1
Можно попробовать так заколхозить :)

{'!pdoMenu' | snippet:[
	'parents' => 0,
	'level' => 2,
	'tplOuter'=>'@INLINE <ul id="menu" class="clearfix">{$wrapper}</ul>',
	'tplInner'=>'@INLINE <div class="sub-menu-wrap"><ul>{$wrapper}</ul></div>'
	'tpl'=>'tpl.megamenu'
]}

tpl.megamenu:
{if $id == 2}
	<li class="dropdown has-megamenu"><a href="#">{$menutitle}</a>
		<div class="sub-menu-wrap mega-menu flex-row">
			
			{'pdoMenu' | snippet : [
				'parents'=>$id,
				'level'=>2,
				'outerTpl'=>'@INLINE {$wrapper}',
				'innerTpl'=>'@INLINE <ul>{$wrapper}</ul>',
				'tpl'=>'@INLINE <div class="mega-submenu"><h5 class="mega-title"><span class="cicon-heating"></span>{$menutitle}</h5>{$wrapper}</div>',
				'tplInnerRow'=>'@INLINE <li><a href="{$link}">{$menutitle}</a></li>'
			]}
			
		</div>
	</li>
{elseif $id == 3}
	<li class="dropdown"><a href="{$link}">{$menutitle}</a>{$wrapper}</li>
{else}
	<li {$classes}><a href="{$link}" {$attributes}>{$menutitle}</a>{$wrapper}</li>
{/if}

В проверке соответственно подставить свои id нужных страниц.

p.s. Вызов на Fenom, для него должна быть включена настройка — Использовать Fenom на страницах, или перепишите на обычный синтаксис.
Aleksandr Huz
19 января 2018, 12:23
1
0
Написать сниппет или модификатор, если используется fenom.
Самый простой:
<?php
$arr= explode(',',input);
$result = [];
foreach($arr as $val){
    swicth ($val) {
        case: 'Лучшие': $result[] = 'best'; break;
        case: 'Аеро': $result[] = 'aero'; break;
        case: 'Все': $result[] = 'all'; break;
        default: $result[] = $val; 
    }
}
$output = implode(",", $result);
return $output;
Вызов:
[[!snippet? &input=`[[+tv.name]]`]]
Андрей
05 января 2018, 13:12
1
0
{$parent | resource : 'pagetitle'} - заголовок
{$parent | url} - ссылка
Володя
16 ноября 2017, 13:23
1
0
феном приходит на помощь… В чанке продукта вверху добавить
{if $tmp = $.request['msop|price']|split}
    {var $m = '!msOptionsPrice.modification'|snippet:[
    'product' => $id,
    'limit' => 1,
    'return' => 'data',
    'where' => ["msopModification.price >= "~$tmp[0]~" AND msopModification.price <= "~$tmp[1]],
    ]}
    {set $m = $m[0]}
    {if $m.price?}{set $price = $m.price}{/if}
{/if}
Володя
15 ноября 2017, 18:01
1
+1
Что за Array; 0, Array; 1 и т.д. в корзине?

подставьте в чанк корзины в цикл продуктов
{$product.options|print}
и выясните что там.
возможно это поможет modx.pro/components/9730/#comment-80706
Владимир
03 ноября 2017, 19:22
1
0
еще такой вопрос:
пытаюсь сделать автоматическую конвертацию цены в долларах в гривну на сайте.
создал плагин «currency», с таким содержимым:
<?php
switch($modx->event->name) {
    case 'msOnGetProductPrice':
        $values = & $modx->event->returnedValues;
        $values['price'] = round($price * 27);
        break;
}
и добавил его к событию msOnGetProductPrice в плагине miniShop2
приоритет поставил выше плагина msOptionsPrice (11)

на сайте цена меняется, но когда переключаю цену с помощью модификаторов, она не меняется (( как ее можно заставить меняться в модификаторах?