Свой каталог аватаров в профиле
Добрый день!
Подскажите пожалуйста, как в профиле пользователя при клике на ссылке создать свое модальное окно (с iframe) для выбора аватаров из собственной базы?
Единственное, до чего дошел — так это до размещения ссылки в шаблоне actions\ActionSettings\profile.tpl, куда можно вставить свой код:
1. Но как вызывать свое модальное окно?
2. Как в это окно воткнуть iframe?
3. И как обрабатывать событие при клике на аватар? Какую функцию навесить на него, чтобы выбранный аватар поместился в профиль?
Подскажите пожалуйста, как в профиле пользователя при клике на ссылке создать свое модальное окно (с iframe) для выбора аватаров из собственной базы?
Единственное, до чего дошел — так это до размещения ссылки в шаблоне actions\ActionSettings\profile.tpl, куда можно вставить свой код:
<div> <a href="#" id="avatar-upload" class="link-dotted">{if $oUserCurrent->getProfileAvatar()}{$aLang.settings_profile_avatar_change}{else}{$aLang.settings_profile_avatar_upload}{/if}</a><br /> <a href="#" id="avatar-remove" class="link-dotted" onclick="return ls.user.removeAvatar();" style="{if !$oUserCurrent->getProfileAvatar()}display:none;{/if}">{$aLang.settings_profile_avatar_delete}</a> <strong> <a target=_blank href=http://ХХХХХХХХ.com/>Создать свой аватар</a></strong> </div>
2. Как в это окно воткнуть iframe?
3. И как обрабатывать событие при клике на аватар? Какую функцию навесить на него, чтобы выбранный аватар поместился в профиль?
10 комментариев
Как вызываются js-модальн-окна я уже видел в коде, но до конца не смог разобраться.
не в модальном окне вопрос и не в ифрейме, а в организации сохранения аватаров, где их взять, как хранить. либо у вас что уже есть решенное, но вы не указали что именно.
А вы не подскажете, как, к примеру, хотя бы из js-скрипта вызывать модальное окно?
потом привязать вызов:
и кнопка для вызова:
А как при клике на картинку в этом окне поставить (или залить) ее как аватар?
Я так понимаю ls.user.uploadAvatar(null,input) это делает. Но простое ее подключение
выдает ошибку «Uncaught exception: TypeError: 'input.clone' is not a function»
Но никак не могу продебагить что за объект input надо передавать в нее?
Может кто-нибудь поможет на последнем этапе?
Пробовал указывать
где img — это адрес нового аватара, но в окне ресайза картинка всегда имеет src=«undefined».
<input type="file" />
) с уже выбранным файлом на локальном компьютере. Сам методuploadAvatar()
производит загрузку этого локального файла на сервер, сохраняет его временную копию и вызывает методthis.showResizeAvatar(data.sTmpFile);
, который уже показывает изображения для ресайза.Без создания некого аналога обработчика экшена /settings/profile/upload-avatar/ здесь не обойтись.
Но, как установить для уже выбранный файл?
Код
не работает.
по этому поводу я и писал: