¿Cómo meter código Analytics en sentencia Switch?

  • Autor Autor MarceFX
  • Fecha de inicio Fecha de inicio
MarceFX

MarceFX

Épsilon
Verificación en dos pasos activada
Verificado por Whatsapp
Hola,

Tengo un problema que no consigo resolver debido a mis nulos conocimientos de PHP :topsy_turvy: Estoy intentando meter un código de Google Analytics para el seguimiento de un objetivo en el input de un formulario:

analytics-1.jpg


El "onclick" que señalo en la imagen debería ir en el "input type="submit" que está marcado en azul, pero no consigo que funcione en el código, puesto que la comilla simple hace que falle. Este es el código qe genera el botón de enviar:

PHP:
switch ($type) :
		case 'submit' :

			if ( !$value ) $value = 'Submit';

			$output = '<input type="submit" value="'.$value.'" id="'.$id.'" class="submit" />';
		break;

¿Hay alguna forma de introducir el onclick adecuadamente?

Gracias!
 
Este problema o situaciónes muy común y desafortunadamente el onclick function no entra en PHP, pero tevoy a dar una solución a tu problema dado que me pase varios días investigando y preguntando en la comunidad de Analytics.

A esta solución se le conoce como ingeniería inversa, en vez de meter el código de Analytics en el PHP de tu forma, pon el código de Analytics en el resultado final, explico:

1. Pon la forma en el widget.
2. Inspecciona el código que te genera el widget ycópialo.
3. Crea un widget de texto e incluye el código quecopiaste.
4. Agrega el código de Analytics a tu código quecopiaste.
5. Se feliz tu forma ya puede ser analizada desdeAnalytics.

Me da gusto saber que la gente toma interés pormedir sus sitios, saludos.
 
Última edición:
PHP:
$output = '<input type="submit" value="'.$value.'" id="'.$id.'" class="submit" onclick="_qaq_push(\'bla bla bla\');" />';

usa \'

eso es lo que entiendo con tu post...
 
Este problema o situaciónes muy común y desafortunadamente el onclick function no entra en PHP, pero tevoy a dar una solución a tu problema dado que me pase varios días investigando y preguntando en la comunidad de Analytics.

A esta solución se le conoce como ingeniería inversa, en vez de meter el código de Analytics en el PHP de tu forma, pon el código de Analytics en el resultado final, explico:

1. Pon la forma en el widget.
2. Inspecciona el código que te genera el widget ycópialo.
3. Crea un widget de texto e incluye el código quecopiaste.
4. Agrega el código de Analytics a tu código quecopiaste.
5. Se feliz tu forma ya puede ser analizada desdeAnalytics.

Me da gusto saber que la gente toma interés pormedir sus sitios, saludos.

Te agradezco la explicación, pero no logro entender a qué te refieres. No es un Widget, es un plugin que metemos mediante shortcode directamente en e single.php

PHP:
$output = '<input type="submit" value="'.$value.'" id="'.$id.'" class="submit" onclick="_qaq_push(\'bla bla bla\');" />';

usa \'

eso es lo que entiendo con tu post...

Ya probé y tampoco funciona. Es extraño :-(
 
Hola,

Tengo un problema que no consigo resolver debido a mis nulos conocimientos de PHP :topsy_turvy: Estoy intentando meter un código de Google Analytics para el seguimiento de un objetivo en el input de un formulario:

El "onclick" que señalo en la imagen debería ir en el "input type="submit" que está marcado en azul, pero no consigo que funcione en el código, puesto que la comilla simple hace que falle. Este es el código qe genera el botón de enviar:

PHP:
switch ($type) :
		case 'submit' :

			if ( !$value ) $value = 'Submit';

			$output = '<input type="submit" value="'.$value.'" id="'.$id.'" class="submit" />';
		break;

¿Hay alguna forma de introducir el onclick adecuadamente?

Gracias!

Si te refieres a que no se puede directo en PHP, lo que puedes hacer es crear una variable con el valor de comilla simple y luego ponerla en ves de directamente las comillas simples:
PHP:
$c=" ' ";
switch ($type) : 
        case 'submit' : 

            if ( !$value ) $value = 'Submit'; 

            $output = '<input type="submit" value="'.$value.'" id="'.$id.'" class="submit" onclick="_gap.push(['.$c.'_trackEvent'.$c.', -->> etc />';
         break;
 
Me vais a matar... Era culpa mía que había puesto mal otra parte, pero con \' funciona bien. ¡¡Perdonad!!

Muchas gracias por la ayuda y por la rapidez 🙂
 
Atrás
Arriba