Sitecore 6 - wie zum Speichern von HTML-formatierten Text und Referenz in Code-Behind

StackOverflow https://stackoverflow.com/questions/4136239

  •  30-09-2019
  •  | 
  •  

Frage

Ich möchte in der Lage sein, zu speichern, wieder verwendbaren HTML-formatierten Text in Sitecore und Referenz in Code-Behind für die Aufnahme in einer benutzerdefinierten Benutzersteuerung. Was ist die beste Praxis, dies zu tun? Wenn eine Option A wählt Benutzer zum Beispiel würde ich Standardtext A in meiner Kontrolle verweisen. Alle Beispiele dafür, wie dies zu erreichen, werden geschätzt. Danke.

War es hilfreich?

Lösung

Sie haben ein paar Optionen:

  1. Speichern Sie den Text in den Standardwerten der gleichen Vorlage, die Ihre Optionsliste definiert. Das macht es auf dem gleichen Produkt verfügbar, aber Standard für alle Einzelteile. Verwenden Sicherheit das Feld zu sperren, wenn Sie sich Sorgen um sie bearbeitet wird. Dies könnte auch mit dem neuen „Klonen“ -Funktion in 6,4 erreicht werden, glaube ich.
  2. Erstellen Sie eine Struktur außerhalb Ihres Heim Element für diese Daten zu speichern. Basierend auf der gewählten Option, ein Element in Ihrem Inhaltsbaum finden, die auf das ausgewählte Element entspricht, und den Text aus der es lesen. Sie müßten diese Artikel finden entweder in Bezug auf / Sitecores / Content, oder in Bezug auf Ihre Website root, wenn Multi-Site-Support-Anforderung ist.

No.2 in Pseudo-Code:

//get the item where we have the text values
Item textBase = Sitecore.Context.Database.SelectSingleItem(textBasePath);
//find the child w/ the same name as the selected option
Item textItem = textBase.Axes.GetChild(selectedOptionValue);
string value = textItem["text"];

Andere Tipps

ich glaube, ich so etwas wie die techphoria414 2. Option tun würde:

dh Sie haben Ihre normalen „Seite“ Vorlagen wie gewohnt, aber dann haben Sie einige Felder (multilist, treelist Felder), wo Sie die Quelle der auf Ihre andere Elemente setzen enthalten die verschiedenen Texte.

dann im Grunde Sie nur die Elemente aus der aktuellen Position erhalten müssen (mit einigen sehr quick'n'dirty Code / Pseudo-Code):

    var CurrentItem = Sitecore.Context.Item;
    Sitecore.Data.Fields.MultilistField mlf1 = CurrentItem.Fields["myExternalTexts"];
    if(mlf1 != null)
    {
        foreach (Item itm in mlf1.GetItems())
        {
            lit += Sitecore.Web.UI.WebControls.FieldRenderer.Render(itm, "richtext");
        }
    } 

Sie OFC soll nicht nur hinzufügen, um sie zu einem wörtlichen und Sie sollen Sie auf dem Gebiet gebaut Sitecores renderes bei Verwendung von Sitecore 6 oder höher und es ist ein Rich-Text-Feld.

Ich hoffe, das hilft.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top