Elgg построен на основе MVC. Моя основная задача заключается в том, чтобы иметь возможность сохранить значение, выбранное из раскрывающегося списка, после чего затем отобразить выбранное значение в списке элементов. Следующий код на самом деле построен на PHP, который близко следует за структурой Elgg.
Мне удалось использовать существующую инфраструктуру Elgg для отображения выпадающего списка. В котором раскрывающийся список создается путем создания формы в следующем каталоге: mod / plugin / views / default / forms / plugin / form.php. Поэтому я использовал существующую платформу Elgg (ввод / раскрытие) для создания раскрывающегося списка в виде формы.
Во-вторых, мне удалось сохранить значения, выбранные в раскрывающемся списке, и отобразить их в сообщении об успехе. Это делается в каталоге действий, который позволит сохранять значения в базе данных, когда пользователь нажимает кнопку «Сохранить».
Код для сохранения и отображения значения:
<?php
/**
* Elgg options uploader/submit action
*
* @package ElggFile
*/
// get the input variables
$list = get_input('OptionItems');
$container_guid = (int) get_input('container_guid', 0);
if ($container_guid == 0)
{
$container_guid = elgg_get_logged_in_user_guid();
}
$my_select_guid = (int) get_input (file_guid);
//create a new my_select object
$my_select = new ElggObject();
$my_select -> dropdown = $list;
$my_select ->container_guid = $container_guid;
//save to database and get id of the new my_blog
$my_select_guid = $my_select->save();
if($my_select_guid){
system_message("Your action post = " . $list);
//to add new muy_select object to river
add_to_river('river/object/file/create', 'create', elgg_get_logged_in_user_guid(), $list->guid);
}
else{
register_error("Your action post is not saved");
}
Однако в этот момент я застрял в отображении выбранного значения раскрывающегося списка в виде расширенного представления в представлении / default / object / file /
Как я могу это сделать?
Все это в документации Elgg о представлениях, которые я связывал для вас ранее: http://learn.elgg.org/en/1.12/guides/views.html#extending-views
Других решений пока нет …