Всего 123 789 комментариев

Dan
Dan
29 мая 2023, 11:41
0
А кастомные поля вы как создали? Просто добавили в БД?
Вы должны также сообщить о них самому Modx. Можете воспользоваться этим гайдом. Если не нужно отрисовывать поля в админке, то достаточно одного события OnMODXInit
Игорь
29 мая 2023, 09:45
0
Здравствуйте.
У Тинькофф есть новый способ оплаты «Оплата долями» www.tinkoff.ru/dolyame/. Ваш компонент не поддерживает такое пока?
maxgmm
29 мая 2023, 09:36
0
Да спасибо разобрался дополниьельное поле было написанно в феноме это не понравилось
Vladimir
28 мая 2023, 15:04
0
Так
$words = json_decode($res->getTVValue('words'), true);   
$words2 = json_decode($res->getTVValue('words2'), true);

$words3 = json_decode($res->getTVValue('words3'), true);   
$words4 = json_decode($res->getTVValue('words4'), true);   

$wordsToExclude = array_unique(array_merge($words, $words2, $words3, $words4));

$pattern = '/(?:' . join('|', $wordsToExclude) . ')/i';
Евгений
28 мая 2023, 14:23
0
подскажите как сделать чтобы брало не только из одного TV а из двух или трех?
точнее не как брать а как в коде плагина прописать так чтобы исключало сразу слова из 2 или 3 TV?

сейчас это
$words = json_decode($res->getTVValue('words'), true);         
$pattern = '/(?:' . join('|', $words) . ')/i';
как я понимаю можно
1 сделать переменную words2
а в строке pattern добавить его в исключение (не знаю только как )

2 добавить сразу данные из TV поля words2 в переменную words
Евгений
28 мая 2023, 10:17
0
у него есть какой то глюк или ограничение на слова и они просто обнуляются
Александр
27 мая 2023, 20:57
0
Удалость решить созданием точно такого же пресета, с которым импорт прошел. После чего заработал и первый пресет.
Изначально в файле XLSX импорта была ошибка — пустой столбец с родителями. После добавления родителей в файл импорта, все равно не работало, заработало только после создания второго пресета.
Кроме того при указании начинать импорт со строки 2 все равно импортирует первую строку, а если делать повторный импорт уже не импортирует.
Отсюда предположение: В компоненте как то кэшируются настройки.
И вопрос: Как от этого избавиться?
Александр
27 мая 2023, 17:07
0
Скажите как указать родителя у товара минишоп? Указываю в виде: каталог|категория|подкатегория1… и так далее.
В логе пишет: «Для импортируемого товара не указан родитель, действие отклонено»
При импорте категорий так работало.
Денис
27 мая 2023, 12:39
0
В итоге я вручную все залил на облако и настроил отображение с облака. Товар весь отображается на сайте с привьюшками.
Но в админке отображается заглушка minishopa.
Это конечно не особо удобно — но свои задачи решил.
Алекс Назаренко
26 мая 2023, 15:05
0
Тоже столкнулся с такой задачей. На текущий момент загрузка фото в хранилище идет без проблем. Но не генерируется превью в minishop2.
Антон
26 мая 2023, 14:54
0
Написано, что компонент работает на php выше 5.6, но на 8 он не работает. Из-за вот этой строчки в основном классе:
$return .= $symbs{rand(0, $maxpos)};
Это 1087 строка.
Сергей Карпович
26 мая 2023, 14:52
0
Добавил
$a['resource_id'] = $tv['contentid'];
, но [[+resource_id]] не выводится
Павел Романов
26 мая 2023, 14:46
0
Добавьте на 20 строке:
<?php
//.......
foreach($tvs as $tv){
   	$a = json_decode($tv['value'], 1);
   	foreach($a as $i){
            $i['resource_id'] = $tv['contentid']; // вот это
   	    $array[] = $i;
   	}
}
//.......
В чанке используйте [[+resource_id]]
Сергей Карпович
26 мая 2023, 14:36
0
Спасибо, вроде бы то что нужно.
Подскажите, как передать в чанк ID ресурса с которого отображется фото, что бы путь корректно прописать, а то в [[+image]] приходит не полный путь а только название файла
Павел Романов
26 мая 2023, 14:19
+2
Попробуйте сделать такой сниппет:
<?php
$totalVar = $modx->getOption('totalVar', $scriptProperties, 'total');
$limit = $modx->getOption('limit', $scriptProperties, 10);
$offset = $modx->getOption('offset', $scriptProperties, 0);
$sortby = $modx->getOption('sortby', $scriptProperties, 'MIGX_id');
$sortdir = $modx->getOption('sortdir', $scriptProperties, 'DESC');
$docid = $modx->getOption('docid', $scriptProperties, $modx->resource->get('id'));
$docid = str_replace(' ', '', $docid);

$table = $modx->getOption('table_prefix').'site_tmplvar_contentvalues';
$sql = "SELECT * FROM {$table} WHERE `contentid` IN ({$docid}) AND `tmplvarid` = '{$tvId}'";
$q = $modx->prepare($sql);
$q->execute();
$tvs = $q->fetchAll(PDO::FETCH_ASSOC);

$array = array();
foreach($tvs as $tv){
   	$a = json_decode($tv['value'], 1);
   	foreach($a as $i){
   	    $array[] = $i;
   	}
}
$modx->setPlaceholder($totalVar, count($array));
function sorter($key) {
    return function ($a, $b) use ($key) {
        return strnatcmp($a[$key], $b[$key]);
    };
}
usort($array, sorter($sortby));
$sortdir == 'DESC' ? krsort($array) : ksort($array);
$array = array_slice($array, $offset, $limit);
foreach($array as $item){
    $out .= $modx->getChunk($tpl, $item);
}
return $out;

И используйте его в pdoPage:
[[!pdoPage?
    &element=`SnippetName`
    &tvId=`43` // ID TV "gallery"
    &docid=`18,38,59,46` // ID ресурсов
    &limit=`12`
    &tpl=`tpl-gallery`
]]
[[!+page.nav]]
Денис Усманов
26 мая 2023, 11:05
0
Всё равно тут поясню зачем) Затем, что бы Minishop2 воспринимал поле count как DECIMAL а не INT.
Александр
26 мая 2023, 11:02
+1
Не понял зачем плагин, я делал без него меняя класс корзины и JS. Вообще ничего вроде больше не трогал. Отлично работает. Только обычно когда реализовывается добавление дробного кол-ва товаров нужно отображать в миникорзине(если такая есть) не кол-во товаров всего, а кол-во позиций в корзине.

UPD: Понял зачем плагин. Закинул клиенту где делал такой функционал :)
Ivan
26 мая 2023, 09:40
0
В общем они исправили проблему