docs: def placeholder_data_view(self, request, id):
          """
          Return placeholder data for the given layout's template.
          """
          # See: `fluent_pages.pagetypes.fluentpage.admin.FluentPageAdmin`.
          try:
              layout = models.Layout.objects.get(pk=id)
          except models.Layout.DoesNotExist:
              json = {'success': False, 'error': 'Layout not found'}
              status = 404
          else:
              placeholders = layout.get_placeholder_data()
              status = 200
  
              placeholders = [p.as_dict() for p in placeholders]
  
              # inject placeholder help text, if any is set
              for p in placeholders:
                  try:
                      p['help_text'] = settings.FLUENT_CONTENTS_PLACEHOLDER_CONFIG.get(p['slot']).get('help_text')
                  except AttributeError:
                      p['help_text'] = None
  
              json = {
                  'id': layout.id,
                  'title': layout.title,
                  'placeholders': placeholders,
              }
  
          return JsonResponse(json, status=status)