/**
 * Prints <link> tags for all stylesheets associated with the given form.
 *
 * @see get_stylesheets_for_form()
 */
function include_stylesheets_for_form(sfForm $form)
{
    echo get_stylesheets_for_form($form);
}
// get_javascripts_for_form() get_stylesheets_for_form()
$t->diag('get_javascripts_for_form() get_stylesheets_for_form()');
$form = new MyForm();
$output = <<<EOF
<script type="text/javascript" src="/path/to/a/foo.js"></script>
<script type="text/javascript" src="/path/to/a/bar.js"></script>

EOF;
$t->is(get_javascripts_for_form($form), fix_linebreaks($output), 'get_javascripts_for_form() returns script tags');
$output = <<<EOF
<link rel="stylesheet" type="text/css" media="all" href="/path/to/a/foo.css" />
<link rel="stylesheet" type="text/css" media="print" href="/path/to/a/bar.css" />

EOF;
$t->is(get_stylesheets_for_form($form), fix_linebreaks($output), 'get_stylesheets_for_form() returns link tags');

// use_javascripts_for_form() use_stylesheets_for_form()
$t->diag('use_javascripts_for_form() use_stylesheets_for_form()');

$response = sfContext::getInstance()->getResponse();
$form = new MyForm();

$response->resetAssets();
use_stylesheets_for_form($form);
$t->is_deeply($response->getStylesheets(), array('/path/to/a/foo.css' => array('media' => 'all'), '/path/to/a/bar.css' => array('media' => 'print')), 'use_stylesheets_for_form() adds stylesheets to the response');

$response->resetAssets();
use_javascripts_for_form($form);
$t->is_deeply($response->getJavaScripts(), array('/path/to/a/foo.js' => array(), '/path/to/a/bar.js' => array()), 'use_javascripts_for_form() adds javascripts to the response');
 public function renderEmbeddedForms($name)
 {
     sfContext::getInstance()->getConfiguration()->loadHelpers(array('Asset', 'Url'));
     $parentForm = $this->getOption('parent_form');
     $taintedValues = $parentForm->getTaintedValues();
     $html = '';
     foreach ($this->embeddedForms as $formName => $form) {
         $formClonedWidget = clone $parentForm->getWidget($formName);
         $formTempWidget = new sfWidgetFormSchemaDecorator($form->getWidgetSchema(), $this->getEmbededFormFormatter($form)->getDecoratorFormat());
         $formWidgetId = $formClonedWidget->generateId($formName);
         $formIndex = $formName[strlen($formName) - 1];
         $formTaintedValues = is_array($taintedValues) && isset($taintedValues[$formName]) ? $taintedValues[$formName] : array();
         /* Renders form's code */
         $parentForm->setWidget($formName, $formTempWidget);
         $formHtml = $this->renderDispatch('renderForm', $this->renderDispatch('renderFormHeader', $this->renderDispatch('renderButtonRemoveForm', $this->generateId($name), $formIndex, image_path($this->getOption('delete-button-image')), $this->getOption('delete-button-text'), $this->getOption('after-delete-js')), $this->getFormTitle($form, $formTaintedValues)), $parentForm[$formName]->render(array()), get_javascripts_for_form($form) . get_stylesheets_for_form($form));
         $parentForm->setWidget($formName, $formClonedWidget);
         $html .= $formHtml;
     }
     return $html;
 }
<?php

use_helper('I18N', 'Asset', 'Tag');
?>

  <?php 
echo call_user_func(array($rendererClass, 'renderForm'), call_user_func(array($rendererClass, 'renderFormHeader'), call_user_func(array($rendererClass, 'renderButtonRemoveForm'), $widgetId, $childCount, image_path($images['delete-button-image']['image']), $images['delete-button-image']['text'], $afterDeleteJs), $formTitle), str_replace(array('%content%'), array($form->renderUsing($formFormatter)), $form->getWidgetSchema()->getFormFormatter()->getDecoratorFormat()), get_javascripts_for_form($form) . get_stylesheets_for_form($form));
Example #5
0
$t->is(get_javascripts(), '<script type="text/javascript" src="module/action?sf_format=js"></script>' . "\n", 'use_dynamic_javascript() register a dynamic javascript in the response');
// use_dynamic_stylesheet()
$t->diag('use_dynamic_stylesheet()');
use_dynamic_stylesheet('module/action');
$t->is(get_stylesheets(), '<link rel="stylesheet" type="text/css" media="screen" href="module/action?sf_format=css" />' . "\n", 'use_dynamic_stylesheet() register a dynamic stylesheet in the response');
class MyForm extends sfForm
{
    public function getStylesheets()
    {
        return array('/path/to/a/foo.css' => 'all', '/path/to/a/bar.css' => 'print');
    }
    public function getJavaScripts()
    {
        return array('/path/to/a/foo.js', '/path/to/a/bar.js');
    }
}
// get_javascripts_for_form() get_stylesheets_for_form()
$t->diag('get_javascripts_for_form() get_stylesheets_for_form()');
$form = new MyForm();
$t->is(get_javascripts_for_form($form), <<<EOF
<script type="text/javascript" src="/path/to/a/foo.js"></script>
<script type="text/javascript" src="/path/to/a/bar.js"></script>

EOF
, 'get_javascripts_for_form() returns script tags');
$t->is(get_stylesheets_for_form($form), <<<EOF
<link rel="stylesheet" type="text/css" media="all" href="/path/to/a/foo.css" />
<link rel="stylesheet" type="text/css" media="print" href="/path/to/a/bar.css" />

EOF
, 'get_stylesheets_for_form() returns link tags');