Não quero instalar nenhum plugin da comunidade para fazer isso.
Eu quero fornecer um formulário de imagem de upload simples para meus usuários registrados, o que permitirá que eles carreguem e alterem sua imagem de perfil sempre que quiserem e também quero recuperar essa imagem usando qualquer tipo de material variável do Joomla.
Quero dizer, assim como $user->username
retorna o nome do usuário conectado, deve haver alguma variável (ou script / código) similar que exibirá a imagem do perfil do usuário conectado?
Alguma chance?
fonte
A única maneira de conseguir isso sem usar uma extensão de terceiros seria escrever seu próprio plug-in ou começar a editar o plug-in de perfil que acompanha o Joomla. A edição do arquivo principal é simplesmente uma área proibida , por isso nem vou começar.
Eu sugiro fortemente que você use um pequeno e simples plugin de terceiros. Aqui está um plugin que faz exatamente isso no Joomla 3.4, Imagem do perfil:
http://extensions.joomla.org/extensions/extension/clients-a-communities/user-management/profile-picture
Para acessar e exibir o avatar, você pode usar o seguinte código:
Confira https://github.com/mosets/profilepicture para o restante das APIs.
Espero que isto ajude
fonte
if( $profilepicture->exists() )
, um ícone de imagem corrompida era exibido na página, que tentava obter a imagem desse caminhohttp://localhost/mediaDSplg_user_profilepictureDSimagesDS200DS8a639a6998494f88b94826cfba68655179d010ee.jpg
enquanto o caminho real da imagem éhttp://localhost/media/plg_user_profilepicture/images/200/8a639a6998494f88b94826cfba68655179d010ee.jpg
(a barra) / está sendo substituído pelo DS no URL de o caminho??if( $profilepicture->exists() )
Eu já usei um plugin chamado Easy Profile . Além de oferecer suporte ao Avatars, ele possui várias outras melhorias em relação ao sistema de perfil de usuário interno do Joomla. A versão gratuita é um pouco limitada, mas, pelo que me lembro, ainda suporta avatares.
Uma das funções que achei úteis foi a opção de definir um redirecionamento personalizado para o primeiro login após o registro, uma função que usamos para exibir as regras da comunidade para novos usuários.
Outras funções disponíveis (de acordo com a listagem do JED ) incluem:
fonte
Eu criei um componente de perfil personalizado há um tempo. O que você provavelmente precisa é de uma tabela de banco de dados mapeando um ID do usuário para um URL de imagem do usuário e, em seguida, crie um arquivo auxiliar para recuperar a imagem sempre que precisar.
Para fazer upload da imagem, usei o gerenciador de imagens do Joomla, acho ... para que você pudesse apenas fornecer um link que abra o gerenciador, talvez fornecer um caminho modificado direcionado para uma pasta de imagens de perfil. Ou, se você (provavelmente) não deseja que eles vejam todas as imagens disponíveis (ou seja, de todos os usuários), você pode remover todos os campos do gerenciador de imagens (por exemplo, sua instância do gerenciador de imagens) removendo os elementos filhos correspondentes do documento quando estiver carregado, basta deixar o botão "procurar" e o rótulo indicando o nome e o caminho do arquivo e salve o caminho (URL) na tabela mencionada acima.
Eu usei o AJAX para fazer isso - clicar no link para carregar / alterar a imagem chama uma função javascript, passando o ID do usuário. A função javascript abre o gerenciador de imagens, recupera o novo caminho e cria uma solicitação AJAX passando o ID do usuário e o caminho da tabela para um arquivo php que consulta / atualiza o banco de dados. Voilà.
É disso que você precisava? Avise-me se isso lhe interessar. Teremos prazer em fornecer mais informações. Embora essa provavelmente não seja a melhor prática.
Felicidades
fonte
Isso pode ser alcançado usando campos personalizados hoje em dia.
Minha resposta anterior, caso alguém ache isso útil. O acima exposto é provavelmente mais relevante, este é apenas aqui para referência.
Os campos personalizados (resposta acima) seriam a minha preferência hoje.
Existe um plugin chamado Perfil do Usuário. Basta ir a Plugins e procurar por ele. Possui alguns campos adicionais integrados, embora não seja uma imagem. Se você quiser aprimorá-lo, siga esta documentação. Atenção. Eu suspeito que esse plug-in será removido, pois Fields o torna menos útil.
https://docs.joomla.org/Creating_a_profile_plugin
Não é muito difícil, provavelmente parece muito mais difícil do que é até você saber como fazê-lo. Se eu fizesse isso, certamente observaria o código existente e tentaria adaptá-lo.
Aqui está uma lista de todos os tipos de campos de formulário atuais: https://docs.joomla.org/Standard_form_field_types
Mas você pode querer consultar especificamente https://docs.joomla.org/Media_form_field_type, que dará acesso ao modal do gerenciador de mídia.
fonte