Assegna una pagina a due genitori / link Silverstripe
-
27-10-2019 - |
Domanda
Utilizzo Silverstripe per visualizzare gli articoli del prodotto e a volte un articolo del prodotto appartiene a due diverse categorie / pagine.È possibile assegnare una pagina a due genitori?In caso contrario è possibile utilizzare un collegamento per l'articolo del prodotto e collegarlo a due diverse categorie / pagine?È qualcosa del genere:
categoria / pagina: colazione
sottopagine: ---------------------- pane
------------------------------------ cereali
categoria / pagina: pranzo
sottopagine: ----------------------- pane
------------------------------------- pasta
È possibile creare una pagina chiamata bread nella sezione admin di Silverstripe ma sarà in due pagine (es. colazione e pranzo).
Se non è possibile assegnare una pagina a due genitori, posso utilizzare un collegamento per il pane di pagina a due pagine (colazione e pranzo)?Come ci vado?Eventuali tutorial o moduli?
Qualsiasi aiuto è apprezzato.
Grazie, Sam :)
Soluzione
Se ti ho capito bene, vuoi avere pagine con N (1 .. *) genitori. Tuttavia le pagine hanno esattamente un genitore (eccetto la pagina principale). Dai un'occhiata al codice sottostante: tutte le pagine ereditano da sapphire/core/model/SiteTree.php
. In $extensions
puoi vedere il collegamento a sapphire/core/model/Hierarchy.php
dove hai il has_one
definito per la pagina genitore. Sebbene tu possa estendere SiteTree, il CMS non è in grado di gestirlo, quindi dovresti anche rielaborare parte del CMS. Non credo che sia quello che vuoi.
Penso che quello che stai cercando siano DataObject come pagine. Dai un'occhiata a http:// www.ssbits.com/tutorials/2010/dataobjects-as-pages-part-1-keeping-it-simple/ che descrive questo. Dovrai aggiungere relazioni many_many
e tutto il resto di cui hai bisogno sulle tue "pagine", ma avrai tutta la flessibilità che desideri.
Sentiti libero di pubblicare eventuali domande di follow-up.