- Postagens: 2
- Obrigados Recebidos: 0
[Tutorial] Adicionando campo no formulário nativo - 2.5
- ricardo2rios
- Offline
- JCB! Novato
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
Coloquei$mail->addRecipient($contact->email_to);
$mail->addRecipient($subject);
Please Entrar ou Registrar to join the conversation.
- nathaliaelyzanethi
- Offline
- JCB! Colaborador
- Postagens: 45
- Obrigados Recebidos: 0
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.
- ricardo2rios
- Offline
- JCB! Novato
- Postagens: 2
- Obrigados Recebidos: 0
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.
- edgarelias
- Offline
- JCB! Novato
- Postagens: 3
- Obrigados Recebidos: 0
http://www.saudeemgoias.com.br/nutricio ... aldas.html
Please Entrar ou Registrar to join the conversation.
- adalco
- Offline
- JCB! Novato
- Postagens: 1
- Obrigados Recebidos: 0
(Primeiramente quero agradecer pelo topico e os colegas que ensinaram) Joomla! 2.5.18nathaliaelyzanethi 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"
/>
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.