[limb-svn] r6564 - in 3.x/trunk/limb/macro: src/tags/form tests/cases/tags/form
svn at limb-project.com
svn at limb-project.com
Mon Dec 3 15:26:21 MSK 2007
Author: serega
Date: 2007-12-03 15:26:21 +0300 (Mon, 03 Dec 2007)
New Revision: 6564
URL: http://fisheye.limb-project.com/changelog/limb/?cs=6564
Modified:
3.x/trunk/limb/macro/src/tags/form/form.tag.php
3.x/trunk/limb/macro/tests/cases/tags/form/lmbMacroFormTagTest.class.php
Log:
-- {{form}} now takes datasource from some particular variable if it defined in template
Modified: 3.x/trunk/limb/macro/src/tags/form/form.tag.php
===================================================================
--- 3.x/trunk/limb/macro/src/tags/form/form.tag.php 2007-12-03 12:22:22 UTC (rev 6563)
+++ 3.x/trunk/limb/macro/src/tags/form/form.tag.php 2007-12-03 12:26:21 UTC (rev 6564)
@@ -32,9 +32,13 @@
$code->writePHP("{$form}->setDatasource({$from});\n");
$this->remove('from');
}
+
+ $datasource_id = $form . '_datasource';
+ // передача установленного в шаблон списка ошибок формы
+ $code->writePHP("if(isset({$datasource_id})){$form}->setDatasource({$datasource_id});\n");
+ // передача установленного в шаблон списка ошибок формы
$error_list_id = $form . '_error_list';
- // передача установленного в шаблон списка ошибок формы
$code->writePHP("if(isset({$error_list_id})){$form}->setErrorList({$error_list_id});\n");
parent :: _generateBeforeOpeningTag($code);
Modified: 3.x/trunk/limb/macro/tests/cases/tags/form/lmbMacroFormTagTest.class.php
===================================================================
--- 3.x/trunk/limb/macro/tests/cases/tags/form/lmbMacroFormTagTest.class.php 2007-12-03 12:22:22 UTC (rev 6563)
+++ 3.x/trunk/limb/macro/tests/cases/tags/form/lmbMacroFormTagTest.class.php 2007-12-03 12:26:21 UTC (rev 6564)
@@ -50,7 +50,23 @@
$out = $page->render();
$this->assertEqual($out, '<form name="my_form">1111</form>');
- }
+ }
+
+ function testFormTakesDatasourceFromTemplateVariable()
+ {
+ $template = '{{form name="my_form"}}'.
+ '<?php $ds = $this->form_my_form->getDatasource(); '.
+ 'if(isset($ds["value"])) echo $ds["value"];'.
+ '?>'.
+ '{{/form}}';
+
+ $page = $this->_createMacroTemplate($template, 'tpl.html');
+
+ $page->set('form_my_form_datasource', array("value" => 1111));
+
+ $out = $page->render();
+ $this->assertEqual($out, '<form name="my_form">1111</form>');
+ }
function testFormTakesDatasourceByFromAttribute()
{
More information about the limb-svn
mailing list