Станислав

Станислав

С нами с 25 марта 2017; Место в рейтинге пользователей: #260
Станислав
27 января 2019, 19:44
0
А можно пример такого решения?
Станислав
05 января 2019, 23:35
0
Идея хорошая!
сам постоянно сталкиваюсь с подобными проблемами, но как оказалось многие стали использовать еще и Битрикс 24 для ведения клиентов, а у Б24 и 1с последних версий нет обратной совместимости, в ТП сказали что проблема на стороне битрикс 24, было до НГ, пока ответа по решению не последовало, ждем. При большом количестве товаров начинают использовать СРМ для более эффективной работы менеджеров и самого сайта…
Станислав
24 декабря 2018, 11:10
0
Смысл этого условия, что бы выводилась вся техника, даже без остатка, с карточкой техника и выводились запчасти с карточкой запчасти, только с остатком
Станислав
16 ноября 2018, 14:39
0
Еще у этого скрипта есть недостаток, при обновлении страницы, пропадают доп поля и ссылка с кнопки посмотреть все, может есть какое то решение?
Станислав
16 ноября 2018, 00:54
0
Решение удалось найти, добавлена ссылка на категорию при выборе техники, только может код кто подскажет как оптимизировать
function Selected(a) {
            var label = a.value;
            var smy = document.getElementById("resource|parent_0");
            var assilka = document.getElementById("go");

            if (label==64446) {
                document.getElementById("pit").style.display='block';
                document.getElementById("msoption|growth_0").value='';
                document.getElementById("moto").style.display='none';
                document.getElementById("msoption|wheelsize_0").value='';
                document.getElementById("kvadr").style.display='none';
                document.getElementById("msoption|age_0").value='';
                assilka.href = "/katalog/pitbajki/";
            } else if (label==64712) {
                document.getElementById("pit").style.display='none';
                document.getElementById("msoption|growth_0").value='';
                document.getElementById("moto").style.display='block';  
                document.getElementById("msoption|wheelsize_0").value='';
                document.getElementById("kvadr").style.display='none';
                document.getElementById("msoption|age_0").value='';
                assilka.href = "katalog/motocziklyi/";
            } else if (label==64711) {
                document.getElementById("pit").style.display='none';
                document.getElementById("msoption|growth_0").value='';
                document.getElementById("moto").style.display='none';
                document.getElementById("msoption|wheelsize_0").value='';
                document.getElementById("kvadr").style.display='block';
                document.getElementById("msoption|age_0").value='';
                assilka.href = "/katalog/kvadrocziklyi/";
            } else {
                document.getElementById("pit").style.display='none';
                document.getElementById("msoption|growth_0").value='';
                document.getElementById("moto").style.display='none';
                document.getElementById("msoption|wheelsize_0").value='';
                document.getElementById("kvadr").style.display='none';
                document.getElementById("msoption|age_0").value='';
                assilka.href = "/katalog/";
            }
            
        }
       $("button[type='reset']").closest('form').on('reset', function(event) {
            document.getElementById("pit").style.display='none';
            document.getElementById("moto").style.display='none';
            document.getElementById("kvadr").style.display='none';  
       });
Работает в mfilter2
Станислав
22 октября 2018, 16:16
0
Да для мой склад(ваш компонент, вы же его и исправляли не так давно), как то его надо поменять, но с синтаксисом проблема, может конечно он совсем не подходит
Станислав
22 октября 2018, 15:45
0
есть вот такой плагин на событие mSyncBeforeProductOffers но он не работает
<?php
/**
   * @var modX             $modx
   * @var msProduct        $resource
   * @var SimpleXMLElement $xml
   * */

// опция - склад
$stockStore = [
    'butovo_count' => 'Бутово',
    'postav_count' => 'Склад поставщик',
    'osn_count'    => 'Основной склад',
    'jelezo_count' => 'Планета Железяка',
];

if ($modx->event->name === 'mSyncOnProductOffers') {
    /** @var array $scriptProperties */
    /** @var Sync $Sync */
    $corePath = $modx->getOption('sync_core_path', null,
        $modx->getOption('core_path', null, MODX_CORE_PATH) . 'components/msync/');
    if (!$Sync = $modx->getService('msync', 'mSync', $corePath . 'model/msync/',
        ['core_path' => $corePath])
    ) {
        return;
    }
    $service = 'msync';
    if (!$Sync->loadSyncTools($service)) {
        return;
    }

    /** @var xPDOObject $object */
    $object = $modx->getOption('object', $scriptProperties, null, true);
    if (!$object OR !$Sync->isSyncObject($object, $service)) {
        return;
    }
    $syncType = $object->get('sync_type');
    $syncAction = $object->get('sync_action');
    $syncData = $object->get('sync_data');
    if ($syncType === 'product' AND $syncAction === 'import') {
        $response = $Sync->SyncTools->getData(['stock', 'bystore'], ['product.id=' . $object->get('sync_id'), 'groupBy' => 'variant']);
        if ($response->isSuccessful()) {
            $tmp = $response->getResponseBody();
            $tmp = isset($tmp['rows']) ? $tmp['rows'] : [];
            $tmp = reset($tmp);
            $tmp = isset($tmp['stockByStore']) ? $tmp['stockByStore'] : [];
            $keys = array_flip($stockStore);
            foreach ($tmp as $row) {
                if (in_array($row['name'], $stockStore)) {
                    $syncData[$keys[$row['name']]] = $row['stock'];
                }
            }
            $object->set('sync_data', $syncData);
        }
    }
}


if ($modx->event->name === 'OnBeforeDocFormSave') {
    if (!$syncData = $resource->get('sync_data')) {
        return;
    }
    foreach ($stockStore as $k => $v) {
        if (isset($syncData[$k])) {
            $resource->set($k, $syncData[$k]);
        }
    }
}
Станислав
11 октября 2018, 22:57
0
А можно как то сделать с подсчетом результатов при подборе?
Станислав
06 сентября 2018, 21:19
0
Пригодится для визуализации
Станислав
27 августа 2018, 18:23
0
Может быть есть пример какой то, а не то пока не знаю как это сделать?
Станислав
27 августа 2018, 18:09
0

да, есть 3 цены
Станислав
27 августа 2018, 17:15
0
А как определиться что цена опции принадлежит именно к нужной опции, меняются то цены именно у опции?
Станислав
27 августа 2018, 16:35
0
у каждой модификации стоит свой артикул, но при изменении цены, он создает точно такую же модификацию с новой ценой
VLADI Плед Альпака ЭЛИТ,140х200;53038;пледы|новозеландская шерсть;VLADI Плед Альпака ЭЛИТ,140х200;11112222;1000;800;1500;true;6297
VLADI Плед Альпака ЭЛИТ,140х200;53038;пледы|новозеландская шерсть;VLADI Плед Альпака ЭЛИТ,140х200;11113333;2160;1100;1870;true;4140
VLADI Плед Альпака ЭЛИТ,П/К 140х200;53058;пледы|новозеландская шерсть;VLADI Плед Альпака ЭЛИТ,П/К 140х200;11114444;1880;1020;1640;true;505
VLADI Плед Альпака ЭЛИТ,П/К 140х200;53058;пледы|новозеландская шерсть;VLADI Плед Альпака ЭЛИТ,П/К 140х200;11115555;1750;1500;1650;true;1710
VLADI Плед Альпака - ЛЮКС, 170х220;53025;пледы|новозеландская шерсть;VLADI Плед Альпака - ЛЮКС, 170х220;11116666;14;16;17;true;1117
VLADI Плед Альпака - ЛЮКС, 170х220;53025;пледы|новозеландская шерсть;VLADI Плед Альпака - ЛЮКС, 170х220;11117777;14;14;14;true;80
При изменении цены создаются новые модификации
Станислав
27 августа 2018, 16:09
0
Добрый день!
пытаюсь сделать импорт, привязал уникальность товара к артикулу, в чем проблема: в файл выгрузки заношу информацию
VLADI Плед Альпака ЭЛИТ,140х200;53038;пледы|новозеландская шерсть;VLADI Плед Альпака ЭЛИТ,140х200;11112222;1000;800;1500;true;6297
товар создается, публикуется и у него появляется модификация, с тремя видами цен, но если цены изменить, то создается дополнительная модифкация с новой ценой, а можно ли сделать так что бы обновлялись цены, а не создавалась новая модификация