code: def displayable_links_js(request):
      
      links = []
      if "yacms.pages" in settings.INSTALLED_APPS:
          from yacms.pages.models import Page
          is_page = lambda obj: isinstance(obj, Page)
      else:
          is_page = lambda obj: False
      # For each item's title, we use its model's verbose_name, but in the
      # case of Page subclasses, we just use "Page", and then sort the items
      # by whether they're a Page subclass or not, then by their URL.
      for url, obj in Displayable.objects.url_map(for_user=request.user).items():
          title = getattr(obj, "titles", obj.title)
          real = hasattr(obj, "id")
          page = is_page(obj)
          if real:
              verbose_name = _("Page") if page else obj._meta.verbose_name
              title = "%s: %s" % (verbose_name, title)
          links.append((not page and real, {"title": str(title), "value": url}))
      sorted_links = sorted(links, key=lambda link: (link[0], link[1]['value']))
      return HttpResponse(dumps([link[1] for link in sorted_links]))
docs: Renders a list of url/title pairs for all ``Displayable`` subclass
      instances into JSON that's used to populate a list of links in
      TinyMCE.