I'm trying to implement Full Width Screen Video Background in bootstrap theme. And for some reason is not working. I create a node to add the HTML and using the Code Per Node module I add the CSS and the JavaScript. And the video wont display.

I'm using BootstrapCDN 3.0.2 - Bootswatch theme Yeti.
https://drupal.org/project/bootstrap

I'll appreciated if anyone can this out and let me know what I'm doing wrong.
Any help will be appreciated

Comments

davidpham’s picture

Please show me your site what have the problem. The most problem come from the javascript conflict.

darol100’s picture

I only want this in the front page. I created a template for the front page(page--front-tpl.php). In the Front Page Template I add the HTML. I add the css in my style.css and seem to be working. The JavaScript is located in boostrap.js (http://198.154.227.188/sites/all/themes/bootstrap/js/bootstrap.js)
Since you told me that can be JavaScript I did some troubleshooting and I notice that I have this error. http://imgur.com/dM8sXaS. I do not have a lot knowledge in JavaScript so this the far that I got troubleshooting.

The website is located in here. http://198.154.227.188/

Any Help Will be Appreciate

This front page(page--front-tpl.php)


<?php
/**
 * @file
 * Default theme implementation to display a single Drupal page.
 *
 * The doctype, html, head and body tags are not in this template. Instead they
 * can be found in the html.tpl.php template in this directory.
 *
 * Available variables:
 *
 * General utility variables:
 * - $base_path: The base URL path of the Drupal installation. At the very
 *   least, this will always default to /.
 * - $directory: The directory the template is located in, e.g. modules/system
 *   or themes/bartik.
 * - $is_front: TRUE if the current page is the front page.
 * - $logged_in: TRUE if the user is registered and signed in.
 * - $is_admin: TRUE if the user has permission to access administration pages.
 *
 * Site identity:
 * - $front_page: The URL of the front page. Use this instead of $base_path,
 *   when linking to the front page. This includes the language domain or
 *   prefix.
 * - $logo: The path to the logo image, as defined in theme configuration.
 * - $site_name: The name of the site, empty when display has been disabled
 *   in theme settings.
 * - $site_slogan: The slogan of the site, empty when display has been disabled
 *   in theme settings.
 *
 * Navigation:
 * - $main_menu (array): An array containing the Main menu links for the
 *   site, if they have been configured.
 * - $secondary_menu (array): An array containing the Secondary menu links for
 *   the site, if they have been configured.
 * - $breadcrumb: The breadcrumb trail for the current page.
 *
 * Page content (in order of occurrence in the default page.tpl.php):
 * - $title_prefix (array): An array containing additional output populated by
 *   modules, intended to be displayed in front of the main title tag that
 *   appears in the template.
 * - $title: The page title, for use in the actual HTML content.
 * - $title_suffix (array): An array containing additional output populated by
 *   modules, intended to be displayed after the main title tag that appears in
 *   the template.
 * - $messages: HTML for status and error messages. Should be displayed
 *   prominently.
 * - $tabs (array): Tabs linking to any sub-pages beneath the current page
 *   (e.g., the view and edit tabs when displaying a node).
 * - $action_links (array): Actions local to the page, such as 'Add menu' on the
 *   menu administration interface.
 * - $feed_icons: A string of all feed icons for the current page.
 * - $node: The node object, if there is an automatically-loaded node
 *   associated with the page, and the node ID is the second argument
 *   in the page's path (e.g. node/12345 and node/12345/revisions, but not
 *   comment/reply/12345).
 *
 * Regions:
 * - $page['help']: Dynamic help text, mostly for admin pages.
 * - $page['highlighted']: Items for the highlighted content region.
 * - $page['content']: The main content of the current page.
 * - $page['sidebar_first']: Items for the first sidebar.
 * - $page['sidebar_second']: Items for the second sidebar.
 * - $page['header']: Items for the header region.
 * - $page['footer']: Items for the footer region.
 *
 * @see bootstrap_preprocess_page()
 * @see template_preprocess()
 * @see template_preprocess_page()
 * @see bootstrap_process_page()
 * @see template_process()
 * @see html.tpl.php
 *
 * @ingroup themeable
 */
?>
<header id="navbar" role="banner" class="<?php print $navbar_classes; ?>">
  <div class="container">
    <div class="navbar-header">
      <?php if ($logo): ?>
      <a class="logo navbar-btn pull-left" href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>">
        <img src="<?php print $logo; ?>" alt="<?php print t('Home'); ?>" />
      </a>
      <?php endif; ?>

      <?php if (!empty($site_name)): ?>
      <a class="name navbar-brand" href="<?php print $front_page; ?>" title="<?php print t('Home'); ?>"><?php print $site_name; ?></a>
      <?php endif; ?>

      <!-- .btn-navbar is used as the toggle for collapsed navbar content -->
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
    </div>

    <?php if (!empty($primary_nav) || !empty($secondary_nav) || !empty($page['navigation'])): ?>
      <div class="navbar-collapse collapse">
        <nav role="navigation">
          <?php if (!empty($primary_nav)): ?>
            <?php print render($primary_nav); ?>
          <?php endif; ?>
          <?php if (!empty($secondary_nav)): ?>
            <?php print render($secondary_nav); ?>
          <?php endif; ?>
          <?php if (!empty($page['navigation'])): ?>
            <?php print render($page['navigation']); ?>
          <?php endif; ?>
        </nav>
      </div>
    <?php endif; ?>
  </div>
</header>

<!-- Features Block -->


<?php if ($page['Featured']): ?>
  <div class="BannerColor">
    <?php print render ($page['Featured']); ?>
  </div> <!-- /. Featured -->
<?php endif; ?>





< !--  Start "Full Width Screen Video Background" -->
<!-- Warming Up -->
<link href='http://fonts.googleapis.com/css?family=Buenard:700' rel='stylesheet' type='text/css'>
<script src="http://pupunzi.com/mb.components/mb.YTPlayer/demo/inc/jquery.mb.YTPlayer.js"></script>

<!--Video Section-->
<section class="content-section video-section">
  <div class="pattern-overlay">
  <a id="bgndVideo" class="player" data-property="{videoURL:'https://www.youtube.com/watch?v=fdJc1_IBKJA',containment:'.video-section', quality:'large', autoPlay:true, mute:true, opacity:1}">bg</a>
    <div class="container">
      <div class="row">
        <div class="col-lg-12">
        <h1>Full Width Video</h1>  
        <h3>Enjoy Adding Full Screen Videos to your Page Sections</h3>
     </div>
      </div>
    </div>
  </div>
</section>
<!--Video Section Ends Here-->

<!-- End "Full Width Screen Video Background"-->




<div class="main-container container">

  <header role="banner" id="page-header">
    <?php if (!empty($site_slogan)): ?>
      <p class="lead"><?php print $site_slogan; ?></p>
    <?php endif; ?>

    <?php print render($page['header']); ?>
  </header> <!-- /#page-header -->

  <div class="row">

    <?php if (!empty($page['sidebar_first'])): ?>
      <aside class="col-sm-3" role="complementary">
        <?php print render($page['sidebar_first']); ?>
      </aside>  <!-- /#sidebar-first -->
    <?php endif; ?>

    <section<?php print $content_column_class; ?>>
      <?php if (!empty($page['highlighted'])): ?>
        <div class="highlighted jumbotron"><?php print render($page['highlighted']); ?></div>
      <?php endif; ?>
      <?php if (!empty($breadcrumb)): print $breadcrumb; endif;?>
      <a id="main-content"></a>
      <?php print render($title_prefix); ?>
      <?php if (!empty($title)): ?>
        <h1 class="page-header"><?php print $title; ?></h1>
      <?php endif; ?>
      <?php print render($title_suffix); ?>
      <?php print $messages; ?>
      <?php if (!empty($tabs)): ?>
        <?php print render($tabs); ?>
      <?php endif; ?>
      <?php if (!empty($page['help'])): ?>
        <?php print render($page['help']); ?>
      <?php endif; ?>
      <?php if (!empty($action_links)): ?>
        <ul class="action-links"><?php print render($action_links); ?></ul>
      <?php endif; ?>
      <?php print render($page['content']); ?>
    </section>

    <?php if (!empty($page['sidebar_second'])): ?>
      <aside class="col-sm-3" role="complementary">
        <?php print render($page['sidebar_second']); ?>
      </aside>  <!-- /#sidebar-second -->
    <?php endif; ?>

  </div>
</div>
<footer class="footer container">
  <?php print render($page['footer']); ?>
</footer>

- Darryl Norris
Be Connected: Website | Twitter | LinkendIn | GitHub

robhoefakker’s picture

Try

jQuery( document ).ready(function( $ ) {
    $(".player").mb_YTPlayer();
});

I would personally place it in an separate .js file.

Or make sure

//Video Player
$(document).ready(function () {
    $(".player").mb_YTPlayer();
});

is placed before (in bootstrap.js)
})(jQuery, Drupal);

mouse77e’s picture

This is an interesting development and one I could use for an upcomming project - did it work?

darol100’s picture

This could be an amazing project it works but I have few other bugs on the theme. So I endend up using HTML5 video tag.

Something like this

In the Template File

<section class="content-section video-section HideMobile"   >
    <div class="pattern-overlay">
      <video autoplay loop id="bgvid" id="bgndVideo">
        <source type="video/ogg" src="sites/default/files/sample.ogg" >
        <source type="video/mp4" src="sites/default/files/sample.mp4" >
      </video>
  
    <div class="container">
      <div class="row">
          <div class="col-lg-12">
            <h1>Videos</h1>  
              <h3>Amazing GoPRO videos</h3>
          </div>
        </div>
      </div>
    </div>
  </div>
</section>

CSS

.HideMobile{
    display: block;
}

@media (max-width: 640px) 
{
    .HideMobile {
        display: none;
    }


}

video-section .pattern-overlay {
background-color: rgba(71, 71, 71, 0.59);
padding: 110px 0 32px;
min-height: 600px; 
/* Incase of overlay problems just increase the min-height*/
}

.video-section .pattern-overlay {
background-color: rgba(71, 71, 71, 0.59);
padding: 110px 0 32px;
min-height: 600px; 
/* Incase of overlay problems just increase the min-height*/
}
.video-section h1, .video-section h3{
text-align:center;
color:#fff;
}
.video-section h1{
font-size:110px;
font-weight:bold;
text-transform: uppercase;
margin: 40px auto 0px;
text-shadow: 1px 1px 1px #000;
-webkit-text-shadow: 1px 1px 1px #000;
-moz-text-shadow: 1px 1px 1px #000;
}
.video-section h3{
font-size: 25px;
font-weight:lighter;
margin: 0px auto 15px;
}

@mouse77e I hope this can be helpful for you.

The video will be gone in a mobile size because it looks really bad.

SInce I was loading the videos from my server the quality of the videos are 1080 because I want my website to load fast.

The end result = www.darrylnorris.com

I do not have a lot experiences on theming; if anyone start a project like this I will be happy to contribue back.

- Darryl Norris
Be Connected: Website | Twitter | LinkendIn | GitHub

darol100’s picture

Someone contact me directly asking me for help about this post and apparently I miss some css. And here is...

video {

    position: fixed;
    right: 0;
    bottom: 0;
    min-width: 100%;
    min-height: 100%;
    width: 100%    !important;
    height: auto   !important;
    z-index: -100;
    background-size: cover;
}

- Darryl Norris
Be Connected: Website | Twitter | LinkendIn | GitHub