本文整理汇总了PHP中unknown_type::get_template_vars方法的典型用法代码示例。如果您正苦于以下问题:PHP unknown_type::get_template_vars方法的具体用法?PHP unknown_type::get_template_vars怎么用?PHP unknown_type::get_template_vars使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类unknown_type
的用法示例。
在下文中一共展示了unknown_type::get_template_vars方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: smarty_function_sugar_replace_vars
/**
* This function will replace fields taken from the fields variable
* and insert them into the passed string replacing [variableName]
* tokens where found.
*
* @param unknown_type $params
* @param unknown_type $smarty
* @return unknown
*/
function smarty_function_sugar_replace_vars($params, &$smarty)
{
if (empty($params['subject'])) {
$smarty->trigger_error("sugarvar: missing 'subject' parameter");
return;
}
$fields = $smarty->get_template_vars('fields');
$subject = $params['subject'];
$matches = array();
$count = preg_match_all('/\\[([^\\]]*)\\]/', $subject, $matches);
for ($i = 0; $i < $count; $i++) {
$match = $matches[1][$i];
if (!empty($fields[$match]) && isset($fields[$match]['value'])) {
$value = $fields[$match]['value'];
if (isset($fields[$match]['type']) && $fields[$match]['type'] == 'enum' && isset($fields[$match]['options']) && isset($fields[$match]['options'][$value])) {
$subject = str_replace($matches[0][$i], $fields[$match]['options'][$value], $subject);
} else {
$subject = str_replace($matches[0][$i], $value, $subject);
}
}
}
if (!empty($params['assign'])) {
$smarty->assign($params['assign'], $subject);
return '';
}
return $subject;
}
示例2: smarty_function_sugar_replace_vars
/**
* This function will replace fields taken from the fields variable
* and insert them into the passed string replacing [variableName]
* tokens where found.
*
* @param unknown_type $params
* @param unknown_type $smarty
* @return unknown
*/
function smarty_function_sugar_replace_vars($params, &$smarty)
{
if (empty($params['subject'])) {
$smarty->trigger_error("sugarvar: missing 'subject' parameter");
return;
}
$fields = empty($params['fields']) ? $smarty->get_template_vars('fields') : $params['fields'];
$lDelim = "[";
$rDelim = "]";
if ($params['use_curly']) {
$lDelim = "{";
$rDelim = "}";
}
$subject = $params['subject'];
$matches = array();
$count = preg_match_all('/\\' . $lDelim . '([^\\' . $rDelim . ']*)\\' . $rDelim . '/', $subject, $matches);
for ($i = 0; $i < $count; $i++) {
$match = $matches[1][$i];
//List views will have fields be an array where all the keys are upper case and the values are jsut strings
if (!isset($fields[$match]) && isset($fields[strtoupper($match)])) {
$match = strtoupper($match);
}
$value = isset($fields[$match]) ? $fields[$match] : null;
if (!is_null($value)) {
if (isset($value['function']['returns']) && $value['function']['returns'] == 'html') {
$bean = $smarty->get_template_vars('bean');
$value = $bean->{$match};
} else {
if (is_array($value) && isset($value['value'])) {
$value = $value['value'];
}
}
if (isset($fields[$match]['type']) && $fields[$match]['type'] == 'enum' && isset($fields[$match]['options']) && isset($fields[$match]['options'][$value])) {
$subject = str_replace($matches[0][$i], $fields[$match]['options'][$value], $subject);
} else {
$subject = str_replace($matches[0][$i], $value, $subject);
}
}
}
if (!empty($params['assign'])) {
$smarty->assign($params['assign'], $subject);
return '';
}
return $subject;
}
示例3: smarty_function_sugar_replace_vars
/**
* This function will replace fields taken from the fields variable
* and insert them into the passed string replacing [variableName]
* tokens where found.
*
* @param unknown_type $params
* @param unknown_type $smarty
* @return unknown
*/
function smarty_function_sugar_replace_vars($params, &$smarty)
{
if (empty($params['subject'])) {
$smarty->trigger_error("sugarvar: missing 'subject' parameter");
return;
}
$fields = empty($params['fields']) ? $smarty->get_template_vars('fields') : $params['fields'];
$subject = replace_sugar_vars($params['subject'], $fields, !empty($params['use_curly']));
if (!empty($params['assign'])) {
$smarty->assign($params['assign'], $subject);
return '';
}
return $subject;
}