Je suis nouveau sur FeinCMS et j'essaie de créer mon propre type de contenu. Cela utilise un autre type de contenu personnalisé que j'ai créé.FeinCMS admin inlines
Dans le code ci-dessous "CollapsiblePanel" n'apparaît pas dans l'admin car je veux seulement que vous soyez en mesure de créer "CollapsiblePanels" de la section ContentBox.
Vous pouvez également créer plusieurs RepliPanel pour chaque ContentBox. Je vais avoir du mal à comprendre comment câbler cela ensemble si l'administrateur vous permet d'ajouter les CollapsiblePanels à l'intérieur du ContentBox
class CollapsiblePanel(models.Model):
title = models.CharField(max_length=255)
content = models.TextField()
def render(self, **kwargs):
return render_to_string('collapsiblepanel.django.html', {
'media': self,
'title': mark_safe(self.title),
'text': mark_safe(self.content),
})
class ContentBoxMedia(RichTextContent):
title = models.CharField(_('title'), max_length=200, blank=True)
collapsible = models.BooleanField()
collapsiblePanels = models.ForeignKey(CollapsiblePanel)
class Meta:
abstract = True
verbose_name = 'Content Box'
verbose_name_plural = 'Content Box'
def render(self, **kwargs):
return render_to_string('contentbox.django.html', {
'media': self,
'title': mark_safe(self.title),
'text': mark_safe(self.text),
})
Il semble qu'il y ait deux problèmes avec ce code. Premièrement, le ForeignKey à CollapsiblePanel est probablement faux - il devrait être l'inverse en juger par votre description. Deuxièmement, il n'est pas possible d'utiliser l'édition en ligne dans les inlines - le stock Django ne le permet pas, donc FeinCMS non plus. –
Ha ha; comme je l'ai expliqué dans ma réponse tout à l'heure ... Bonjour Matthias :) – DrMeers