Курс 2016 года “Разработка на UMI.CMS от 0 до готового сайта”
Событие "Активация пользователя"

Автор AllaVKРаздел Custom макросы

Ответов: 19
Просмотров: 12404
Последний ответ 24 Октября 2011, 12:09:55
от AllaVK
Отнять скидку зарег. пользователя от суммы которую видит гость.

Автор webtrendРаздел Шаблоны XSLT

Ответов: 0
Просмотров: 1011
Последний ответ 30 Января 2017, 12:11:20
от webtrend
Вывод суммы заказов всей истории покупок пользователя

Автор johnРаздел Шаблоны XSLT

Ответов: 1
Просмотров: 1748
Последний ответ 10 Октября 2014, 00:09:25
от admin
Вывод записей в блогах и фотографий в галереях пользователя

Автор ScreatorРаздел Макросы UMI.CMS

Ответов: 0
Просмотров: 2512
Последний ответ 27 Июня 2011, 14:13:31
от Screator
Постраничный вывод списка заказов залогиненного пользователя

Автор cergey251Раздел Макросы UMI.CMS

Ответов: 4
Просмотров: 3756
Последний ответ 29 Декабря 2011, 13:32:48
от cergey251

0 Пользователей и 1 Гость просматривают эту тему.

*

thefate

  • *
  • 37
  • +0/-0
    • Просмотр профиля
    • Свадьба в Липецке
Аватара пользователя
« : 24 Марта 2011, 10:14:29 »
Помогите еще пожалуйста с таким вопросом.

Аватара пользователя.

С самого начала.
1. При регистрации как сделать чтобы пользователь смог добавить аватару.
2. Как ее можно вывести в профиле
3. Как вывести аватару пользователя на странице сайта.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Аватара пользователя
« Ответ #1 : 24 Марта 2011, 11:06:12 »
сейчас расскажу по памяти, работаю с полем avatar, надо чтобы это поле находилось в отдельной группе (не помню поле avatar уже в отдельной группе полей или нет, но пусть группа у нас называется avatar_group)

1. для того чтобы пользователь мог добавить свою аватарку добавляем в шаблон регистрации /tpls/users/register/default.tpl , в блок registrate_block, макрос
%data getCreateForm(%type_id%, 'userpic', avatar_group)%

код шаблона userpic.tpl замениет на ниже приведенный (он лежит в /tpls/data/reflection, заменяем потому что в оригинальном файле userpic в блоках "reflection_field_relation_option" и "reflection_field_relation_option_a" вызывается поле picture, а нам нужно avatar)
<?php

$FORMS = Array();

$FORMS['reflection_block'] = <<<END

<tr>
<td>
Аватар
</td>

<td>
%groups%
</td>
</tr>


<tr>
<td>
Загрузить свой аватар
</td>

<td>
<input type="file" name="avatar[user_avatar_file]" />
</td>
</tr>

END;

$FORMS['reflection_group'] = <<<END

%fields%

END;


$FORMS['reflection_field_relation'] = <<<END

          %options%

END;


/*аватары здесь*/
$FORMS['reflection_field_relation_option'] = <<<END

<div class="radio">
<label for="item11">
%data getPropertyOfObject(%id%, 'avatar', 'avatar')%
</label>
<input type="radio" id="item11" name="%input_name%" value="%id%" />
</div>

END;

$FORMS['reflection_field_relation_option_a'] = <<<END

<div class="radio">
<label for="item11">
%data getPropertyOfObject(%id%, 'avatar', 'avatar')%
</label>
<input type="radio" id="item11" name="%input_name%" value="%id%" checked="checked" />
</div>

END;

?>

так же привожу кош шаблона для avatar.tpl в папке  /tpls/data
<?php

$FORMS = Array();

$FORMS['img_file'] = <<<END
<!-- <img src="%src%" width="%width%" height="%height%" alt="" border="0" />-->
%system makeThumbnail(%filepath%, 200, auto, 'avatar')%
END;


?>

и содержимое шаблона avatar.tpl в папке /tpls/thumbs, по которому выводится превью авы нужного размера
<?php

$FORMS = Array();

$FORMS['image'] = <<<END

<img src="%src%" width="%width%" height="%height%" style="border: #000 1px solid;" />

END;

?>

2. для вывода в профиле (я так понимаю вы используете шаблон /tpls/users/register/default.tpl , блок settings_block) вставте макрос
%data getEditForm(%user_id%, 'userpic', 'avatar_group')%

3. ну, для того, чтобы вывести аватар пользователя, воспользуйтесь макросом
%data getPropertyOfObject(%current_user_id%, avatar ,avatar)%

если что-то  пойдет не так пишите, я мог с чем-нибудь и ошибиться по памяти ведь)

*

alex

  • **
  • 59
  • +0/-0
    • Просмотр профиля
    • Сергеев Александр Сергеевич
Re:Аватара пользователя
« Ответ #2 : 07 Мая 2011, 16:52:26 »
У МЕНЯ БЕДА!
аватарки нигде нет! :o
Вобщем шаблон по стандарту стоит от нового интернет магазина. И он не такой, как у Вас выше по теме.
КАК ТАМ СДЕЛАТЬ ТОЖЕ САМОЕ? (возможночть изменить аву, и выбрать ее при регистрации. а так же как делать выбор авы обязательным или нет? )

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Аватара пользователя
« Ответ #3 : 07 Мая 2011, 17:40:47 »
ну начнем с того что если у вас новый интернет магазин (демо интернет магазина бытовой техники), то у вас вообще xslt , а я писал пример для tpl.

"Нет аватарки", в смысле, на сайте не отображается или нет такого поля в админке при редактировании пользователя?

*

alex

  • **
  • 59
  • +0/-0
    • Просмотр профиля
    • Сергеев Александр Сергеевич
Re:Аватара пользователя
« Ответ #4 : 07 Мая 2011, 22:17:39 »
Да в профиле в админке или любом другом пользователе кроме имени,фамилии и мыла + права доступа НИЧЕГО НЕТ!
И при регистрации соответветственно тоже((

А мне много где нужна аватарка,..создать страницу пользователя персональную - там данных много + в форуме аватарка стандартная

Как ее подклбючить чтоли..

Самое интересное, что в форуме по стандарту идет отображение автора через
<xsl:apply-templates select="document(concat('udata://forum/conf_last_message/', @id, '/'))/udata" />
там уже
<xsl:apply-templates select="document(concat('udata://users/viewAuthor/', //property[@name = 'author_id']/value/item[1]/@id, '/'))/udata" />
и так отображается аватарка
<xsl:variable name="avatar" select="document(concat('uobject://',user_id,'.avatar'))/udata/property/value/@path" />
<xsl:choose>
<xsl:when test="$avatar"><xsl:apply-templates select="document(concat('udata://system/makeThumbnail/(', string($avatar), ')/62/auto'))/udata" /></xsl:when>
<xsl:otherwise><img height="62" width="62" alt="" src="/img/blogs/default_avatar.gif" /></xsl:otherwise>
</xsl:choose>

вобщем как же мне ее выбирать, отображать и при регистрации выводить..?



*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Аватара пользователя
« Ответ #5 : 07 Мая 2011, 23:37:18 »
я так понимаю тот код который вы привели, это код из дефолтовских шаблонов которые шли к демо магазину? значит обработка поля avatar есть
<xsl:variable name="avatar" select="document(concat('uobject://',user_id,'.avatar'))/udata/property/value/@path" />
, а самого поля нет просто добавите в шаблоне данных поле с название аватар, в английском варианте чтобы была такой же как в шаблоне avatar и сделайте у этого поля тип данных изображение, по идее должно заработать (хотя сейчас не успеваю проверить на рабочей системе)

*

alex

  • **
  • 59
  • +0/-0
    • Просмотр профиля
    • Сергеев Александр Сергеевич
Re:Аватара пользователя
« Ответ #6 : 07 Мая 2011, 23:55:56 »
Даже не верится) заработало...ммм
теперь бы както это все вставить в регистрацию, но я никак аналогию с tpl не пойму, подскажите как в xslt сделать?
и где как настроить ограничения на аватар...просто он какбы везде прописан,но в админке про него ничего нет.

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Аватара пользователя
« Ответ #7 : 08 Мая 2011, 00:10:14 »
какие ограничения вы хотите настроить?

*

alex

  • **
  • 59
  • +0/-0
    • Просмотр профиля
    • Сергеев Александр Сергеевич
Re:Аватара пользователя
« Ответ #8 : 08 Мая 2011, 00:47:40 »
Размер, объем, формат

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Аватара пользователя
« Ответ #9 : 08 Мая 2011, 00:57:32 »
раньше таких ограничений нельзя было настраивать в самой системе ,не думаю что это поменялось в последующих версиях линейки 2.8

в каких-то разработках писали сами отдельный обработчик для аватара, но решение было не унифицированным и просто его перенести на другой сайт не получится

*

alex

  • **
  • 59
  • +0/-0
    • Просмотр профиля
    • Сергеев Александр Сергеевич
Re:Аватара пользователя
« Ответ #10 : 08 Мая 2011, 01:09:18 »
хм...тоесть всеравно если в формах (POST), откуда будет грузиться аватарка поставить ограничение, этого будет достаточно чтобы загружаемые аватарки были как установлено.

КАК ДОБАВИТЬ ПРОВЕРКУ POST данных, при изменении аватарки из профиля (users/settings) или при регистрации?
« Последнее редактирование: 10 Мая 2011, 14:42:23 от alex »

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Аватара пользователя
« Ответ #11 : 10 Мая 2011, 15:05:20 »
программно, это вопрос уже чистого php

то есть ты посылаешь post данными фотку и тебе надо проверить её на соответсвие некоторым параметрам... для таких целей я использовал кастомный макрос изменения личных данных, чтобы в нем можно было врубить проверку параметров аватара

можно конечно ограничиться html ограничениями такими как <input type="hidden" name="MAX_FILE_SIZE" value="30000" /> но это ограничение только на размер и то обойти его можно (для знающих людей)

*

alex

  • **
  • 59
  • +0/-0
    • Просмотр профиля
    • Сергеев Александр Сергеевич
Re:Аватара пользователя
« Ответ #12 : 10 Мая 2011, 15:13:33 »
пардон, это я в курсе...а вот де это в umi найти..?

*

admin

  • *****
  • 2444
  • +172/-1
    • Просмотр профиля
Re:Аватара пользователя
« Ответ #13 : 10 Мая 2011, 15:18:49 »
что именно?

макрос, который я переделывал, был макрос сохранения параметров пользователя (так как при регистрации не спрашивался аватар)

этот макрос прописан в форме при измененеи настроек /users/settings_do/, поэтому сам он находитсья в файле /classes/modules/users/__register.php называется соответсвенно settings_do

на основе него я и писал свою модификацию с проверкой параметров аватарки

*

alex

  • **
  • 59
  • +0/-0
    • Просмотр профиля
    • Сергеев Александр Сергеевич
Re:Аватара пользователя
« Ответ #14 : 10 Мая 2011, 19:58:33 »
аа понятно....


так.. а с регистрацией что? в файлах искать или через cms в админке? чтобы пункт авы добавить обязательный.