本文整理汇总了PHP中Drupal\Core\Form\FormState::setTemporaryValue方法的典型用法代码示例。如果您正苦于以下问题:PHP FormState::setTemporaryValue方法的具体用法?PHP FormState::setTemporaryValue怎么用?PHP FormState::setTemporaryValue使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Drupal\Core\Form\FormState
的用法示例。
在下文中一共展示了FormState::setTemporaryValue方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testTemporaryValue
/**
* @covers ::getTemporaryValue
* @covers ::hasTemporaryValue
* @covers ::setTemporaryValue
*/
public function testTemporaryValue()
{
$form_state = new FormState();
$this->assertFalse($form_state->hasTemporaryValue('rainbow_sparkles'));
$form_state->setTemporaryValue('rainbow_sparkles', 'yes please');
$this->assertSame($form_state->getTemporaryValue('rainbow_sparkles'), 'yes please');
$this->assertTrue($form_state->hasTemporaryValue('rainbow_sparkles'), TRUE);
$form_state->setTemporaryValue(array('rainbow_sparkles', 'magic_ponies'), 'yes please');
$this->assertSame($form_state->getTemporaryValue(array('rainbow_sparkles', 'magic_ponies')), 'yes please');
$this->assertTrue($form_state->hasTemporaryValue(array('rainbow_sparkles', 'magic_ponies')), TRUE);
}
示例2: getFormState
/**
* Get the wizard form state.
*
* @param \Drupal\ctools\Wizard\FormWizardInterface $wizard
* The form wizard.
* @param array $parameters
* The array of parameters specific to this wizard.
* @param bool $ajax
*
* @return \Drupal\Core\Form\FormState
*/
public function getFormState(FormWizardInterface $wizard, array $parameters, $ajax = FALSE)
{
$form_state = new FormState();
// If a wizard has no values, initialize them.
if (!$wizard->getTempstore()->get($wizard->getMachineName())) {
$cached_values = $wizard->initValues();
// Save the cached values that were initialized.
//$wizard->getTempstore()->set($wizard->getMachineName(), $cached_values);
} else {
$cached_values = $wizard->getTempstore()->get($wizard->getMachineName());
}
$form_state->setTemporaryValue('wizard', $cached_values);
$form_state->set('ajax', $ajax);
$parameters['form'] = [];
$parameters['form_state'] = $form_state;
$method = new \ReflectionMethod($wizard, 'buildForm');
$arguments = [];
foreach ($method->getParameters() as $parameter) {
if (array_key_exists($parameter->name, $parameters)) {
$arguments[] = $parameters[$parameter->name];
} elseif ($parameter->isDefaultValueAvailable()) {
$arguments[] = $parameter->getDefaultValue();
}
}
unset($parameters['form'], $parameters['form_state']);
// Remove $form and $form_state from the arguments, and re-index them.
unset($arguments[0], $arguments[1]);
$form_state->addBuildInfo('args', array_values($arguments));
return $form_state;
}