Enable button on payment method

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.
6 years ago
Hi!
Could u please help me - how to make things like:
So I would like to have this 2 buttons only if the payment method is OnePay. The problem I don't want to make it as a hardcore like @Model.PaymentMethod == "OnePay" and use  

@if (@Model.PaymentMethod == T("Plugins.Payments.OnePay.FriendlyName"))
            {
                <a href="@Url.RouteUrl("Plugin.Payments.OnePay.GetOrderViewReceipt", new { orderId = Model.Id })" target="_blank" class="button-2 print-order-button">@T("Plugins.Payments.OnePay.ReceiptView")</a>
                <a href="@Url.RouteUrl("Plugin.Payments.OnePay.GetOrderPdfReceipt", new { orderId = Model.Id })" target="_blank" class="button-2 pdf-invoice-button">@T("Plugins.OnePay.OnePay.ReceiptPrintPdf")</a>
            }


but it not works because unable to convert Nop.Web.Framework.Localization.LocalizedString to string.
6 years ago
Try
T("Plugins.Payments.OnePay.FriendlyName").Text
6 years ago
art_MOO wrote:
Hi!
Could u please help me - how to make things like:
So I would like to have this 2 buttons only if the payment method is OnePay. The problem I don't want to make it as a hardcore like @Model.PaymentMethod == "OnePay" and use  

@if (@Model.PaymentMethod == T("Plugins.Payments.OnePay.FriendlyName"))
            {
                <a href="@Url.RouteUrl("Plugin.Payments.OnePay.GetOrderViewReceipt", new { orderId = Model.Id })" target="_blank" class="button-2 print-order-button">@T("Plugins.Payments.OnePay.ReceiptView")</a>
                <a href="@Url.RouteUrl("Plugin.Payments.OnePay.GetOrderPdfReceipt", new { orderId = Model.Id })" target="_blank" class="button-2 pdf-invoice-button">@T("Plugins.OnePay.OnePay.ReceiptPrintPdf")</a>
            }


but it not works because unable to convert Nop.Web.Framework.Localization.LocalizedString to string.


Try


@if (@Model.PaymentMethod == T("Plugins.Payments.OnePay.FriendlyName").Text)
            {
    <a href="@Url.RouteUrl("Plugin.Payments.OnePay.GetOrderViewReceipt", new { orderId = Model.Id })" target="_blank" class="button-2 print-order-button">@T("Plugins.Payments.OnePay.ReceiptView")</a>
                <a href="@Url.RouteUrl("Plugin.Payments.OnePay.GetOrderPdfReceipt", new { orderId = Model.Id })" target="_blank" class="button-2 pdf-invoice-button">@T("Plugins.OnePay.OnePay.ReceiptPrintPdf")</a>
}
6 years ago
Ok seems it's fine, but i don't get - how get plugin friendly name? What will be the code? Plugin.Payments.OnePay.FriendlyName - not works. I want to have same value as on plugin view friendly name.
6 years ago
art_MOO wrote:
Ok seems it's fine, but i don't get - how get plugin friendly name? What will be the code? Plugin.Payments.OnePay.FriendlyName - not works. I want to have same value as on plugin view friendly name.

Try

var spm = _paymentService.LoadPaymentMethodBySystemName("writeHere_PaymentMethodSystemName");
    
        if (spm != null)
        {
            var Name = spm.GetLocalizedFriendlyName(_localizationService, _workContext.WorkingLanguage.Id);

}
6 years ago
Thanks! Works!
This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.