Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

274
Visualizações
Correo electrónico de inscripción de Moodle para maestros - Agregar dirección de correo electrónico del estudiante

Estoy ejecutando Moodle y tengo un maestro que recibe un correo electrónico de notificación cada vez que un estudiante se inscribe en un curso (a través de la inscripción de PayPal).

El contenido del correo electrónico proviene de lang/en/enrol.php:

 $string['enrolmentnewuser'] = '{$a->user} has enrolled in course "{$a->course}";

Lo que estoy tratando de hacer es incluir la dirección de correo electrónico del estudiante en esto, para que el maestro haga referencia.

Esto es lo que he intentado:

 $string['enrolmentnewuser'] = '{$a->user} has enrolled in course "{$a->course}". Student\'s email address: {$a->email}';

Para que esta variable $a->email esté disponible, ingresé a la función que obtiene el contenido del correo electrónico: enrol/flatfile/lib.php::process_records()

Dentro de process_records(), agregué lo siguiente:

 $a->email = $user->email;

Pongo esto directamente después de estas líneas:

 $a = new stdClass(); $a->course = format_string($course->fullname, true, array('context' => $context)); $a->user = fullname($user);

y antes de esta línea, que obtiene el contenido del correo electrónico:

 $eventdata->fullmessage = get_string('enrolmentnewuser', 'enrol', $a);

Pensaría que el objeto $a ahora contendría mi nueva propiedad 'correo electrónico', a la que se podría acceder en la cadena 'registronuevousuario'.

He borrado el caché después de mis actualizaciones.

Desafortunadamente, este es el correo electrónico que el maestro está recibiendo ahora:

El estudiante se ha inscrito en el curso "Curso de prueba". Dirección de correo electrónico del estudiante: {$a->email}

Parece que $a->email no está intercambiando la propiedad real en el mensaje. Por mi vida, no he podido averiguar por qué no funciona. Ha sido difícil depurar, ya que tengo que seguir inscribiéndome y desinscribiéndome en el curso de prueba, lo cual es frustrante.

¿Alguien tiene alguna idea de por qué esto está imprimiendo el nombre de la propiedad $a->email literalmente, en lugar de la propiedad real?

over 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

En su caso, debe agregar la siguiente línea al archivo enrol/paypal/ipn.php también.

 $a->email = $user->email;

poner esto directamente después de estas líneas:

 $a->course = format_string($course->fullname, true, array('context' => $coursecontext)); $a->user = fullname($user);
over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda