[XFA] RM Marketplace (shop) - XF2

[XFA] RM Marketplace (shop) - XF2 5.2.1

Нет прав для скачивания
не появилось ли что то новое по платежам в рублях?
 
dodi8790, а должно? Адаптацией занимается только Matew, вопросы к нему.
 
На заметку тем, кто хочет удалить кнопку возврат средств из продажи в панели продавца и поля уведомлений для возвратов в конфигурации. Учитывая, что они работают только с PayPal, то для других платежных шлюзов бесполезен, стоит убрать с видимости, раз нельзя использовать.
Открываем модификации шаблонов и начинаем:
Убрать из вкладки "Продажи"
Шаблон:
xfa_rmmp_xfrm_resource_list_macros
Найти
Код:
                            <xf:if is="{$purchase.status} == 'validated'">
                                <a href="{{ link('resources/market-place-purchase/refund', $purchase) }}" data-xf-click="overlay"><i class="fa fa-exchange" aria-hidden="true">&nbsp;</i>{{ phrase('xfa_rmmp_refund_purchase') }}</a>
                            </xf:if>
Заменить
Пробел (пусто)
Убрать из вкладки "Конфигурация"
Шаблон:
xfa_rmmp_dashboard_configuration
Найти:
Код:
                        <xf:macro name="comm"
                                  arg-comm="{{ phrase('xfa_rmmp_purchase_refund_message') }}"
                                  arg-suffix="purchase_refund"
                                  arg-title="{{ $xf.visitor.SellerInfo.comm_title_purchase_refund }}"
                                  arg-text="{{ $xf.visitor.SellerInfo.comm_text_purchase_refund }}" />

                        <xf:macro name="comm"
                                  arg-comm="{{ phrase('xfa_rmmp_renewal_message') }}"
                                  arg-suffix="renewal"
                                  arg-title="{{ $xf.visitor.SellerInfo.comm_title_renewal }}"
                                  arg-text="{{ $xf.visitor.SellerInfo.comm_text_renewal}}" />

                        <xf:macro name="comm"
                                  arg-comm="{{ phrase('xfa_rmmp_renewal_refund_message') }}"
                                  arg-suffix="renewal_refund"
                                  arg-title="{{ $xf.visitor.SellerInfo.comm_title_renewal_refund }}"
                                  arg-text="{{ $xf.visitor.SellerInfo.comm_text_renewal_refund }}" />
Заменить:
Код:
                        <xf:macro name="comm"
                                  arg-comm="{{ phrase('xfa_rmmp_renewal_message') }}"
                                  arg-suffix="renewal"
                                  arg-title="{{ $xf.visitor.SellerInfo.comm_title_renewal }}"
                                  arg-text="{{ $xf.visitor.SellerInfo.comm_text_renewal}}" />
Если и лицензии надо убрать заодно, то в Заменить ставим пробел или оставляем пустым, чтобы оставить только поле "Сообщение о покупке".
Если хотите RUB заменить на ₽, то вам нужны шаблоны xfa_rmmp_xfrm_resource_view_sidebar_info, xfa_rmmp_resource_header_macros, xfa_rmmp_purchase_macros. Вам нужно найти строку {$resource.xfa_rmmp_currency|to_upper} и заменить её на ' ₽' или ₽ согласно оформлению кода в тех местах, где вам нужно. А лучше замените весь шаблон с заменой переменной, чтобы не плодить лишние модификаторы. Тем самым вы получите видимость на странице ресурса, при нажатии кнопки купить и в боковом савбаре отображение.

P.S. Маркетплейс не поддерживает конвертацию валют от плагина Matew - [TC] Currency Utils, требуется от него адаптация, так что по этому поводу вопросы тоже к нему, но если вы используете основной платёжный шлюз, то адаптация не нужна, но если позволяете другим использовать свои платёжные данные, то обязательно нужно этот вопрос решить.
Я немного глуповат походу, хз если честно, но у меня вопрос, как сделать рубли? А то у меня в плагине только доллары евро и более.
Пробовал поискать в шаблонах, но не нашел
 
Я немного глуповат походу, хз если честно, но у меня вопрос, как сделать рубли? А то у меня в плагине только доллары евро и более.
Пробовал поискать в шаблонах, но не нашел
Плохо искали, учитывая, что вполне понятно дал понять, что искать и что на что менять.
Саму поддержку рубля вам сделает Matew за определенную плату. Если вы будете использовать 1 основную платёжную систему для оплаты, что входит от коробки XF, то обращаться тогда не нужно и плату будете получать единолично на себя, но если стоит в планах дать юзерам продавать от себя и чтобы от вас они не зависели по выплатам, то без помощи Матвея не сможете подключить оплату через Юmoney и т.д. для этой реализации. За исключением, если вы не в РФ и у вас доступен PayPal, тогда плагин идеально будет работать и без иного вмешательства. В ином другом случае, пользоваться в текущем виде можете как с обычным магазином и быть основным посредником. Иных вариантов тут нет. Для удобства можно и подключить как основной шлюз оплаты по виртуальной валюте и через неё работать, тут сами выбирайте, что вам нужно. И ещё, процент от продаж работать у вас так же не будет т.к. заточено на PayPal, с этим смиритесь. В ином другом случае, я бы рекомендовал обратить внимание на плагин от [DBTech] DragonByte.

P.S. Текущая версия плагина не будет нормально работать при обновлении XF до версии 2.3+ и будет ли обновление тут плагина когда-нибудь, тоже вопросы. Потому 10 раз подумайте, надо ли оно вам т.к. вы будете ограничены версией XF, либо купить плагин у автора, который так же помогает с адаптацией... правда он ещё тот жадный жук...

Для рублей вам достаточно создать 3 модификатора: (Вы просто измените RUB на ₽).

Шаблон - xfa_rmmp_purchase_macros
Описание - Convert RUB to ₽ (модальное окно)
Найти:
Код:
        <xf:formrow label="{{ phrase('price') }}" id="price_row">{{ $resource.getInitialPurchasePriceWithShippingIfAny() }} {$resource.xfa_rmmp_currency|to_upper}</xf:formrow>
Заменить:
Код:
        <xf:formrow label="{{ phrase('price') }}" id="price_row">{{ $resource.getInitialPurchasePriceWithShippingIfAny() }} ₽</xf:formrow>

Шаблон - xfa_rmmp_resource_header_macros
Описание - Convert RUB to ₽ (сам ресурс)
Найти:
Код:
<xf:macro name="download_btn" arg-resource="!" arg-class="button--cta" arg-style="{{ null }}">
    <xf:button href="{{ link('resources/download', $resource) }}"
               class="{$class}" style="{$style}"
               data-xf-click="{{ $resource.CurrentVersion.file_count > 1 ? 'overlay' : '' }}"
               icon="download">{{ phrase('download') }}</xf:button>
</xf:macro>

<xf:macro name="buy_copy_btn" arg-resource="!">
    <xf:if is="{$xf.options.xfa_rmmp_mode} == 'custom'">
        <xf:if is="$resource.hasPurchaseConfirm()">
            <xf:set var="$url" value="resources/market-place-purchase/purchase-confirm" />
        <xf:else />
            <xf:set var="$url" value="resources/market-place-purchase/purchase" />
        </xf:if>
    <xf:else />
        <xf:set var="$url" value="resources/market-place-purchase/purchase-xf" />
    </xf:if>
    <xf:if is="{$resource.xfa_rmmp_discount_id}">
        <xf:button href="{{ link($url, $resource) }}"
                   class="button--cta" overlay="true"
                   icon="purchase">{{ phrase('xfa_rmmp_buy_copy_now_for_x_discount', {'cost':{$resource.xfa_rmmp_amount} . ' ' . {$resource.xfa_rmmp_currency|to_upper}, 'initial_cost':{$resource.xfa_rmmp_base_amount} . ' ' . {$resource.xfa_rmmp_currency|to_upper}}) }}</xf:button>
    <xf:else />
        <xf:button href="{{ link($url, $resource) }}"
                   class="button--cta" overlay="true"
                   icon="purchase">{{ phrase('xfa_rmmp_buy_copy_now_for_x', {'cost':{$resource.xfa_rmmp_amount} . ' ' . {$resource.xfa_rmmp_currency|to_upper}}) }}</xf:button>
    </xf:if>
</xf:macro>

<xf:macro name="order_now_btn" arg-resource="!">
    <xf:if is="{$xf.options.xfa_rmmp_mode} == 'custom'">
        <xf:if is="$resource.canBePurchasedInMultipleQty() || {$resource.xfa_rmmp_max_qty} > 1 || {$resource.xfa_rmmp_accept_other} || $resource.isRequiringCGVValidation()">
            <xf:set var="$url" value="resources/market-place-purchase/purchase-confirm" />
        <xf:else />
            <xf:set var="$url" value="resources/market-place-purchase/purchase" />
        </xf:if>
    <xf:else />
        <xf:set var="$url" value="resources/market-place-purchase/purchase-xf" />
    </xf:if>

    <xf:if is="{$resource.xfa_rmmp_discount_id}">
        <xf:button href="{{ link($url, $resource) }}"
                   class="button--cta" overlay="true"
                   icon="purchase">{{ phrase('xfa_rmmp_order_now_for_x_discount', {'cost':{$resource.xfa_rmmp_amount} . ' ' . {$resource.xfa_rmmp_currency|to_upper}, 'initial_cost':{$resource.xfa_rmmp_base_amount} . ' ' . {$resource.xfa_rmmp_currency|to_upper}}) }}</xf:button>
    <xf:else />
        <xf:button href="{{ link($url, $resource) }}"
                   class="button--cta" overlay="true"
                   icon="purchase">{{ phrase('xfa_rmmp_order_now_for_x', {'cost':{$resource.xfa_rmmp_amount} . ' ' . {$resource.xfa_rmmp_currency|to_upper}}) }}</xf:button>
    </xf:if>

</xf:macro>

<xf:macro name="register_buy_btn" arg-resource="!">
    <xf:if is="{$resource.xfa_rmmp_type} == 'digital'">
        <xf:if is="{$resource.xfa_rmmp_discount_id}">
            <xf:button href="{{ link('register') }}"
                       class="button--link"
                           icon="login">{{ phrase('é', {'cost':{$resource.xfa_rmmp_amount} . ' ' . {$resource.xfa_rmmp_currency|to_upper}, 'initial_cost':{$resource.xfa_rmmp_base_amount} . ' ' . {$resource.xfa_rmmp_currency|to_upper}}) }}</xf:button>
        <xf:else />
            <xf:button href="{{ link('register') }}"
                       class="button--link"
                       icon="login">{{ phrase('xfa_rmmp_register_now_to_buy_copy_for_x', {'cost':{$resource.xfa_rmmp_amount} . ' ' . {$resource.xfa_rmmp_currency|to_upper}}) }}</xf:button>
        </xf:if>
    <xf:else />
        <xf:if is="{$resource.xfa_rmmp_discount_id}">
            <xf:button href="{{ link('register') }}"
                       class="button--link"
                       icon="login">{{ phrase('xfa_rmmp_register_now_to_order_for_x_discount', {'cost':{$resource.xfa_rmmp_amount} . ' ' . {$resource.xfa_rmmp_currency|to_upper}, 'initial_cost':{$resource.xfa_rmmp_base_amount} . ' ' . {$resource.xfa_rmmp_currency|to_upper}}) }}</xf:button>
        <xf:else />
            <xf:button href="{{ link('register') }}"
                       class="button--link"
                       icon="login">{{ phrase('xfa_rmmp_register_now_to_order_for_x', {'cost':{$resource.xfa_rmmp_amount} . ' ' . {$resource.xfa_rmmp_currency|to_upper}}) }}</xf:button>

        </xf:if>
    </xf:if>
</xf:macro>
Заменить:
Код:
<xf:macro name="download_btn" arg-resource="!" arg-class="button--cta" arg-style="{{ null }}">
    <xf:button href="{{ link('resources/download', $resource) }}"
               class="{$class}" style="{$style}"
               data-xf-click="{{ $resource.CurrentVersion.file_count > 1 ? 'overlay' : '' }}"
               icon="download">{{ phrase('download') }}</xf:button>
</xf:macro>

<xf:macro name="buy_copy_btn" arg-resource="!">
    <xf:if is="{$xf.options.xfa_rmmp_mode} == 'custom'">
        <xf:if is="$resource.hasPurchaseConfirm()">
            <xf:set var="$url" value="resources/market-place-purchase/purchase-confirm" />
        <xf:else />
            <xf:set var="$url" value="resources/market-place-purchase/purchase" />
        </xf:if>
    <xf:else />
        <xf:set var="$url" value="resources/market-place-purchase/purchase-xf" />
    </xf:if>
    <xf:if is="{$resource.xfa_rmmp_discount_id}">
        <xf:button href="{{ link($url, $resource) }}"
                   class="button--cta" overlay="true"
                   icon="purchase">{{ phrase('xfa_rmmp_buy_copy_now_for_x_discount', {'cost':{$resource.xfa_rmmp_amount} . ' ₽', 'initial_cost':{$resource.xfa_rmmp_base_amount} . ' ₽'}) }}</xf:button>
    <xf:else />
        <xf:button href="{{ link($url, $resource) }}"
                   class="button--cta" overlay="true"
                   icon="purchase">{{ phrase('xfa_rmmp_buy_copy_now_for_x', {'cost':{$resource.xfa_rmmp_amount} . ' ₽'}) }}</xf:button>
    </xf:if>
</xf:macro>

<xf:macro name="order_now_btn" arg-resource="!">
    <xf:if is="{$xf.options.xfa_rmmp_mode} == 'custom'">
        <xf:if is="$resource.canBePurchasedInMultipleQty() || {$resource.xfa_rmmp_max_qty} > 1 || {$resource.xfa_rmmp_accept_other} || $resource.isRequiringCGVValidation()">
            <xf:set var="$url" value="resources/market-place-purchase/purchase-confirm" />
        <xf:else />
            <xf:set var="$url" value="resources/market-place-purchase/purchase" />
        </xf:if>
    <xf:else />
        <xf:set var="$url" value="resources/market-place-purchase/purchase-xf" />
    </xf:if>

    <xf:if is="{$resource.xfa_rmmp_discount_id}">
        <xf:button href="{{ link($url, $resource) }}"
                   class="button--cta" overlay="true"
                   icon="purchase">{{ phrase('xfa_rmmp_order_now_for_x_discount', {'cost':{$resource.xfa_rmmp_amount} . ' ₽', 'initial_cost':{$resource.xfa_rmmp_base_amount} . ' ₽'}) }}</xf:button>
    <xf:else />
        <xf:button href="{{ link($url, $resource) }}"
                   class="button--cta" overlay="true"
                   icon="purchase">{{ phrase('xfa_rmmp_order_now_for_x', {'cost':{$resource.xfa_rmmp_amount} . ' ₽'}) }}</xf:button>
    </xf:if>

</xf:macro>

<xf:macro name="register_buy_btn" arg-resource="!">
    <xf:if is="{$resource.xfa_rmmp_type} == 'digital'">
        <xf:if is="{$resource.xfa_rmmp_discount_id}">
            <xf:button href="{{ link('register') }}"
                       class="button--link"
                           icon="login">{{ phrase('é', {'cost':{$resource.xfa_rmmp_amount} . ' ₽', 'initial_cost':{$resource.xfa_rmmp_base_amount} . ' ₽'}) }}</xf:button>
        <xf:else />
            <xf:button href="{{ link('register') }}"
                       class="button--link"
                       icon="login">{{ phrase('xfa_rmmp_register_now_to_buy_copy_for_x', {'cost':{$resource.xfa_rmmp_amount} . ' ₽'}) }}</xf:button>
        </xf:if>
    <xf:else />
        <xf:if is="{$resource.xfa_rmmp_discount_id}">
            <xf:button href="{{ link('register') }}"
                       class="button--link"
                       icon="login">{{ phrase('xfa_rmmp_register_now_to_order_for_x_discount', {'cost':{$resource.xfa_rmmp_amount} . ' ₽', 'initial_cost':{$resource.xfa_rmmp_base_amount} . ' ₽'}) }}</xf:button>
        <xf:else />
            <xf:button href="{{ link('register') }}"
                       class="button--link"
                       icon="login">{{ phrase('xfa_rmmp_register_now_to_order_for_x', {'cost':{$resource.xfa_rmmp_amount} . ' ₽'}) }}</xf:button>

        </xf:if>
    </xf:if>
</xf:macro>

Шаблон - xfa_rmmp_xfrm_resource_view_sidebar_info
Описание - Convert RUB to ₽ (боковая колонка ресурса)
Найти:
Код:
            <dd>
                <xf:if is="{$resource.xfa_rmmp_discount_id}"><span style="text-decoration-line: line-through;">{$resource.xfa_rmmp_base_amount} {$resource.xfa_rmmp_currency|to_upper}</span><br /></xf:if>
                {$resource.xfa_rmmp_amount} {$resource.xfa_rmmp_currency|to_upper}
            </dd>
Заменить:
Код:
            <dd>
                <xf:if is="{$resource.xfa_rmmp_discount_id}"><span style="text-decoration-line: line-through;">{$resource.xfa_rmmp_base_amount} {$resource.xfa_rmmp_currency|to_upper}</span><br /></xf:if>
                {$resource.xfa_rmmp_amount} ₽
            </dd>

%D0%A1%D0%BD%D0%B8%D0%BC%D0%BE%D0%BA-%D1%8D%D0%BA%D1%80%D0%B0%D0%BD%D0%B0-2024-01-18-021832-png.151095

Я лично от плагина пока отказался, сыроват местами и не доработан в некоторых вопросах. Так же всплыли невнятные баги при создании новых продаж, в которых я пока не разобрался, да и пока не хочу. Для моих задач пока отложен до лучших времён... Что с одним плагином автор косячит, то тут не меньше. Так что, плагин я бы сильно не рекомендовал, но если вам нужен магазин в получении единоличного дохода, то лучше рассмотрите другой, но если нужно удобства создание продаж от других юзеров именно в ресурсах, то конечно этот плагин удобней будет, но с адаптацией намучаетесь и внятной поддержки по плагину вы тут не получите, им никто почти не пользуется. То, что тут описал, думаю будет достаточно для базового ознакомления и каких-то правок. Дальше возитесь самостоятельно.
 
Последнее редактирование:
Вот последняя версия!
За обновку благодарочка, но судя по списку исправлений при работе с XF 2.3, проблем с этим плагином явно предстоит не мало видеть, остается проверять и смотреть. Но уже хорошо, что смело можно 2.3 накатывать для работы с этим плагином.
и как с ним работать
Ручками 😏
 
Последнее редактирование:
Хм, добавили новый платёжный шлюз:
  • PayTR Virtual Pos iFrame API
Известно, что про него? Для нас как понимаю такой же бесполезный?
 
За обновку благодарочка, но судя по списку исправлений при работе с XF 2.3, проблем с этим плагином явно предстоит не мало видеть, остается проверять и смотреть. Но уже хорошо, что смело можно 2.3 накатывать для работы с этим плагином.

Ручками 😏
Я поставил на 2.3.3 и всё нормально работает
 
Я поставил платежные системы как freekassa, yoomoney, DragonByte Credits и все нормально работает
 
Я поставил платежные системы как freekassa, yoomoney, DragonByte Credits и все нормально работает
вы поставили основной платёжный шлюз от XF, но у вас нет адаптации для работы шлюзов от лица продавца, если вы не понимаете о чём я, то изучите плагин лучше. Потому что их нет и никто их делать вам не будет, у вас будет доступно лишь то, что готово. Если будет нужен хотя бы Ю.Моней, то этот вопрос решит Matew за щедрый взнос. Если вам этого достаточно, то рад за вас)) Я ещё плагин не ставил новой версии, надо на демке поковырять.
 
Последнее редактирование:
Современный облачный хостинг провайдер | Aéza
Назад
Сверху Снизу