Customer.Company token a vevő cégnevéhez
A Company valódi oszlop a Customer entitáson, a nop mégsem ad rá tokent - cégnevet csak a rendelés címeiből kínál (Order.BillingCompany), ami B2B-ben más adat. Az AddCustomerTokensAsync felülírása mindkét hívási utat fedi, mert a nop int-es túlterhelése a Customer-esbe delegál. Az admin tokenlistája a CustomerTokens csoportnál egészül ki, így a nop saját vevő- és rendelés-sablonjainál is látszik. Üres Company esetén a token üresen marad; nincs visszaesés a számlázási címre.
This commit is contained in:
@@ -46,6 +46,9 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Infrastructure
|
||||
/// <summary>The measurable-order note token — its value is HTML, supplied by the notification service.</summary>
|
||||
public const string ORDER_MEASURABLE_NOTE_TOKEN = "Order.MeasurableNote";
|
||||
|
||||
/// <summary>The customer company token — a real column, but nop ships no token for it.</summary>
|
||||
public const string CUSTOMER_COMPANY_TOKEN = "Customer.Company";
|
||||
|
||||
private readonly IOrderService _orderService;
|
||||
private readonly IPriceFormatter _priceFormatter;
|
||||
private readonly ICurrencyService _currencyService;
|
||||
@@ -160,6 +163,17 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Infrastructure
|
||||
tokens.Add(new Token(ORDER_TOTAL_TOKEN, await FormatOrderTotalAsync(order, languageId)));
|
||||
}
|
||||
|
||||
/// <summary>Adds the customer's company to the customer tokens.</summary>
|
||||
public override async Task AddCustomerTokensAsync(IList<Token> tokens, Customer customer)
|
||||
{
|
||||
await base.AddCustomerTokensAsync(tokens, customer);
|
||||
|
||||
// A `Company` valódi oszlop a Customer entitáson, a nop mégsem ad rá tokent — cégnevet csak a rendelés
|
||||
// címeiből kínál (`Order.BillingCompany`). B2B-ben a vevő cége a rendeléstől független törzsadat, ezért
|
||||
// saját tokent kap. A bázis `int`-es túlterhelése ide delegál, tehát mindkét hívási út fedve van.
|
||||
tokens.Add(new Token(CUSTOMER_COMPANY_TOKEN, customer.Company));
|
||||
}
|
||||
|
||||
/// <summary>Maps the FruitBank message templates to their token groups.</summary>
|
||||
public override IEnumerable<string> GetTokenGroups(MessageTemplate messageTemplate)
|
||||
{
|
||||
@@ -185,6 +199,9 @@ namespace Nop.Plugin.Misc.FruitBankPlugin.Infrastructure
|
||||
allowedTokens.Add($"%{ORDER_MEASURABLE_NOTE_TOKEN}%");
|
||||
}
|
||||
|
||||
if (tokenGroups == null || tokenGroups.Contains(TokenGroupNames.CustomerTokens))
|
||||
allowedTokens.Add($"%{CUSTOMER_COMPANY_TOKEN}%");
|
||||
|
||||
return allowedTokens.Distinct();
|
||||
}
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ rendelést. Sikertelen küldés után a következő kiváltó újrapróbálkozik
|
||||
|
||||
## Tokenek
|
||||
|
||||
A `FruitBankMessageTokenProvider` a nop `MessageTokenProvider`-ét váltja ki (`services.Replace`), és három
|
||||
A `FruitBankMessageTokenProvider` a nop `MessageTokenProvider`-ét váltja ki (`services.Replace`), és négy
|
||||
ponton tér el tőle:
|
||||
|
||||
- `Order.Product(s)` — saját HTML-tábla; mérendő tételnél ár helyett „kalkuláció alatt".
|
||||
@@ -52,6 +52,10 @@ ponton tér el tőle:
|
||||
tételszinten már érvényesített kedvezménnyel, árfolyam-átszámítás nélkül.
|
||||
- `Order.MeasurableNote` — HTML-t hordozó token, amit a `FruitBankNotificationService` ad hozzá küldéskor.
|
||||
Az admin **teszt-küldésében** ezért üres marad.
|
||||
- `Customer.Company` — a `Company` valódi oszlop a `Customer` entitáson, a nop mégsem ad rá tokent; cégnevet
|
||||
csak a rendelés címeiből kínál (`Order.BillingCompany`). B2B-ben a vevő cége a rendeléstől független
|
||||
törzsadat. A token a vevő saját `Company` mezőjét adja, üresen hagyva, ha nincs kitöltve — a számlázási
|
||||
címre **nem** esik vissza.
|
||||
|
||||
A nop az admin „Engedélyezett tokenek" listáját a sablon nevéhez rendelt token-csoportokból állítja elő, és
|
||||
ismeretlen sablonnévre üres listát ad. A provider ezért felülírja a `GetTokenGroups`-ot a két FruitBank
|
||||
|
||||
Reference in New Issue
Block a user