Diciamo che esiste una componente di presentazione in un progetto che rende una lista non ordinata Abbiamo un paio di opzioni di fornitura di dati da qualsiasi ListRenderer in una pagina (chiamato ListRenderer, forse.):Sitecore Content Albero Architettura
- Avere un campo TreeList (o TreeListEx) sull'elemento di contenuto e leggere ListRenderer da esso.
- Fornire un DataSource (o un altro parametro) al ListRenderer tramite i dettagli della presentazione.
Io di solito evito il numero 1 nei miei progetti perché lega i sottolivelli ai modelli, il che diventa piuttosto disordinato. Se segui questo percorso, alla fine avrai campi per supportare ogni potenziale sottolivello nel tuo progetto.
Quindi le mie soluzioni tendono all'opzione n. 2, che elimina questo problema. Tuttavia, viene fornito con una propria borsa di domande. Dove posso inserire questi vari "elenchi" per un determinato ListRenderer da usare? Per massimizzare il riutilizzo e la condivisione, di solito creo una directory di componenti vicino alla radice del sito che contiene tutti questi tipi di cose, se prevedo che gli elenchi saranno condivisi. Questo sembra meno accessibile e difficile da usare per l'autore dei contenuti, che improvvisamente non hanno idea di dove sia la fonte per il loro ListRenderer a meno che non sappiano come aprire i dettagli della presentazione (che è leggermente avanzato per il mio utente medio).
Se ritengo che le Liste non saranno condivise e sono molto specifiche per la pagina, le inserirò direttamente sotto l'elemento in questione. Questo ha la tendenza a confondere la struttura dei contenuti, tuttavia, e qualsiasi sublayout di navigazione generato dinamicamente deve quindi verificare se un elemento è una pagina effettiva prima di generare il collegamento ad esso. Più lavoro su Sitecore, meno utilizzo questo approccio, ma mi sembra più facile per l'autore dei contenuti. L'accesso alle informazioni è molto più semplice quando si utilizza questo approccio.
Esiste un modo accettato dal settore per affrontare questo problema? Succede sempre nei progetti, e nella mia testa faccio fatica a bilanciare preoccupazioni tecniche e paternità dei contenuti in situazioni come queste.
La risposta semplice è NO, non esiste uno standard di settore. Tutto ciò che hai menzionato sono cose comuni, anche gli sviluppatori di Sitecore stagionati considerano spesso. È in gran parte basato sui requisiti, ad es. se si supporta l'editor di pagine per questi sublayout modulari, si desidera l'approccio n. 2 con una cartella di origine dati condivisa a livello globale. Se usano l'editor di contenuti e non amano i dettagli della presentazione, alcune volte i sottovoci rendono più semplice. È necessario scegliere un approccio e forzarlo su ogni progetto OPPURE definire l'approccio per progetto in base ai requisiti per i redattori (le mie preferenze) –