Drupal Drag Drop Builder is awesome Module for Drupal CMS. It comes with alot of features, Bring you and your customers connects to Drupal easier. More fiendly, more easier that is Drupal Builder mission.
Key features:
- Drupal Builder base on Field, So can be attached to any of Drupal Enity such as: Node, User, Taxonomy, …
- Compatible with Drupal version 7.x
- Easy to install and use.
- Add unlimited row section, columns, and Unlimited contents.
- Responsive Grid CSS.
- Support Video, And Image background Parallax.
- Allow configuration permission base on user’s roles, or permission rule for each content in the column.
- Well code and clear documentation. Video tutorial how to install, and use included in the documentation.
API and HOOKS Implements for the Developer
<?php
/**
* HOOK_builder_content_info()
*/
function HOOK_builder_content_info()
$contents = array();
//Custom text
$contents["custom_text"] = array(
"info" => t("Custom text"),
"group" => t("Text"),
);
$contents["node"] = array(
"info" => t("Adding existing node"),
"group" => t("Node"),
);
return $contents;
/**
* Hook_builder_content_configure($delta = "", $content = array())
*/
function HOOK_builder_content_configure($delta = "", $content = array())
$form = array();
switch ($delta)
case "node":
$form["nid"] = array(
"#type" => "textfield",
"#title" => t("Enter node ID or title"),
"#default_value" => !empty($content["settings"]["nid"]) ? $content["settings"]["nid"] : "",
"#autocomplete_path" => "builder/autocomplete/node",
"#required" => TRUE,
);
$view_modes_options = array();
$view_modes = builder_get_entity_view_modes("node");
if (!empty($view_modes))
foreach ($view_modes as $key => $vm)
$view_modes_options[$key] = $vm["label"];
$form["view_mode"] = array(
"#type" => "select",
"#title" => t("View mode"),
"#options" => $view_modes_options,
"#default_value" => isset($content["settings"]["view_mode"]) ? $content["settings"]["view_mode"] : "full",
);
$form["hide_node_title"] = array(
"#type" => "checkbox",
"#title" => t("Hide node title"),
"#default_value" => isset($content["settings"]["hide_node_title"]) ? $content["settings"]["hide_node_title"] : FALSE,
);
break;
case "custom_text":
$form["custom_text"] = array(
"#type" => "text_format",
"#title" => t("Custom text"),
"#default_value" => isset($content["settings"]["custom_text"]["value"]) ? $content["settings"]["custom_text"]["value"] : "",
"#format" => isset($content["settings"]["custom_text"]["format"]) ? $content["settings"]["custom_text"]["format"] : filter_default_format(),
);
break;
return $form;
/**
* HOOK_builder_content_view()
*/
function HOOK_builder_content_view($delta = "", $content = array())
switch ($delta)
case "node":
$node_content = "";
if (!empty($content["settings"]["nid"]))
$nid = $content["settings"]["nid"];
if ($node = node_load($nid))
if (isset($content["settings"]["hide_node_title"]) && $content["settings"]["hide_node_title"])
// hide node title.
$node->title = FALSE;
$node_view = node_view($node, $content["settings"]["view_mode"]);
$node_content = render($node_view);
$content["content"] = $node_content;
break;
case "custom_text":
$custom_text_value = isset($content["settings"]["custom_text"]["value"]) ? $content["settings"]["custom_text"]["value"] : "";
if (isset($content["settings"]["custom_text"]["format"]))
$custom_text_value = check_markup($custom_text_value, $content["settings"]["custom_text"]["format"]);
$content["content"] = $custom_text_value;
break;
No comments:
Post a Comment