Здравствуйте.
Копаюсь в одном компоненте из маркетплейс.
Это компонент Комментарии к любому инфоблоку.
Очень удобно, работает хорошо.
Но заказчик просит чтоб пользователи могли добавлять аватарку при комментировании.
Создал новое свойство в инфоблоке AVA (тип файл).
В шаблоне компонента прописал форме
Дальше в форме указал инпут для картинки
С формой как бы все.
Теперь ищу как этот компонент записывает данные в инфоблок.
Нашел файл компонента component.php по адресу /bitrix/components/
В нем нашел ко:
Как ведите, создал переменную $ava и присвоил ей создание картинки.
Дольше нашел еще один файл компонента component.php по адресу /bitrix/modules/
В нем:
Как видите, полю AVA (тип поля файл) кидаю содержимое переменной $ava.
Но картинка не добавляется.
Подскажите что не так.
Копаюсь в одном компоненте из маркетплейс.
Это компонент Комментарии к любому инфоблоку.
Очень удобно, работает хорошо.
Но заказчик просит чтоб пользователи могли добавлять аватарку при комментировании.
Создал новое свойство в инфоблоке AVA (тип файл).
В шаблоне компонента прописал форме
Код |
---|
<fo rm enctype="multipart/form-data" action="<?=$GLOBALS["APPLICATION"]->GetCurUri()?>" method='POST' on submit='return md_validate(this);'> |
Код |
---|
<input name="AVA" type='file' class="w-45 reg" /> |
Теперь ищу как этот компонент записывает данные в инфоблок.
Нашел файл компонента component.php по адресу /bitrix/components/
В нем нашел ко:
Код |
---|
case "add": if ($comment->Add( $arParams["OBJECT_ID"], $arResult["POST"]["MESSAGE"], intval($arResult["POST"]["AUTHOR"]), $arResult["POST"]["PARENT"], intval($arResult["POST"]["DEPTH"]), $arResult["POST"]["NONUSER"], $arResult["POST"]["EMAIL"], $additional, $ava = CFile::MakeFileArray($_SERVER["DOCUMENT_ROOT"]."/ava/".$_FILES['AVA']['name']), $arParams["MODERATE"] ) |
Дольше нашел еще один файл компонента component.php по адресу /bitrix/modules/
В нем:
Код |
---|
public function Add($object, $text, $author = false, $parent = false, $level = 1, $nonuser = false, $email = false, $additional = false, $ava, $moderation = false) { CModule::IncludeModule("iblock"); $section = self::GetSection($object); $prop = array( "USER" => $author, "OBJECT" => $object, "DEPTH" => $level, "PARENT" => $parent, "NONUSER" => $nonuser, "EMAIL" => $email, "ADDITIONAL" => $additional, "AVA" => $ava, ); $arF = array( "NAME" => $nonuser.($nonuser && $email ? " " : "").($email ? "(".$email.")" : ""), "IBLOCK_ID" => self::GetIBlock(), "IBLOCK_SECTION_ID" => $section, "ACTIVE" => $moderation ? "N" : "Y", "PROPERTY_VALUES" => $prop, "PREVIEW_TEXT" => $text, "PREVIEW_TEXT_TYPE" => "html", ); $el = new CIBlockElement(); if ($id = $el->add($arF)) { return $id; } else { $GLOBALS["KHAYR_MAIN_COMMENT_COMMENT_ERROR"] = $el->LAST_ERROR; return false; } } |
Но картинка не добавляется.
Подскажите что не так.