Константин Ильин

Константин Ильин

Был в сети 22 октября 2025, 18:41
Заказы принимаю
Спасибо за конструктивное и развернутое объяснение, а так же за новые знания.

Понял, что через функцию set
$cat = $modx->newObject('msCategoryOption');
    
$cat->set('option_id', 1);
$cat->set('category_id', 2);
$cat->set('value', '');
$cat->set('active', 1);

$cat->save();
Михали, Большое спасибо!!! сам точно бы не догадался.
Володя, такой вопрос:

Создал я опцию «Цвет». Мне необходимо вывести ее например на английском, т.е. «Color».
joxi.ru/82Qpan0sjWDe9m

Например с mSearch2 все понятно — добавить в лексикон en:
Если вы добавили новый фильтр и он отображается непонятной длинной надписью на английском — это значит, что её нужно добавить в словарь mSearch2.

Если есть решение, то как оно будет работать с msOptionPrice2?
Чтож из серии «сам ступил, сам нашел» :)

Надо обернуть foreach в set или var
{set $rows = json_decode($_modx->resource.content_bottom, true)}        
{set $content_bottom}
	{foreach $rows as $idx => $row}
		{$content_bottom = '<div id="tab'~$idx~'">'~$row.slogan_text~'</div>'}
	{/foreach}
{/set}

//Потом уже где хочется вызываем
{$content_bottom}
Подскажите пожалуйста, как не выводить переменную в цикле foreach

1. Получаю тв MIGX
2. Создаю переменную $content_bottom
3. В цикле все склеиваю и пихаю в переменную $content_bottom
Но, по умолчанию fenom сразу выводит эту переменную{$content_bottom}, а мне хотелось бы ее вывести в другом месте или вообще не выводить.
{set $rows = json_decode($_modx->resource.content_bottom, true)}        
{var $content_bottom = ''}
{foreach $rows as $idx => $row}
    {$content_bottom ~= '<div id="tab'~$idx~'">'~$row.slogan_text~'</div>'}
{/foreach}
Володь, не подскажешь, что за настройка пхп нужна чтоб нормально работало, ато при попытке выбрать картинку из галерии выдает:
[2017-06-12 15:05:32] (ERROR @ /var/www/www-root/data/www/site/core/components/msoptionsprice/processors/mgr/misc/product/getimages.class.php : 169) PHP warning: Invalid argument supplied for foreach()
Картинок конечно не получаю…

Версия PHP 7.0.18 (native)
Немного проще делается с капчей, ведь реально неудобно когда много форм и каждую надо в переменную забивать — это неудобно. Лучше использовать each для прохода.

Скрипты
<script src="https://www.google.com/recaptcha/api.js?onload=CaptchaCallback&render=explicit" async defer></script>
<script>
var CaptchaCallback = function() {
    $('.g-recaptcha').each(function(index, el) {
        grecaptcha.render(el, {'sitekey' : '[[++recaptchav2.site_key]]'});
    });
};
</script>
Разметка в любой форме одинаковая
<form>
.....
 <div class="g-recaptcha" data-sitekey="[[++recaptchav2.site_key]]"></div>
.....
</form>
В соответствии с Законом от 27.07.06 к персональным данным относится любая информация о физическом лице: фамилия, имя, отчество, год, месяц, дата и место рождения, адрес, семейное, социальное, имущественное положение, образование, профессия, доходы и другая информация.
Володь, а как лучше получать название Опции например max_height(Максимальная высота)?
В массиве название опции не содержится, только текущее значение для модификации.

Я хочу вывести стартовую(только первую) модификацию и ее опции с названием