Entity iframe provides a simple way of creating and managing the embed-ability of content you are creating in a drupal site. It provides a path that displays an item in a different theme (optionally) which is more appropriate for visualizing in an iframe. There are several simple settings for modifying and controlling the output when viewing an entity as an iframe. This provides a consistent path for the rendering an entity in a way that's easy to be displayed in an iframe. An example of when you'd want to use this is when you have entities in a system that are objects for use in other systems (think youtube).

Tutorials

Features

  • Works with all field-able entity types (node, user, term, etc)
  • Utilizes custom field presentation called 'iframe' which uses default field layout
  • Select a theme for use with the iframe'd display of the content (similar to admin theme)
  • Theme function / template to allow for custom output overrides
  • Permission to limit who can view the iframe version
  • Ability to add an item link on entity view
  • Ability to add a textarea that has an iframe embed code in it
  • Limit which entity types have an iframe version
  • Views integration for the embed code and link fields

Note

As of Drupal core 7.50+ you will have to add the following to your settings.php in order to get content rendered in other sites from the one you install this on:
$conf['x_frame_options'] = '';

Modules

Entity iframe mode

- Performs a URL rewrite so that all links linked once in iframe mode, attempt to retain this property. For example, content that's being displaying on entity_iframe/node/4 which links to node/6 would lose the iframe property. Entity iframe mode adds a property to the request which the theme switch can test for to ensure that node/6 still presents itself in iframe mode (when accessed via content that was in an iframe display).

Entity iframe resize

Entity iframe provider (legacy)

- Install it on a domain running entity iframe that you'd like to be able to pass information about whats on the iframe to other domains. This lets you define a list of domains that are allowed to talk to the domain this is installed on. Use this to generate private keys, which are used by the consumer piece.

Entity iframe consumer (legacy)

- Consumer allows you to talk to provider domains. Install this on the domain that you want to be allowed to talk to the provider domain. Copy your private key data from the provider domain here so that it can talk to it. The built in example will scan nodes for iframes referencing the provider domain and append the necessary key data to establish communications with the domain. During installation of this module you'll need to move entity-iframe-consumer.html into your Drupal root for performance reasons.

Entity iframe statistics

- Count views of content in entity iframe mode in the same statistics bucket as if the node were viewed normally.

Recommended other projects

Entity iframe theme is a theme that's even simpler then Drupal's core Stark theme, built for use with the Entity iframe module. It features almost no content wrappers and very little CSS. It also doesn't implement common block areas so you don't have to disable the positioning of anything.

Entity cache module is recommended when using this module because of the bundle and type comparisons that have to load entity definitions for visibility of iframe mode. This additional check is rather minor in cached environments but should be noted that
entity cache can mitigate any effects once the cache is primed.

Display Cache is recommended when using this module because it can help improve performance for authenticated and anonymous traffic. It requires some configuration and has potential security implications that need to be aligned correctly to the roles in your site but it can drastically improve render times for content in the iframe mode. This allows for display mode (like iframe) and field level output caching.

If you think this module rocks, let other people know with a Tweet

This project has been created as part of the ELMSLN by Pennsylvania State University.

Supporting organizations: 
Developed, Implemented

Project information

Releases