Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class MyCurledType extends CUserTypeString
- {
- function GetUserTypeDescription()
- {
- return array(
- "USER_TYPE_ID" => "c_string",
- "CLASS_NAME" => "MyCurledType",
- "DESCRIPTION" => "Таблица на 3 столбца",
- "BASE_TYPE" => "string",
- );
- }
- //Этот метод вызывается для показа значений в списке
- function GetAdminListViewHTML($arUserField, $arHtmlControl)
- {
- if(strlen($arHtmlControl["VALUE"])>0)
- return "{".$arHtmlControl["VALUE"]."}";
- else
- return ' ';
- }
- function GetEditFormHTML($arUserField, $arHtmlControl)
- {
- if($arUserField["ENTITY_VALUE_ID"]<1 && strlen($arUserField["SETTINGS"]["DEFAULT_VALUE"])>0)
- $arHtmlControl["VALUE"] = htmlspecialcharsbx($arUserField["SETTINGS"]["DEFAULT_VALUE"]);
- if($arUserField["SETTINGS"]["ROWS"] < 2)
- {
- $arHtmlControl["VALIGN"] = "middle";
- // список возможных объектов опроса
- CModule::IncludeModule('iblock');
- $arItemsPoll = array();
- $arSelect = Array("ID", "NAME", "PREVIEW_TEXT","PROPERTY_PARTY");
- $arFilter = Array("IBLOCK_ID"=>1, "ACTIVE"=>"Y");
- $res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
- while($ob = $res->GetNextElement())
- {
- $arFields = $ob->GetFields();
- $arItemsPoll[$arFields["ID"]] = $arFields["NAME"];
- }
- // список вопросов
- $arQuestions = array();
- $arSelect = Array("ID", "NAME");
- $arFilter = Array("IBLOCK_ID"=>3, "ACTIVE"=>"Y");
- $res = CIBlockElement::GetList(Array(), $arFilter, false, false, $arSelect);
- while($ob = $res->GetNextElement())
- {
- $arFields = $ob->GetFields();
- $arQuestions[$arFields["ID"]] = "- ".$arFields["NAME"];
- }
- // если значения нет не выводим поля (что бы пользователь не редактировал ничего сам)
- if(empty($arHtmlControl["VALUE"]["VALUE"])){
- return "";
- }
- else {
- return '<input type="hidden" '.
- 'name="'.$arHtmlControl["NAME"].'[ITEM]" '.
- 'placeholder="id объекта опроса"'.
- 'size="'.$arUserField["SETTINGS"]["SIZE"].'" '.
- ($arUserField["SETTINGS"]["MAX_LENGTH"]>0? 'maxlength="'.$arUserField["SETTINGS"]["MAX_LENGTH"].'" ': '').
- 'value="'.$arHtmlControl["VALUE"]["ITEM"].'" '.
- // 'disabled="disabled" '.
- '>
- <span style="width: 140px;display: inline-block;float: left;">'.$arItemsPoll[$arHtmlControl["VALUE"]["ITEM"]].'</span>
- <input type="hidden" '.
- 'name="'.$arHtmlControl["NAME"].'[QUESTION]" '.
- 'placeholder="id вопроса"'.
- 'size="'.$arUserField["SETTINGS"]["SIZE"].'" '.
- ($arUserField["SETTINGS"]["MAX_LENGTH"]>0? 'maxlength="'.$arUserField["SETTINGS"]["MAX_LENGTH"].'" ': '').
- 'value="'.$arHtmlControl["VALUE"]["QUESTION"].'" '.
- // 'disabled="disabled" '.
- '>
- <span style="width: 250px;display: inline-block;float: left;margin-right: 5px;">'.$arQuestions[$arHtmlControl["VALUE"]["QUESTION"]].'</span>
- <input type="text" '.
- 'name="'.$arHtmlControl["NAME"].'[VALUE]" '.
- 'placeholder="среднее"'.
- 'size="'.$arUserField["SETTINGS"]["SIZE"].'" '.
- ($arUserField["SETTINGS"]["MAX_LENGTH"]>0? 'maxlength="'.$arUserField["SETTINGS"]["MAX_LENGTH"].'" ': '').
- 'value="'.$arHtmlControl["VALUE"]["VALUE"].'" '.
- //($arUserField["EDIT_IN_LIST"]!="Y"? 'disabled="disabled" ': '').
- 'style="width: 25px;" '.
- 'disabled="disabled" '.
- '><br>';
- }
- }
- else
- {
- return 'для этого свойства необходимо установить настройку высоты строки равную = 1';
- }
- }
- }
- AddEventHandler("main", "OnUserTypeBuildList", array("MyCurledType", "GetUserTypeDescription"));
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement