Вопросы

PdoResources {$content} выводит доп. поля текущей страницы.

Доброго дня. На странице имеется такой вызов:
{'pdoResources' | snippet : [
            'parents' => '0',
            'resources'=>$id,
            'limit' => '8',
            'includeTVs' => 'image',
            'prepareTVs'=>'1',
            'tvPrefix' => '',
            'includeContent' => 1,
            'tpl' => '@INLINE
                {$content}
            ',
 ]}
В контенте страницы имеется вывод дополнительных полей, вроде таких:
{$_modx->resource.image}
{$_modx->resource.pagetitle}
{$_modx->resource.menutitle}
и т.д.
pdoResources отдаёт контент страниц, но вместо вывода доп. полей вызываемых ресурсов, отдаёт доп. поля текущей страницы, на которой вызывается сниппет.

Подскажите, решаемо ли это, куда копать, или решится только написанием стороннего сниппета?
Никита
07 февраля 2021, 11:59
modx.pro
749
0

Как в плагине получать значение input или data?

Добрый день. Подскажите, как в плагине получать значение input или data у элемента из чанка?
Вадим
06 февраля 2021, 13:19
modx.pro
1 045
0

Почему не работают колбэки minishop2?

Здравствуйте!

Уже второй день вожусь. Пытаюсь вызвать pop-up окно при успешном добавлении товара в корзину, но ничего не получается. Решил просто протестировать отслеживание колбэков таким скриптом:
miniShop2.Callbacks.Cart.add.response.success = function (response) {
	console.log("Работает!");
};
Результат — 0.

После просто в консоль браузера вставил этот скрипт, нажал на кнопку добавления товара в корзину и Вуа-ля! Все заработало!

Соответственно вопрос: куда и как писать свой скрипт, чтобы он работал? Я и в шаблоне ставил его, и по подсказке в кастомном скрипте minishop2, который переопределил в системных настройках. НИЧЕГО НЕ РАБОТАЕТ!

помогите решить эту проблему пожалуйста
Lori
06 февраля 2021, 08:03
modx.pro
937
0

Округление цены до тысячных в Minishop2?

Нужно в minishop2 сделать округление цены до тысячных. например 1.431
Пробовал уже все, что мог)) добился того, что цену вписать могу, а после сохранения, он сам округляет её((
В product.common.js пробовал:
price: {
                xtype: 'numberfield',
                decimalPrecision: 4,
                description: '<b>[[+price]]</b><br />' + _('ms2_product_price_help')
            },
decimalPrecision: 4 — изменил на 4

ms2_price_format — менял — "[5, ",", " "]"

В getlist.class.php тоже пробовал менять, как в этом "посту"

Как же победить?). Если создавать свое поле, оно явно не будет работать в корзине корректно.
Дмитрий
05 февраля 2021, 23:51
modx.pro
1 274
0

minishop2 is not defined как решить

Здравствуйте!

Пытаюсь вызвать модальное окно после успешного добавления товара в корзину. Код скрипта:
miniShop2.Callbacks.Cart.add.response.success = function() {    
    $( "#shopModal" ).show();    
    $('.close').click(function(){
           $('#shopModal').hide();
        });    
    $(document).click(function(event) {
        if ($(event.target).closest(".modal-dialog").length) return;
        $("#shopModal").hide("slow");
        event.stopPropagation();
      });
    }
Но ничего не происходит. Вижу в консоли ошибку Uncaught ReferenceError: miniShop2 is not defined.
Пытался подключить скрипт minishop2 перед моим скриптом — это ничего не дало, кроме как двойного вызова jgrowl оповещения об успешном добавлении в корзину.

Как решить эту проблему?
Lori
05 февраля 2021, 14:25
modx.pro
1 225
0

Криво работает ползунок цены в mFilter2, разноброс значений

Заметил, что в в фильтре, а именно в ползунке — идет дикий разноброс значений цены. Не могу понять в чем причина, возможно их как то можно отсортировать? в Документации не нашел, либо я слепой)



[[!mFilter2?
    &parents=`[[*id]]`
    &paginator=`pdoPage`
    &tplPageLastEmpty=`@INLINE`
    &class=`msProduct`
    &element=`msProducts`
    &tpl=`msProducts.row`
    &setMeta=`1`
    &sort=`ms|price:asc`
    &limit=`20`
    &filters=`
        ms|price:number,
        msoption|area:default`
    &aliases=`
        ms|price==price,
        msoption|area==area`
    &tplFilter.row.price=`tpl.mFilter2.filter.number`
    &tplFilter.outer.price=`tpl.mFilter2.filter.slider`
]]
Дмитрий
05 февраля 2021, 08:39
modx.pro
1 120
0

Получить модификации опции в pdoResources

Добрый день.

Модно ли каким-то образом получить модификации продукта определённой опции в вызове pdoResources?
Пытался через LeftJoin, но никак не получилось…

{'!pdoResources' | snippet : [
    'class' => 'msProduct',
    'where' => [
    	"parent" => 3015,
    	"class_key" => "msProduct",
	],
    'limit' => 1,
    'leftJoin' => [
    	"Mods" => [
                "class" => "msopModification",
                "on" => "Mods.rid = msProduct.id"
            ]
    ],
    'select' => '{
    	"Mods": "*",
        "msProduct": "id,parent,pagetitle",
    }',
    'showLog' => 1,
    'tpl' => '',
]}
Помогите пожалуйста.
Андрей
04 февраля 2021, 22:21
modx.pro
989
0

Общее число зарегистрированных пользователей

Здравствуйте. Как можно вывести общее число пользователей группы Users? Как здесь
Georg
04 февраля 2021, 16:27
modx.pro
865
0

Почему-то не работает плагин на msOnBeforeAddToCart

Добрый день.
Пишу плагин который дает 5% скидки на определенную группу товаров. Вешаю его на событие msOnBeforeAddToCart.
В результате одна часть работает, вторая нет… хотя через print_r выводит верную цену, но в корзину все равно попадает цена без скидки… Помогите почему так происходит

<?php
$plamgasCatsId = 10535;
$target = 6;

switch ($modx->event->name) {
	
	case 'msOnBeforeAddToCart':
    
	$products = $modx->getObject('msProduct', $product->get('id'));
	

    		if ($products->get('parent') == $plamgasCatsId) {
    			
    			$price_product_id = $products->get('price_id_product');
				$para = $products->get('para')[0];

    			foreach ($price_product_id as $product_id) {
					$res = $modx->getObject('msProduct',$product_id);
						if ($res) {
							$price_sostav = $res->get('price');
							$price_sum += $price_sostav;
							if ($para[0] == 1) {
								$price_sum = $price_sum*2;
							}
						}
				}
				
				$price_sale = $price_sum * 0.95;
    			$product->set('price', $price_sale);
				//$product->set('price', $price_sum);

    			
    		}
    		
    		else {
    			
    			$pids = $modx->getParentIds($products->get('id'), 10, array('context' => 'web'));
	    		
	    		if (in_array($target, $pids)) {
	    			
	    			$price_sale = $products->get('price') * 0.95;
// Вот эта строка не работает, все остальное работает корректно.
	    			$product->set('price', $price_sale);
	    		}
	    		
    		}
    		
    		
    
    break;
    
}
Андрей
04 февраля 2021, 15:07
modx.pro
1 024
0

Как отсортировать MSOPTIONPRICE2 по цене от большего к меньшему?

Суть такая, сейчас у меня опции продукта выводятся в алфавитном порядке. Отключение сортировки не помогает. Хотелось бы как-то отсортировать их по цене в порядке убывания. Кто сталкивался?
Petr
04 февраля 2021, 14:09
modx.pro
661
0