首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用函数elgg_view_input()?

如何使用函数elgg_view_input()?
EN

Stack Overflow用户
提问于 2017-10-22 23:28:14
回答 1查看 82关注 0票数 1

我想回顾一下elgg_view_input()Elggv2.3.4中被否决的事实

代码语言:javascript
复制
$footer = '';
foreach ($controls as $control) {
    $type = elgg_extract('input', $control, 'text');
    unset($control['input']);
    $footer .= elgg_view_input($type, $control);
}
EN

回答 1

Stack Overflow用户

发布于 2017-10-23 03:18:11

使用elgg_view_field()代替.

示例1

代码语言:javascript
复制
  <?php

echo elgg_view_field(['#type' => 'text', 'name' => 'sitename', '#label' => elgg_echo('installation:sitename'), 'value' => elgg_get_config('sitename')]);
echo elgg_view_field(['#type' => 'text', 'name' => 'sitedescription', '#label' => elgg_echo('installation:sitedescription'), 'value' => elgg_get_config('sitedescription')]);
echo elgg_view_field(['#type' => 'email', 'name' => 'siteemail', '#label' => elgg_echo('installation:siteemail'), 'value' => elgg_get_site_entity()->email, 'class' => 'elgg-input-text']);
echo elgg_view_field(['#type' => 'number', 'name' => 'default_limit', '#label' => elgg_echo('installation:default_limit'), 'value' => elgg_get_config('default_limit'), 'min' => 1, 'step' => 1]);
echo elgg_view_field(['#type' => 'select', 'name' => 'language', '#label' => elgg_echo('installation:language'), 'value' => elgg_get_config('language'), 'options_values' => get_installed_translations()]);
$footer = elgg_view('input/submit', ['value' => elgg_echo('save')]);
elgg_set_form_footer($footer);

例2

代码语言:javascript
复制
   <?php

/**
 * Used to show plugin settings for both users and admins.
 *
 * @package Elgg.Core
 * @subpackage Plugins
 */
$plugin = elgg_extract('entity', $vars);
$plugin_id = $plugin->getID();
$user_guid = elgg_extract('user_guid', $vars, elgg_get_logged_in_user_guid());
// Do we want to show admin settings or user settings
$type = elgg_extract('type', $vars, '');
if ($type != 'user') {
    $type = '';
}
if (elgg_view_exists("plugins/{$plugin_id}/{$type}settings")) {
    echo elgg_view("plugins/{$plugin_id}/{$type}settings", $vars);
}
echo elgg_view_field(['#type' => 'hidden', 'name' => 'plugin_id', 'value' => $plugin_id]);
echo elgg_view_field(['#type' => 'hidden', 'name' => 'user_guid', 'value' => $user_guid]);
$footer = elgg_view_field(['#type' => 'submit', 'value' => elgg_echo('save')]);
elgg_set_form_footer($footer);

例3

代码语言:javascript
复制
/**
 * Widget edit num_display
 *
 * @uses $vars['entity']  ElggWidget
 * @uses $vars['name']    (optional) The name of the attribute, defaults to 'num_display'
 * @uses $vars['default'] (optional) The default value if no value is set, defaults to first option
 */
$widget = elgg_extract('entity', $vars);
if (!$widget instanceof \ElggWidget) {
    return;
}
unset($vars['widget']);
$name = elgg_extract('name', $vars, 'num_display');
$vars['name'] = "params[{$name}]";
if (!isset($vars['label'])) {
    $vars['label'] = elgg_echo('widget:numbertodisplay');
}
$vars['#label'] = $vars['label'];
unset($vars['label']);
if (!isset($vars['options'])) {
    $vars['options'] = [5, 8, 10, 12, 15, 20];
}
$value = sanitize_int($widget->{$name}, false);
if (!$value) {
    $value = elgg_extract('default', $vars, $vars['options'][0]);
}
$vars['value'] = $value;
$vars['#type'] = 'select';
echo elgg_view_field($vars);

我被问了大约50次这个问题。所以我想我会在这里回答,希望如果其他人最近升级了Elgg,这可能会有所帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46880142

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档