[Tutorial] Adicionando campo no formulário nativo - 2.5

Mais
10 anos 8 meses atrás #92068 por ricardo2rios
ricardo2rios replied the topic: Re: [Tutorial] Adicionando campo no formulário nativo - 2.5
Olá, pessoal.

Esse é meu primeiro post. Vamos ver se eu não faço besteira... rs!

MahPD: Fiz essa alteração no 2.5 e deu certo.
nathaliaelyzanethi: No meu caso também ficou desalinhado. Na alteração da default_form.php Eu consertei colocando o segundo item como <dd>. Desta maneira:
<dt><?php echo $this->form->getLabel('contact_telephone'); ?></dt>
<dd><?php echo $this->form->getInput('contact_telephone'); ?></dd>

janeferreira: Para enviar para vários destinatários de acordo com o assunto escolhido fiz as seguintes alterações:

Em ../components/com_contact/models/forms/contact.xml
Aproveitei o campo Assunto (subject) e mudei para ser select. Mas, acredito que dá para fazer criando um novo campo.
Esse código:
<field name="contact_subject"
      type="text"
      id="contact-emailmsg"
      size="60"
      description="COM_CONTACT_CONTACT_MESSAGE_SUBJECT_DESC"
      label="COM_CONTACT_CONTACT_MESSAGE_SUBJECT_LABEL"
      filter="string"
      validate="contactemailsubject"
      required="true"
/>

Ficou assim:
<field name="contact_subject" type="list" default="contato@xxx.com.br" label="COM_CONTACT_CONTACT_MESSAGE_SUBJECT_LABEL" description="COM_CONTACT_CONTACT_MESSAGE_SUBJECT_DESC" filter="string">		
        <option value="sejaumparceiro@xxx.com.br">Seja um parceiro</option>
        <option value="voluntariado@xxx.com.br ">Voluntariado</option>
        <option value="centraldedoacoes@xxx.com.br ">Central de Doacoes</option>
        <option value="rh@xxx.com.br">Recursos Humanos</option>
        <option value="comunicacao@xxx.com.br">Ascom</option>
        <option value="contato@xxx.com.br">Outros</option>				
</field>

E em /components/com_contact/controllers/contact.php eu adicionei mais um destinatário. Isso deve estar +/- na linha 150.
Depois de

$mail->addRecipient($contact->email_to);

Coloquei

$mail->addRecipient($subject);

Please Entrar ou Registrar to join the conversation.

  • nathaliaelyzanethi
  • Avatar de nathaliaelyzanethi
  • Offline
  • JCB! Colaborador
  • JCB! Colaborador
Mais
10 anos 8 meses atrás #92078 por nathaliaelyzanethi
nathaliaelyzanethi replied the topic: Re: [Tutorial] Adicionando campo no formulário nativo - 2.5
Olá, ricardo2rios
achei bem interessante o que fez... mas me deu uma dúvida e gostaria de saber se tu tem alguma ideia de fazer isso...

Você colocou: <option value="Este endereço de email está sendo protegido de spambots. Você precisa do JavaScript ativado para vê-lo.">Seja um parceiro</option>

se no caso eu quisesse enviar a mesma mensagem para dois e-mials(destinatários) e não só para um destinatário, é possível?

[color=#FF8000:2pf5tlfu]// não mexer! eu não sei como, mas assim está funcionando[/color:2pf5tlfu]

Please Entrar ou Registrar to join the conversation.

Mais
10 anos 8 meses atrás #92126 por ricardo2rios
ricardo2rios replied the topic: Re: [Tutorial] Adicionando campo no formulário nativo - 2.5
Olá.

Eu até acho que tem um solução mais elegante. but...

Fiz assim:
1 - coloquei os três valores na opção e separados por ponto e virgula. Isso no xml
<option value="email1@dominio.com.br;email2@dominio.com.br;email3@dominio.com.br">teste</option>

2 - Na página contact.php. Após receber a variável. Usei um split para separar e um List para já colocar cada índice da matriz em uma var
list ($email1, $email2, $email3) = split (';', $subject);

3 - adicionei cada var em um destinatário:
$mail->addRecipient($email1);
$mail->addRecipient($email2);
$mail->addRecipient($email3);

Se a quantidade de destinatários for variável. Pode-se usar um foreach na matriz.

Please Entrar ou Registrar to join the conversation.

Mais
10 anos 3 meses atrás #94648 por edgarelias
edgarelias replied the topic: Re: [Tutorial] Adicionando campo no formulário nativo - 2.5
Fiz o procedimento corretamente, mais o campo de telefone não aparece, e quando vou enviar o contato diz que o campo de telefone é obrigatório, mais o campo não está lá


http://www.saudeemgoias.com.br/nutricio ... aldas.html

Please Entrar ou Registrar to join the conversation.

Mais
10 anos 2 semanas atrás #95782 por adalco
adalco replied the topic: Re: [Tutorial] Adicionando campo no formulário nativo - 2.5

nathaliaelyzanethi escreveu: Obrigada, querido legus!
Ajudou-me muito...
Uma Benção :)

Grande abraço e parabéns por compartilhar seu conhecimento.

Edit: Só para constar, funcionou perfeitamente, sem problemas...
Mas acredito que quando feito, deve estilizar no estilo que o formulário tá pegando, porque ao contrário dos outros campos, ele ficou só um pouco desalinhado. Mas em resto, perfeito!

Lembrem-se que o nosso colega "fsoares" deu uma ideia para solucionar um certo errinho que aparece:

Olá,

Para evitar este erro é preciso remover a validação (validate="contacttelephone") do código no arquivo "contact.xml" de modo que fique assim:

Código:
<field name="contact_telephone"
type="text"
id="contact-telephone"
size="30"
description="COM_CONTACT_TELEPHONE_DESC"
label="COM_CONTACT_TELEPHONE_LABEL"
filter="string"
required="true"
/>

(Primeiramente quero agradecer pelo topico e os colegas que ensinaram) Joomla! 2.5.18

Fiz fielmente os passos ensinados percebi erro na linha 2 esta (<dt>) e é (<dd>) aqui só funcionou redondo depois disso.

1. Abra e edite o arquivo: ../components/com_contact/views/contact/tmpl/default_form.php
2. Adicione o campo no formulario abaixo do getLabel('contact_email');

esta assim
<dt><?php echo $this->form->getLabel('contact_telephone'); ?></dt>
<dt><?php echo $this->form->getInput('contact_telephone'); ?></dt> <---(erro dt)

deve ficar assim
<dt><?php echo $this->form->getLabel('contact_telephone'); ?></dt>
<dd><?php echo $this->form->getInput('contact_telephone'); ?></dd> <---(OK)
_______________________________________________________________________________

Erro2 deve adicionar ( $telephone ) veja abaixo

1.Abra e edite o arquivo ../components/com_contact/controllers/contact.php
Localize essas linhas e veja que adicionei o código ($phone= $data;).

esta assim
$mail->addReplyTo(array($email, $name )); <---erro

deve ficar assim / pelo (Notepad++ deu linha 151)
$mail->addReplyTo(array($email, $name, $telephone)); <---(ok)

Please Entrar ou Registrar to join the conversation.