Skip to content

an html layout builder similar to GWT (google web toolkit). using Jamboree you can easily create html layouts using pure php core object oriented.

Notifications You must be signed in to change notification settings

christiansalazar/jamboree

Repository files navigation

Jamboree Panels

An Html Layout Builder for Yii Framework, based on GWT (Google Web Toolkit).

Official Website:

http://christiansalazar.github.com/jamboree

See Examples and Show cases:

https://github.com/christiansalazar/jamboree/wiki

I'm very glad to introduce this concept when building html for Yii Framework based applications, inspired in GWT (Google Web Toolkit), a nice designer for Java Applications based on not writing pure html, instead write it using classes.

examples

examples

examples

#Using Jamboree

I will come to the point:

Please consider the required HTML layout:

required layout for your app

Without using Jamboree you must create HTML and CSS well formed to be consistent for current navigators (ie, opera, chrome, firefox etc),

Now using Jamboree (JamHorzPanel, JamVertPanel and JamElement) you can build it easily, in this way, using PHP classes:

<?php
$mainpanel = new JamVertPanel();
$mainpanel->addHtmlOption('style','width: 500px;');

$title  = new JamElement("h1","My Title");
$panel1 = new JamHorzPanel();
$panel2 = new JamHorzPanel();

$mainpanel->add($title);
$mainpanel->add($panel1);
$mainpanel->add($panel2);

$lpanel = new JamVertPanel();
$panel1->add($lpanel);
$panel1->add('large text here');

$lpanel->add(new JamImage('images/sample1.png'));
$lpanel->add(CHtml::textArea('text at left built using CHtml','demo text'));

// styles applied to child elements when calling the 'add' method.
$panel2->addChildHtmlOptions(array(
  'style'=>'border: 3px solid gray; width: 150px; height: 100px; text-align: center; margin: 3px;'));
$panel2->add(new JamElement("b","bold text"));
$panel2->add(CHtml::image('images/sample2.png'));
$panel2->add("simple raw text");

// calling 'render' without any argument will echo the result, 
// in order to return the output please use $mainpanel->render(false);
$mainpanel->render();
?>

it will output:

layout designed using Jamboree

#Install Jamboree

Please copy the entire package into your protected/extensions directory:

/home/yours/app1/protected/extensions/jamboree

now in your config/main.php file, put the extension visible:

'import'=>array(
	'application.models.*',
	'application.models.view.*',
	'application.components.*',
	'application.extensions.jamboree.*',
),

next, in any view, were html is required you can:

 $main = new JamVertPanel();
 $main->add(new JamElement("H1","My Title"));
 $t1 = $main->add("simple text");
 $nestedPanel = $main->add(new JamHorzPanel());
   $nestedPanel->add("col 1");
   $nestedPanel->add("col 2");
 $t1->addHtmlOption("style","border: 1px solid red; cursor: pointer;");
 $t1->setBgColor("gray");
 $main->render();  
 // please checkout more complex examples at wiki in this site.

Enjoy it, please feel free to colaborate in this repository.

About

an html layout builder similar to GWT (google web toolkit). using Jamboree you can easily create html layouts using pure php core object oriented.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages