/ / Iný obsah v rámci toho istého dokumentu - umbraco, umbraco7

Rôzny obsah v rámci toho istého dokumentu - umbraco, umbraco7

Rozvíjam žiadosť s Umbraco a VS 2017, Určite typ dokumentu, existuje veľa rozdielov len v jednom malomčasť jeho obsahu. To, čo nechcem robiť, je vytvoriť veľa rôznych dokumentov pre každú variáciu. Je nejako možné mať len jeden dokument a change dynamically only a part of it? Ak áno, ako?

Potom, ako by bolo možné zavolať napr. @Umbraco.Field("body") s určitým argumentom (which should define the desired variation) a získať právo zakaždým, keď obsah?

odpovede:

1 pre odpoveď č. 1

Nie je úplne jasné, čo sa snažítedosiahnuť, ale ak môžete vložiť špeciálne pole značkovača (napríklad {{UNIQUE_BIT_HERE}}) v obsahu tela (alebo existuje určitý html tag / atribút, ktorý môžete nájsť a nahradiť), potom je to jednoduché - stačí použiť štandardnú manipuláciu s reťazcami c # ,

Predpokladám, že vaše pole "body" je bohaté textové pole, ak áno, musí konvertovať z typu HtmlString na štandardný reťazec a potom znova späť.

@{
var uniqueData = "Whatever";
var bodyString = Umbraco.Field("body").ToString();
var bodyReplaced = new HtmlString(bodyString.Replace("{{UNIQUE_BIT_HERE}}", uniqueData));
}
<div>
@bodyReplaced
</div>

Ako stranou navrhujem, aby ste sa premiestnili od Umbraco.Field a použili silne zadaný Model.Content alebo, ešte lepšie, modely staviteľ Umbraco veci, ale to bude fungovať.


0 pre odpoveď č. 2

Verím, že segmenty a variácie sú niečo, čo umbraco bude lepšie podporovať vo V8. Môžete sa dostať preč pomocou balíka s názvom Vorto https://our.umbraco.org/projects/backoffice-extensions/vorto

Vorto je vlastník editora, ktorý môžete zabaliťďalší vlastník editora. Umožňuje vám mať rôzne hodnoty pre rôzne jazyky. Potom počas behu môžete zobraziť požadovanú lokalizovanú verziu. Možno budete môcť použiť Vorto alebo podobný prístup. Je to užitočné? Ak nie, mohli by ste nám poskytnúť ďalšie príklady toho, čo sa snažíte urobiť?