Всего 125 653 комментария

Дмитрий
18 февраля 2026, 18:18
0
хм… хочу что бы при формировании заказа минишоп генерировал username не email пользователя, а номер телефона
Артур Шевченко
18 февраля 2026, 14:14
0
Никак. Если расскажешь задачу, возможно, подскажут другое решение.
Артур Шевченко
18 февраля 2026, 14:12
+1
Версия miniShop2, old_status там появился очень недавно
Дмитрий
17 февраля 2026, 10:07
0
Здравствуйте, компонент куплен, на основной домен ставится, на dev. не ставится,
Could not generate encryption key
Vehicle 04b9f528f736384b46f7132420614ef0 in transport msproductremains-2.1.28-pl failed to install and indicated the process should be aborted.
Невозможно установить пакет с подписью: msproductremains-2.1.28-pl

Но пробовал на основном домене, при установленном пакете, сделать заказ — вылетает ошибка и заказ не проходит /core/components/gallery/elements/tv/output/
в системных настройках

mspr_active_bcstatus
Нет
2026-02-17, 9:58 am

Проверка до добавления в корзину
mspr_active_before_add
Нет
2026-02-17, 9:47 am

Проверка до сохранения заказа
mspr_active_before_order
Нет
Олег
14 февраля 2026, 18:07
0
Добрый вечер!
Кто смог настроить оплату в этом компоненте?

вставил по инструкции в чанк tpl.msoneclick.send ссылку с параметром [[+payment_link]], но он (параметр) пустой.
происходит просто редирект на главную страницу
Виталий
14 февраля 2026, 13:53
0
Баг с обновлениями подтвержден в ишьюсах модуля — github.com/modmore/importX/issues/64
Решения, кроме частичного, предложенного в ветке этого ишьюса (https://github.com/modmore/importX/issues/64#issuecomment-201342383) до сих пор нет.
Имхо, автору не стоило данный функционал вообще упоминать, как рабочий. Только потратил кучу времени на тестирование
Виталий
14 февраля 2026, 13:53
0
Баг с обновлениями подтвержден в ишьюсах модуля — github.com/modmore/importX/issues/64
Решения, кроме частичного, предложенного в ветке этого ишьюса (https://github.com/modmore/importX/issues/64#issuecomment-201342383) до сих пор нет.
Имхо, автору не стоило данный функционал вообще упоминать, как рабочий. Только потратил кучу времени на тестирование
Виталий
13 февраля 2026, 21:44
0
Предварительный анализ показал, что этот модуль при обновлении не работает нормально с магазином (под вопросом как с другими ресурсами).
Идет затирание целого ряда других полей у товаров, включая родительский ресурс, менеджеры и другие поля.

Очень странная картинка — по идее, при обновлении полей, должны изменяться данные только тех полей, которые были в csv. А в результате идет затирание целого ряда полей, которых даже не прописывали в csv.

Вобще, функционал данного модуля для импорта-обновления уже существующих ресурсов мягко сказать странный. Нафига, для обновления 2 полей товара/ресурса мне прописывать его алиас, родительский ресурс и другие поля, которые вообще трогать не планировал? По идее, все, что надо — это айдишник ресурса и содержимое обновляемых полей.
Максим
12 февраля 2026, 22:44
0
Сочетание клавиш CTRL+ENTER не работает? Или только у меня… Приходится каждый раз нажимать «плэй»
Сергей Фещуков
11 февраля 2026, 07:30
0
Тут скоррее вопрос к msProductRemains, нужно его научить смотреть remains из своей таблицы
Да, верно. Ранее этого поля не было в стандартном minishop2, поэтому всё и работало без проблем.
Есть момент, зачем-то это поле сделали типа int, в некоторых ситуациях разработчики хотят иметь дробный остаток (сталкивался с таким, поэтому сделал в своём компонент тип float для остатков). Надеюсь разработчики minishop2 услышать комментарий из commit на это изменение
maybe better float than int?
Сергей Карпович
10 февраля 2026, 21:41
0
Это таблица компонента msProductRemains
он использует поле remains, но в Minishop2 4.0.0 тоже появилось это поле, и что то пошло не так. Может оно всегда было, но не участвовало в схеме, хз.

Тут скоррее вопрос к msProductRemains, нужно его научить смотреть remains из своей таблицы
Николай Савин
10 февраля 2026, 20:39
0
Это что за таблица такая modx_ms2_product_remains? В miniShop2 такой нет. Наверное отдельный компонент.
Максим
10 февраля 2026, 18:19
0
А планируется в ближайшее время?
Сергей Карпович
10 февраля 2026, 16:04
0
Обнаружил прикол, как понимаю он возникает в Minishop => 4.4.0
Поле remains присутствует в стандартных полях минишопа — присутствует в таблице modx_ms2_products
И в админке на странице со всеми остатками: /manager/?a=mgr/remains&namespace=msproductremains тянется именно поле из modx_ms2_product, а не из modx_ms2_product_remains

А если перейти в карточку товара, на вкладку остатки — там все правильно, остаток подтягивается из таблицы modx_ms2_product_remains

Не понимаю, как это так получается и как это исправить?
SYAN
09 февраля 2026, 20:43
+1
А вот все то же самое, только на fenom сразу вызов на странице без дополнительных чанков
{set $rows = $.php.array_reverse(json_decode($_modx->resource.videogallery, true))}
{if $rows && is_array($rows)}
<!-- Табы (заголовки) -->
<ul class="nav nav-tabs" id="videoTab" role="tablist">
    {foreach $rows as $idx => $row}
    <li class="nav-item" role="presentation">
        <button class="nav-link {if $idx == 0}active{/if}" id="videogal-tab-{$idx}" data-bs-toggle="tab" data-bs-target="#videogal{$idx}" type="button" role="tab" aria-controls="videogal{$idx}" aria-selected="{if $idx == 0}true{else}false{/if}">
            Источник {$idx + 1}
        </button>
    </li>
    {/foreach}
</ul>
<!-- Контент табов -->
<div class="tab-content" id="videoTabContent">
    {foreach $rows as $idx => $row}
    {* Декодируем JSON из поля video *}
    {set $videoData = json_decode(trim($row.video, '"') | replace:'\"':'"', true)}
    {if $videoData}
    <div class="tab-pane fade {if $idx == 0}show active{/if}" id="videogal{$idx}" role="tabpanel" aria-labelledby="videogal-tab-{$idx}">
        <!-- Видео -->
        <div class="pb-3">
            <div class="embed-responsive embed-responsive-16by9" style="width: 100%;">
                <iframe class="embed-responsive-item" src="{$videoData.video}" title="{$videoData.title | default:'Видео'}" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" webkitAllowFullScreen mozallowfullscreen allowFullScreen allowtransparency="true" name="main" style="width:100%; height:100%; background-image:url({$videoData.image | default:''}); background-size: cover; background-repeat: no-repeat; background-position: center center;"></iframe>
            </div>
        </div>
        <!-- Ссылка на источник -->
        <div class="pb-3">
            Видео в источнике: <ignore><a href="{$videoData.video}" target="_blank">{$videoData.video}</a></ignore>
        </div>
        <!-- Описание (если есть) -->
        {if isset($videoData.desc) && $videoData.desc}
        <div class="pb-3">{$videoData.desc | nl2br}</div>
        {/if}
    </div>
    {else}
    <!-- Резервный блок при ошибке декодирования -->
    <div class="tab-pane fade {if $idx == 0}show active{/if}" id="videogal{$idx}" role="tabpanel" aria-labelledby="videogal-tab-{$idx}">
        <p class="text-danger">Не удалось загрузить видео (ошибка JSON).</p>
    </div>
    {/if}
    {/foreach}
</div>
{else}
<p>Нет данных для отображения.</p>
{/if}
Мари
09 февраля 2026, 15:13
0
Да, спасибо. Руками новое поле и добавила :)
SYAN
09 февраля 2026, 15:03
0
решение в итоге нашлось?