Last updated 20 March 2015. Created on 14 May 2009.
Edited by saurabh.dhariwal, silverwing, justindodge. Log in to edit this page.

Promos Project Page

Installation & Setup

  1. Enable the module at admin/build/modules
  2. Delegate permissions at admin/user/permissions
    Giving 'administer promos' will allow the selected role to do all the operations available.
  3. Configure the module's settings at: admin/settings/promos
    • Enter the number of blocks you'd like promos to provide. You can have as many as you'd like.
    • Restrict which node types can be used as promos. This is optional, but can help keep the interface clean.
    • More detail on the function of the various settings are listed below in the settings section
  4. Enable and configure your promo block(s) at admin/build/blocks. The block(s) will have the administrative title that was set on the promos settings page so you can find it easily.

    Also, you can embed promo blocks into node content by turning on the promos input format filter via admin/settings/filters

  5. Start adding promos! You can do this in a few different ways:
    • If you checked the "Show all nodes of promo types" option, you can simply navigate to a page where your promo block is displayed and click the "assign" button (icon with a plus sign). A lightbox will pop up with all of the nodes in the system that match the node types you selected when configuring.
    • You can use the "new" button in a promo block to create brand new content from scratch.
    • If you didn't check "Show all nodes of promo types" and you have "administer promos" permissions, you can add or edit a node in any normal fashion and check the 'make promo' checkbox under the 'promos' fieldset on the edit form. The node will then be available to add as a promo via the assign button.

    If you check the 'global' checkbox when adding a promo, that promo will appear anywhere that the block is allowed to appear. If not checked, the promo will only appear in the block for the page you are currently viewing.


administer promos
A blanket permission that gives the user full control of the various operations. Specifically, it also allows a user to see the 'promo' fieldset when editing a node to remove or promote it's status as assignable to a promo block.

assign promos
Permission to assign an existing node to a promo block.

create promos
Permission to create a new node and have it be added to the promo block through which you clicked the 'new' button. You must also have node access to create that node type.

remove promos
Permission to remove a node from a promo block (note that the node will NOT be deleted).

reorder promos
Permission to reorder the nodes in a promo block.


Here's a more detailed explanation of all the settings offered at admin/settings/promos:

This is the number of blocks the module will provide to the list at admin/build/blocks. If you reference more blocks than are here, using input filters for example, you will still have no problem accessing them, the setting simply lists the blocks on the block page, it does not dictate whether or not they are displayed. The same is true if you had 5 blocks in use, but reduce the number here to less.

Block #x Name
The name of the block as displayed on admin/build/blocks. Simply for your administrative reference.

Promo Types
The node types allowed to be considered for promo status ("promo status" meaning the node is assignable to a promo block). You may simply select 'any/all', or shift+click as many types as you want.
If you use the 'new' button provided by the promo interface, you will have a list of node types corresponding to your settings here which allow you to create a node of the type and have it be assigned to the promo block you clicked from.

The same is true for 'assign', except you will see a list of already created nodes grouped by node type. There is a caveat to this explained by the next setting:

Show all nodes of promo types
For a node to show up in the assignable promo list either:
a.) This option will be checked, in which case any node of the allowed types will be in the list. Or,
b.) This option is not checked. The node must have been granted promo status (again, meaning the node is assignable to a promo block) in 1 of 2 other ways. 1. It could be given promo status by having created that node via the 'new' button in the promos interface, or 2.) a user with 'administer promos' permissions could have edited/added a node and checked the 'make promo' box in the 'promos' fieldset of the node editing form.

Note: If this options is not checked and you create a new promo and then later remove all instances of the node from your promo blocks, the node will still show up in the list of assignable nodes.

Another note: If you used the 'assign' button for existing nodes while this option was checked, then turned it off, the nodes that you had assigned will show up in the assignable list until all instances of them are removed. If you wanted to re-add that node to promo block, you'd have to grant it promo status by going to the node edit screen and checking the 'make promo' box. I'm not sure if this should be the expected behavior, but this is a bit of an edge case so we'll see how it goes...

Enable extended permissions
Enabling this option will give you much more control over which users have the ability to do what to which promo blocks.

If this setting is checked, the promos module will provide granular permissions for each promo defined node type and promo block. E.g., "assign promos of typex to blockx". Having a permission of "assign promos" will negate the need for the more granular version, and "administer promos" eliminates the need for any other permissions.

Interface Icons
Promos can use icons for it's interface or text links. Personally I think the icons are prettier.

Icons size
This should actually say 'icon set' (to be fixed in next version), although the current practical usage is the same. The default sets provided are 1 set of icons in the 48x48, 32, 24, and 16 pixel size.
If you want to use your own icons, you can simply create a folder in the promos/images directory and add all the appropriate images to that folder. Your set will then be selectable on this form. The icons must be .png's and have the following names: assign.png, edit.png, new.png, remove.png, remove-global.png, reorder.png.

Floating Controls
Highly recommended. Check this box if you want promos administrative controls to float over the promo when you mouse over them and disappear when you mouse off. Keeps your UI looking clean and when the promos are hidden, you see exactly what a user will see when viewing the block. If this setting is unchecked, the icons or text links are placed underneath each promo.

Other important functionality

Promos Filter
You can embed promo blocks into node content by turning on the promos input format filter via admin/settings/filters. When entering text in a text field, you'll have to make sure to select the input format that you configured the promos filter to work with (this could be any/all of the available formats).
When editing the text, use the format [promoN], where N is the block delta as listed on the promos settings pages (1, 2, 3...etc). The promo block will be displayed when viewing the node.

Global promos
If you check the 'global' checkbox when adding a promo, that promo will appear anywhere that the block is allowed to appear. If not checked, the promo will only appear in the block for the page you are currently viewing.

When reordering, promos keeps track of the order you've set your nodes to on a page by page basis, so you can reorder items differently on every page and preserve the order you left them in. Newly added items that have never been ordered will float to the top.

Promos for layout/design
You can also add the same promo more than once, so you might perhaps have a node rendered as a divider line or other design element that you can use to help layout content while getting a live preview of how it will look to the user.

Promos Project Page

Looking for support? Visit the forums, or join #drupal-support in IRC.