Вопросы

граббинг товаров со стороннего сайта

кто подскажет как реализовать простой граббинг товаров о стороннего сайта?

тоесть есть пример интернет магазина 10к товаров

какое дополнение может справиться без особых сложностей с такой задачей как забирать товары с шопа на другой cms и инсертить товары в ms2 без xml, csv в свой шоп на ms2 указывая с какого сайта инсертить

спасибо за советы заранее
Кирилл
08 февраля 2021, 12:04
modx.pro
803
0

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
809
0

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

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

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

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

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

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

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

помогите решить эту проблему пожалуйста
Lori
06 февраля 2021, 08:03
modx.pro
1 023
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 377
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 300
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 233
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
1 082
0

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

Здравствуйте. Как можно вывести общее число пользователей группы Users? Как здесь
Georg
04 февраля 2021, 16:27
modx.pro
951
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 110
0