Всего 125 657 комментариев

Артур Шевченко
05 февраля 2021, 17:04
-1
Напишите свой сниппет.
Андрей
05 февраля 2021, 16:59
0
не, связи, модификации это все не то. Администрировать с ума сойдете. Представьте что тканей порядка 10к… И они довольно часто переходят из категории в категорию… И это все надо сделать по всем товарам.
Поэтому весь вопрос в том, как получить модификации, все остальное работает правильно. Может не через pdoResources делать можно а иначе, если есть мысли буду признателен.
Артур Шевченко
05 февраля 2021, 16:55
-1
Понятно, если структуру оставлять такую, то тогда не получится использовать модификации, а если использовать модификации, то надо менять структуру. Другими словами если использовать модификации, то Диван это товар, ткань это опция, причём тканей должно быть столько сколько есть комбинаций ткань+категория ткани, что скорее всего будет неудобно администрировать. Поэтому надо писать свою логику. Я бы связал диван и ткани через Связи дальше написал бы js который формировал как бы комплект товаров и при добавлении в корзину в плагине менял стоимость.
Sergey
05 февраля 2021, 16:24
0
UPD.
Прошу прощения, упустил параметр
форма продукта — msoptionsprice-product
прописал его, все отлично работает.
Sergey
05 февраля 2021, 16:12
0
Здравствуйте, скажите пожалуйста, в чем может быть причина?
Инициализация прописана, классы для смены значения прописаны.
В консоли ошибок нет, в «Журнале ошибок» в MODX тоже ошибок нет, при переключении не обновляется значения
Nik
Nik
05 февраля 2021, 15:45
0
Согласен, есть и минусы в этом. Но точно также можно продизлайкать/пролайкать и «свежеиспеченные» комменты, для накрутки.
Дима Сайт old см. профиль
05 февраля 2021, 15:36
0
Отключение возможности менять карму это мне кажется необходимость, избавляющая от накруток и перегруза модератора. Чтобы некто не мог попросить коллег на новой работе пролайкать все мои старые комменты и продизлайкать вон того парня. Я бы это не трогал, хоть есть и побочный эффект который вы описали.
Nik
Nik
05 февраля 2021, 15:30
+7
Плохо (на мой взгляд) что нельзя добавить плюсик в карму по прошествии времени. Например я нашел подсказку для своей проблемы в решении, которое было опубликовано много раньше чем я здесь появился, потянулась рука для плюсика в карму — а стрелочка уже неактивна…
Андрей
05 февраля 2021, 14:52
0
1. Товар Диван Амстердам. У него есть опция Категории тканей, со значениями: Категория 1, Категория 2, Категория 3 (для примера)
2. Есть в дереве ресурсов такая структура, как вы писали выше:
— Категория-1
----Ткань-1
----Ткань-2
----Ткань-3
— Категория-2
----Ткань-4
----Ткань-5
----Ткань-6
— Категория-3
----Ткань-7
----Ткань-8
----Ткань-9
Товар-ткань в данном случае лишь для удобства структурирования — он может быть и простым ресурсом. Главное — внутри него есть галерея с фото тканей.
3. При клике в карточке товара Дивана по кнопке выбора ткани открывается модальное окно в которой в виде табов подгружаются категории в каждом из табов идут галереи из ресурсов, дочерних к данной категории.

Пример в скринах
prnt.sc/ye2m65
prnt.sc/ye2o7m
prnt.sc/ye2q5p
Артур Шевченко
05 февраля 2021, 14:42
-1
И у одной ткани — товара — может быть до 8 значений в опции Категория ткани, так?
Андрей
05 февраля 2021, 14:41
0
Значение опции = Наименованию категории в дереве
Артур Шевченко
05 февраля 2021, 14:38
-1
Это я понял, что показывает опция? отношение к категории в дереве?
Андрей
05 февраля 2021, 14:34
0
В дереве категории — это ресурсы типа Категория товаров.
В опции — это опция типа «Список с автодополнением»
Артур Шевченко
05 февраля 2021, 14:33
-1
Вы не ответили на мой вопрос, а это важно для понимания, Категории в дереве и Категории в опциях это разные сущности?
Andrei
05 февраля 2021, 14:19
0
Здесь написано много хороших вещей для доработки. Меня бы как владельца магазина, который иногда что-то дорабатывает, очень интересует вот что:
1. Нормальный Поиск. Старый был тоже «такое», но там были сортировки, вес и тп. Сейчас вообще аут
2. Здесь собрано много крутейших готовых решений и просто каких-то небольших примеров и кусочков, которые нужно «условно» валидировать.
3. Ну и фриланс фрилансом, но в разделе Работа как-то переделать саму модель. Вы ведь сами на этом можете зарабатывать, как на комиссии, так и решениями. Но должен быть как-то рейтинг и у заказчика, и у специалиста. Чтоб были гарантии результата
Андрей
05 февраля 2021, 14:12
0
Выкладываю свой полный код, помогите понять почему msOptionPrice своим плагином перебивает мой, приоритеты у моего стоят выше

<?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;
    			
    		}
    		
    		else {
    			
    				$pids = $modx->getParentIds($products->get('id'), 10, array('context' => 'web'));
	    			if (in_array($target, $pids)) {
	    				$price_sale = $product->get('price') * 0.95;
	    			}
	    			
	    		
    		}
    		
    		$product->set('price', $price_sale);
    
    break;

}
Henk Everts
05 февраля 2021, 13:42
+4
Привет друзья!

We're going to investigate how we can add realtime Russian translations to the livestream of the event. Please contact me if you have any ideas on this or when you want to offer your help: henk@sterc.com

Привет из Нидерландов!
Андрей
05 февраля 2021, 13:39
0
Принцип такой:
Свой модификатор обходит значения опции и по названию находит ID ресурсов.
Далее из них формируются табы
{var $tabs = $_modx->getResources(
                        [
                            'published' => 1,
                            'deleted' => 0,
                            'id:IN' => $_modx->resource.color|getPageIDsByPagetitle,
                        ],
                        [
                        'class_key' => 'msCategory',
                        'sortby' => 'menuindex',
                        'sortdir' => 'ASC',
                        'limit' => 0,
                        'select' => 'id,pagetitle'
                        ]
                    )}

                    <ul class="fabric-tabs">
                        {foreach $tabs as $tab}
                            <li class="tab-link {$tab@index == 0 ? 'current' : ''}" data-tab="tab-{$tab.id}">{$tab.pagetitle}</li>
                        {/foreach}
                    </ul>
А уже внутри таба выдергиваются ресурсы (ткани) и их галереи
Вот кусок кода, в котором немного иная логика — ценник единый на все товары и поэтому задается в TV поле категории. А мне нужно сейчас перевести ее на модификации
{if $.post.id != ''}
    {'!pdoResources'|snippet:[
        'parents' => $.post.id,
        'class' => 'msProduct'
        'where' => ['class_key' => 'msProduct'],
        'limit' => 0,
        'leftJoin' => [
            'TVCategory' => [
                'class' => 'modTemplateVarResource',
                'on' => 'msProduct.parent = TVCategory.contentid AND TVCategory.tmplvarid = 6',
            ],
            "fabricType" => [
                "class" => "msProductOption",
                "on" => "fabricType.key = 'tkan_type' and fabricType.product_id = msProduct.id"
            ]
        ],
        'select' => 'msProduct.id,parent,pagetitle,TVCategory.value as category_price, fabricType.value as fabric_type',
        'tpl' => '@INLINE
            <div class="select-color-gallery" data-type="{$fabric_type}">
                {$category_price|setPlaceholder:"category_price"}
                {"!msGallery"|snippet:[
                    "product" => $id,
                    "tpl" => "tpl.selectFabric",
                ]}
            </div>
        ',
    ]}
{/if}
Александр
05 февраля 2021, 13:38
0
Спасибо, воспользовался ссылкой, все встало корректно и работает.