Drupal Drag Drop Builder (Drupal)

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.

Drupal Drag Drop Builder
Drupal Drag Drop Builder
Drupal Drag Drop Builder

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.
  • HTML5 Video background.
  • 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

Ideas for Theme Development:

  • Create unlimited variations for Headers – so when create new page we can select a header for that one.
  • Create unlimited variations for Footers.
  • Create unlimited variations for main Menus.
  • Your idea…
<?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;
  }
}

Download Drupal Drag Drop Builder (Drupal)

Leave a Reply

Your email address will not be published. Required fields are marked *