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

Игорь
02 августа 2023, 15:40
0
Пробовал даже так, хотел замену сделать

[[*city_phone_whatsapp]]
на
[[#[[*parent]].city_phone_whatsapp]]

Сниппет:
<?php
// Получить содержимое чанка 'vitrina'
$chunkContent = $modx->getChunk('vitrina');

$updatedChunkContent = str_replace('*', '#[[*parent]].', $chunkContent);

return $updatedChunkContent;

Вызов в шаблоне:
[[!getUpdatedVitrina]]

не помогло.
Игорь
02 августа 2023, 14:23
0
если использую
[[If? &is=`[[*city_phone_whatsapp]]`:then=`вывод текста`]],
ничего не выводит
Игорь
02 августа 2023, 14:07
0
Я немного ушел в сторону.

Сниппет getTV:
<?php
// Получить родительский ресурс
$parentResource = $modx->getObject('modResource', $modx->resource->get('parent'));

if ($parentResource) {
    // Получить все TV у родительского ресурса
    $parentTvs = $parentResource->getTemplateVars();
    
    foreach($parentTvs as $tv) {
        // Проверить, существует ли такая переменная у текущего ресурса
        $currentTv = $modx->getObject('modTemplateVar', ['name' => $tv->get('name')]);
        if ($currentTv) {
            // Получить значение родительского TV
            $parentValue = $tv->getValue($parentResource->get('id'));
            // Установить значение родительского TV для текущего ресурса
            $currentTv->setValue($modx->resource->get('id'), $parentValue);
            $currentTv->save();
        }
    }
      
}
в шаблоне вызова так:
[[$vitrina]]
[[getTV]]

Проблема осталась что иногда по не понятным причинам один TV не всегда получает значение…
а именно:

[[*city_phone_whatsapp:isnot=``:then=`вывод текста`]]
Баха Волков
02 августа 2023, 12:51
+1
Однозначно нужно написать сниппет который соберет все записи tv, смерджить их все и например вызвать тот же getImageList передав ему в параметр value.

На просторах интернета и в частности на этом форуме можно найти примеры кода в котором собираются значения TV.

А вообще для таких вещей лучше было бы использовать свою таблицу или тот же easyComm
Павел Романов
02 августа 2023, 11:50
0
Если сами TV-шки называются «есть щука», «есть форель» и «есть кит», то так:
<?php
$docid = $modx->getOption('docid', $scriptProperties, $resource->get('id'));
$tvs = explode(',', $tvs);
$out = array();
foreach($tvs as $tv){
	if(!$tvo = $modx->getObject('modTemplateVar', array('name' => trim($tv)))) continue;
	if(!$tvres = $modx->getObject('modTemplateVarResource', array('tmplvarid' => $tvo->get('id'),'contentid' => $docid, 'value' => 1))) continue;
	$out[] = $tvo->get('caption');
}
return implode(', ', $out);

Вызов один:
[[checkTV?
    &docid=`[[*parent]]` //если на дочерних
    &tvs = `tovar_forel_chekbox,tovar_shuka_chekbox,tovar_kit_chekbox`
]]
Игорь
02 августа 2023, 09:58
0
Помогите решить проблему…
Нужно такое условие…
[[#[[*parent]].tovar_kit_chekbox:is=`1` или *tovar_kit_chekbox:is=`1`:then=``]]
Владимир
02 августа 2023, 08:50
0
к сожалению не помогло, выводит почему-то все товары (
Евгений Webinmd
02 августа 2023, 00:33
0
попробуйте так:
&optionFilters=`{"volume2:>=":1000}`
Дима Касаткин
01 августа 2023, 21:10
0
Всё понимаю, но ничего из этого не признаю) Так и знайте, что альфа пойдет в продакшен)
А как ещё внедрять edge-технологии, если не огнем и мечом?))
иван
01 августа 2023, 18:48
0
Доброго дня!
Отличный компонент. Ему цены нет.
Вот только один вопрос, как можно привязать определенные ресурсы к определенным поддоменам. Что бы не все ресурсы на всех поддоменах были, а выборочные. Голову уже сломал.(
Заранее благодарен Вам. Хорошего настроения.
Futuris
01 августа 2023, 17:19
0
Да это не препятствие, конечно, парням задонатить)) Но за помощь в чате, например, где платежи небольшие — комиссия в процентном отношении существенная получается.
Алексей Соин
01 августа 2023, 16:09
0
а, там вон как работает, через веб морду пополнение))) тогда да, никак, если б номер карты был или номер телефона, то можно было через сбп) сорян, не заметил такой нюансик))
Futuris
01 августа 2023, 13:23
0
А номер телефона где мне взять?)
Алексей Соин
01 августа 2023, 13:06
0
платежи -> сверху справа значок сбп -> вводишь номер телефона, выбираешь банк тинька, в месяц 100к без комиссии можно переводить
Алексей Шумаев
01 августа 2023, 12:14
0
Напишите тогда через форму тут: modx.pro/users/alex-tv
Александр Туниеков
01 августа 2023, 12:04
0
Ну не докапывайтесь. Просто я всегда считал, что опции в минишопе без первичного ключа из-за инкремента. Вот сообщил свое мнение. Точно сказать может только @Василий Наумкин
Алексей Смирнов
01 августа 2023, 12:00
0
Если у магаза планируется 2 и более мл. товаров и человек выбрал стандартную MODX + minishop, то конечно тут больше вопросов к человеку, а не к коду. Еще больше вопросов возникнет если человек в импорте удаляет все опции и заново их записывает и еще больше вопросов станет, если все товары удаляются (включая опции) и заново грузятся… В крайности предлагаю не впадать ибо это бессмысленно.
Но замечание ваше в уме все равно нужно держать, оно не лишено смысла.
Дмитрий
01 августа 2023, 11:58
0
Здравствуйте, Алексей. Я, почему-то, не могу по вашему компоненту написать через ТП на сайте, хоть и загружал его из репозитория… Его просто нет там.
Александр Туниеков
01 августа 2023, 11:52
0
А кто bigint то ставит? Для обычных магазинов int 10 как обычно хватит. А на несколько миллионов товаров с учетом что при импорте обычно опции будут удаляться и заного забиваться то int 10 может не хватить. И магаз внезапно новые опции не принимает. Но за подсказку спасибо. Как gtsShop выберется в продажи bigInt на праметры расчета поставлю. А то только на тестах на 2 заказах инкремент параметров уже за 2000 перевалил.
Не буду говорить что знаю зачем @Василий Наумкин primary key на опции не поставил. Инкремент мне кажется правдоподобной догадкой.
Алексей Смирнов
01 августа 2023, 10:12
+2
Инкремент ограничен лишь, типом переменной, если установить BIGINT, то хватит на миллиарды записей для опций. Не вводите людей в заблуждение.