putJsReady Method

This method will put (injected) javascript code into ready function block of javascript. This method only combined with getJsReady method.

Basic Usage

Here is the basic usage of putJsReady method.

putJsReady(string $content_location[, array $data]): controllerObject

Parameters

putJsReady method has 1 required parameter $content_location and 1 optional parameters $data.

$content_location

The $content_location value will be reffered to a file name under app/view/THEME/. This value also can contain path prefix of subdirectory before the filename.

Content Location Requirements

The valid content should only put inside in a directory beneath current selected theme directory.

- app/
|- view/
|-- front/
|--- home/
|---- home_bottom.php

The home_bottom.php contain about javascript wrapped inside PHP file.

$data

The $data value is an array that contained one or more array key value(s).

Example Usage

Here is the basic example for putJsReady method.

class Home extends SENE_Controller
{
  public function __construct()
  {
    parent::__construct();
    $this->setTheme('front');
  }
  public function index()
  {
    ...
    $this->putJsReady('home/home_bottom',$data);
    ...
  }
}

So, the front theme and home_bottom.php layout should be existed on the directory structure.

|- app/
|-- view/
|--- front/
|---- home/
|----- home_bottom.php

Full Example with $data usage

Here is the full example for putJsReady method using $data and its content.

|- app/
|-- controller/
|--- home.php
|-- view/
|--- front/
|---- home/
|----- home_bottom.php
|---- page/
|----- col-1.php

Here is the content of home.php controller file.

class Home extends SENE_Controller
{
  public function __construct()
  {
    parent::__construct();
    $this->setTheme('front');
  }
  public function index()
  {
    $data = array();
    $data['admin_name'] = 'Daeng';
    $this->putJsReady('home/home_bottom',$data);
    ...
  }
}

Here is the content of col-1.php layout file.

<!DOCTYPE html>
<html>
<head>
  <title>Test</title>
</head>
<body>
  <script>
  $(document).ready(function(e){
    <?php $this->getJsReady(); ?>
  });
  </script>
</body>
</html>

Here is the content of home_bottom.php embedded javascript file.

alert('<?php echo $admin_name?>');

The $data variable that passed into putJsContent method, has been extracted into native variable depending on key name of array.

In this case, the $data['admin_name'] converted into $admin_name if called inside home_bottom.php file.

The putThemeContent, putJsContent, and render method(s) has ability for buffered the html view.