How to use Your Own Content Types


Pugpig is designed to allow you to use any content types you create. The only content type required by the system is the Pugpig Edition (pugpig_edition), the container type for an edition.

Note: If you plan to use a new type, you need to add it to the list of allowed types underneath an edition.

  1. Go to: Home » Administration » Structure » Content types » Pugpig Edition
  2. Edit the field field_pugpig_pages
  3. Add your content types to the “Content types that can be referenced” section
  4. Confirm you can add your types using the shortcut links on the flatplan page

Recognised fields

The followed fields are recognised by the plugin:

  • field_heading - the default heading used in the data feed (can be overriden in the hooks)
  • field_summary - the default summary used in the data feed
  • field_pugpig_sharing_link - this is the link that will be shareable to social networks, email and more
  • field_pugpig_categories - the property used to grab categories
  • field_pugpig_hidden - if this is true, nodes won't be included in the ATOM feed
  • field_pugpig_atom_authors - this can be set on a page to set the authors of the page in the atom feed. It can be multi-valued. Alternatively, you can use the hook HOOK_pugpig_atom_page_authors($node) to set the page authors.
  • field_pugpig_atom_page_id - this can be used to set the page id in the atom feed or use the hook HOOK_ pugpig_atom_page_id($node).
  • field_pugpig_page_access can be used to set the access type for the page. This can be one of: freemeteredprotected. Alternatively, the hook HOOK_pugpig_atom_page_access($node) can be used.

Child Pages

In some cases, you may want to have child pages (using a Node Reference type) that make up the HTML for a parent page. For example, a product comparison page might actually have a sub-page for each product on it. If you want these deeper pages to be shown in the admin flatplan, you must implement the hook 'pugpig_content_fields_with_children'

function mymodule_pugpig_content_fields_with_children() {
    return array('field_child_products', 'field_child_news_items');
Was this article helpful?
0 out of 0 found this helpful
Have more questions? Submit a request


Powered by Zendesk