Posted by TXANKETE on July 22, 2011 at 8:36pm
Estoy interesado en lograr que me aparezca de manera predeterminada una dirección de correo electrónico cuando un administrador genera una nueva cuenta de usuario. Es decir, que el administrador que genera una nueva cuenta se encuentre un valor por defecto en el campo de " E-Mail". Por ejemplo, si el usuario se llama JUAN LOPEZ que el valor del campo E-Mail predeterminado sea juan.lopez@gmail.com.
Si alguien me puede guiar en como lograr algo similar se lo agradeceré.
Comments
Hmmmmmmmmm
pues creo que se puede hacer, pero requiere que te metas en programación ya sea en PHP (para que lo resuelvas con un modulo) o en Javascript (para que uses jquery y pongas esos valores tu cuando modifiquen la forma). Ya depende de con cuál estés más comodo.
Si te interesa hacerlo con Javascript
El código está aquí:
$('#edit-title').keyup(function(){$('#edit-locations-0-name').val($(this).val());
});
Solamente reemplaza el "edit-title" por el nombre del campo donde escribes "JUAN LOPEZ" y cambia el "edit-locations-0-name" por el ID del campo de tu e-mail.
Esta función hará que el campo de correo se llene con el nombre del usuario. Hará falta que cuando quites el cursor del campo le agregue el @eldominio.com que se puede hacer con la función .blur me parece, o algo relacionado con .focus
Inténtalo y si te parece buena opción no dudes en publicar tu duda y con gusto te ayudamos para completar el código javascript.
Saludos!
P.D. Así es como se contesta eh jackbravo ;-) ? Hahaha...
Se escribe jajajaja. Estás en
Se escribe jajajaja. Estás en foros en español <----------- el ardilla.
Gracias, lo miraré
Lamento no haber respondido antes, pero es que en vacaciones... ya se sabe. Gracias a los dos por las respuestas. Soy novato y tendre que explorar un poco las opciones que me habeis dado. Ya os diré algo cuando lo pruebe.
Ya he probado a programarlo
Ya he probado a programarlo con Javascript, para ello, he habilitado el modulo "Js-Inyector" para D7. Lo configuro con el codigo:
$('#edit-name').keyup(function(){
$('#edit-mail').val($(this).val());
});
y le indico que lo aplique a la pagina (página de creación de usuarios, que es donde me interesa):
es/admin/people/create
Sin embargo, cuando entro a generar un nuevo usuario, relleno el campo de "Nombre" y no aparece ningún valor predeterminado en el campo de e-mail. Si podeis indicarme cual puede ser el error os lo agradecería.
Un saludo!
Y seguro que está cargando tu Javascript
Una pregunta, estás seguro que el javascript efectivamente se está ejecutando? Yo normalmente lo que hago es en la primer línea poner la función
alert("Se ejecuta el javascript");dentro del código para que al cargar la página se muestre una pequeña alerta. Con esto me aseguro que sí hay un javascript disponible para modificar. Si efectivamente tu código se ejecuta podemos ver que es lo que está fallando. Si no pon tu comentario y vemos cómo seguir.La situación es que yo no he usado el módulo que dices y normalmente agrego mis archivos ya sea en el .info de mi tema o directamente en el page.tpl.php o ahora con D7 en el html.tpl.php agregando esta línea
<script src="larutacompletaatuarchivojs.js"></script>Ahora, algo que hay que cuidar en D7 es que la sintaxis cambió para evitar problemas con otros lenguajes de scripting, así que tu código debería ser más o menos así:
(function ($) {$(document).ready(function(){
<strong>y aquí tu código específico</strong>
});
})(jQuery);
Para que Drupal7 lo entienda.
Entonces, tu código para probar que se está ejecutando el javascript debería ser:
(function ($) {$(document).ready(function(){
alert("Sí se ejecutó");
});
})(jQuery);
Inténtalo primero como te dije, agrega alguna función que sepas que vá a funcionar (como el alert) y si no se muestra vemos a ver si efectivamente se carga el JS.
Pero esperamos tu respuesta, estamos seguros que se puede solucionar, saludos!
¿Hay algún lugar para ver tu site?
Por cierto, ¿hay algún lugar donde estés probando tu sitio? Alguna dirección pública para ver si se está cargando el javascript y ver si hay algún error con la sintaxis o algo así?
Podría funcionar.
Saludos!
Aún estoy probando los
Aún estoy probando los diferentes modulos en local por tengo nada en remoto aún.
He probado lo que me has indicado:
He colocado el codigo siguiente:
en el archivo "C:\xampp\htdocs\drupal7\modules\system\html.tpl"
y he creado el archivo "C:\xampp\htdocs\drupal7\sites\default\files\js_injector_1.js" con el código siguiente:
(function ($) {
$(document).ready(function(){
alert("Sí se ejecutó");
});
})(jQuery);
tal y como me indicastes pero no consigo que haga nada, no sale el mensaje de alerta por ningún lado.
¿Alguna idea de que estoy haciendo mal?
El codigo al que me refiero es:
<script src="C:\xampp\htdocs\drupal7\sites\default\files\js_injector_1.js"></script>¡Saludos!!
el src es el problema
Hola
Creo que el problema es el src de tu tag de .
La ruta que pusiste es local a tu computadora. Es decir, es la que usarías estando tu desde el explorador de archivos de windows para llegar al archivo. Peeeero, como lo que quieres es que los que entren a ver tu página a través de tu servidor web (apache) puedan ver el archivo, tienes que usar una ruta web. Lo más fácil es que le pongas como ruta: "/drupal7/sites/default/files/js_injector_1.js". Creo que esa es la correcta. Fíjate en otras rutas que ponga Drupal de otros archivos javascript o css para que estés seguro.
No lo consigo, no me aparece
No lo consigo, no me aparece el mensaje. He puesto
<script src="/drupal7/sites/default/files/js_injector_1.js"></script>en todas las partes del codigo del archivo html.tpl pero sigue sin aparecer nada.
aparece
Si ves el código fuente de la página (desde el navegador, firefox o IE). Puedes ver que realmente aparece esa línea?
Pega aquí tu código fuente
De tu .tpl para ver dónde está el problema, mételo en tags
<code>para que sea más fácil leer. Así veremos exactamente qué se está viendo y, en su defecto, cómo modificarlo para que efectivamente te muestre algo.¿Va?
Saludos!
Codigo de HTML.tpl
Os envio el codigo del archivo:
<?php/**
* @file
* Default theme implementation to display the basic html structure of a single
* Drupal page.
*
* Variables:
* - $css: An array of CSS files for the current page.
* - $language: (object) The language the site is being displayed in.
* $language->language contains its textual representation.
* $language->dir contains the language direction. It will either be 'ltr' or 'rtl'.
* - $rdf_namespaces: All the RDF namespace prefixes used in the HTML document.
* - $grddl_profile: A GRDDL profile allowing agents to extract the RDF data.
* - $head_title: A modified version of the page title, for use in the TITLE
* tag.
* - $head_title_array: (array) An associative array containing the string parts
* that were used to generate the $head_title variable, already prepared to be
* output as TITLE tag. The key/value pairs may contain one or more of the
* following, depending on conditions:
* - title: The title of the current page, if any.
* - name: The name of the site.
* - slogan: The slogan of the site, if any, and if there is no title.
* - $head: Markup for the HEAD section (including meta tags, keyword tags, and
* so on).
* - $styles: Style tags necessary to import all CSS files for the page.
* - $scripts: Script tags necessary to load the JavaScript files and settings
* for the page.
* - $page_top: Initial markup from any modules that have altered the
* page. This variable should always be output first, before all other dynamic
* content.
* - $page: The rendered page content.
* - $page_bottom: Final closing markup from any modules that have altered the
* page. This variable should always be output last, after all other dynamic
* content.
* - $classes String of classes that can be used to style contextually through
* CSS.
*
* @see template_preprocess()
* @see template_preprocess_html()
* @see template_process()
*/
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language; ?>" version="XHTML+RDFa 1.0" dir="<?php print $language->dir; ?>"<?php print $rdf_namespaces; ?>>
<head profile="<?php print $grddl_profile; ?>">
<?php print $head; ?>
<title><?php print $head_title; ?></title>
<script src="/drupal7/sites/default/files/js_injector_1.js"></script>
<?php print $styles; ?>
<?php print $scripts; ?>
</head>
<body class="<?php print $classes; ?>" <?php print $attributes;?>>
<div id="skip-link">
<a href="#main-content" class="element-invisible element-focusable"><?php print t('Skip to main content'); ?></a>
</div>
<?php print $page_top; ?>
<?php print $page; ?>
<?php print $page_bottom; ?>
</body>
</html>
Ok, yo lo que haria es
Ok, yo lo que haria es agregar mi código después del
printde los scripts, para asegurarme que es el último script que se carga, puedes ver que lo agrego ahí:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN""http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?php print $language->language; ?>" version="XHTML+RDFa 1.0" dir="<?php print $language->dir; ?>"<?php print $rdf_namespaces; ?>>
<head profile="<?php print $grddl_profile; ?>">
<?php print $head; ?>
<title><?php print $head_title; ?></title>
<?php print $styles; ?>
<?php print $scripts; ?>
<script src="/sites/default/files/js_injector_1.js"></script>
</head>
<body class="<?php print $classes; ?>" <?php print $attributes;?>>
<div id="skip-link">
<a href="#main-content" class="element-invisible element-focusable"><?php print t('Skip to main content'); ?></a>
</div>
<?php print $page_top; ?>
<?php print $page; ?>
<?php print $page_bottom; ?>
</body>
</html>
Luego, dentro del script pondría esto:
(function ($) {$(document).ready(function(){
alert("Sí se ejecutó");
$('body').addClass("clase-de-prueba");
});
})(jQuery);
Y volvería a cargar la página. Usando el plugin de Firebug de Mozilla inspeccionaría la página para revisar que efectivamente el script se esté cargando, y "abriría" el script desde el firebug para ver que el código esté dentro. Se supone que este código vá a lanzar una alerta, indicando que el script se ejecuta.
Ahora bien, ahí no termina, luego tienes que asegurarte que jQuery esté funcionando, porque la función
alertdepende del explorador, no de jQuery. Para eso es la siguiente línea con eladdClassque hará que al body le agregue una clase arbitraria, que podrás revisar con el firebug para asegurar que, ahora sí, esté funcionando el jQuery.Si efectivamente esto funciona ahora sí podrás meter en ese javascript el código que habíamos puesto antes y a partir de ahí debuggear.
Pero si esto no funciona entonces pega aquí el código fuente de la página que quieres, no me refiero al .tpl si no a lo que se vé cuando al explorador web le pides que muestre el "código fuente de la página" para ver exactamente qué está rendereando en el explorer.
Chécale y esperamos tu respuesta, saludos!
Esto ya tiene otra pinta,
Esto ya tiene otra pinta, ahora ya aparece el mensaje "Sí se ejecutó" y al pinchar en "aceptar" se visualiza página. Lo que veo ahora es que sale en la parte superior de la página varias líneas de texto con la parte inicial del contenido del archivo "HTML.TPL.php".
Pego a continuación el código fuente de la página:
?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML+RDFa 1.0//EN"
"http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" version="XHTML+RDFa 1.0" dir="ltr"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:dc="http://purl.org/dc/terms/"
xmlns:foaf="http://xmlns.com/foaf/0.1/"
xmlns:og="http://ogp.me/ns#"
xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
xmlns:sioc="http://rdfs.org/sioc/ns#"
xmlns:sioct="http://rdfs.org/sioc/types#"
xmlns:skos="http://www.w3.org/2004/02/skos/core#"
xmlns:xsd="http://www.w3.org/2001/XMLSchema#">
<head profile="http://www.w3.org/1999/xhtml/vocab">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="http://localhost/drupal7/misc/favicon.ico" type="image/vnd.microsoft.icon" />
<meta name="Generator" content="Drupal 7 (http://drupal.org)" />
<title>Bienvenido a R 2.0 | R 2.0</title>
<style type="text/css" media="all">@import url("http://localhost/drupal7/modules/system/system.base.css?lr49xm");
@import url("http://localhost/drupal7/modules/system/system.menus.css?lr49xm");
@import url("http://localhost/drupal7/modules/system/system.messages.css?lr49xm");
@import url("http://localhost/drupal7/modules/system/system.theme.css?lr49xm");</style>
<style type="text/css" media="all">@import url("http://localhost/drupal7/misc/ui/jquery.ui.core.css?lr49xm");
@import url("http://localhost/drupal7/misc/ui/jquery.ui.theme.css?lr49xm");
@import url("http://localhost/drupal7/modules/overlay/overlay-parent.css?lr49xm");
@import url("http://localhost/drupal7/modules/contextual/contextual.css?lr49xm");</style>
<style type="text/css" media="all">@import url("http://localhost/drupal7/modules/comment/comment.css?lr49xm");
@import url("http://localhost/drupal7/modules/field/theme/field.css?lr49xm");
@import url("http://localhost/drupal7/modules/node/node.css?lr49xm");
@import url("http://localhost/drupal7/modules/search/search.css?lr49xm");
@import url("http://localhost/drupal7/modules/user/user.css?lr49xm");
@import url("http://localhost/drupal7/modules/forum/forum.css?lr49xm");
@import url("http://localhost/drupal7/sites/all/modules/views/css/views.css?lr49xm");</style>
<style type="text/css" media="all">@import url("http://localhost/drupal7/sites/all/modules/ctools/css/ctools.css?lr49xm");
@import url("http://localhost/drupal7/sites/all/modules/admin_menu/admin_menu.css?lr49xm");
@import url("http://localhost/drupal7/sites/all/modules/admin_menu/admin_menu.uid1.css?lr49xm");
@import url("http://localhost/drupal7/modules/locale/locale.css?lr49xm");
@import url("http://localhost/drupal7/modules/shortcut/shortcut.css?lr49xm");
@import url("http://localhost/drupal7/modules/toolbar/toolbar.css?lr49xm");</style>
<style type="text/css" media="all">@import url("http://localhost/drupal7/themes/bartik/css/layout.css?lr49xm");
@import url("http://localhost/drupal7/themes/bartik/css/style.css?lr49xm");
@import url("http://localhost/drupal7/themes/bartik/css/colors.css?lr49xm");</style>
<style type="text/css" media="print">@import url("http://localhost/drupal7/themes/bartik/css/print.css?lr49xm");</style>
<!--[if lte IE 7]>
<link type="text/css" rel="stylesheet" href="http://localhost/drupal7/themes/bartik/css/ie.css?lr49xm" media="all" />
<![endif]-->
<!--[if IE 6]>
<link type="text/css" rel="stylesheet" href="http://localhost/drupal7/themes/bartik/css/ie6.css?lr49xm" media="all" />
<![endif]-->
<script type="text/javascript" src="http://localhost/drupal7/misc/jquery.js?v=1.4.4"></script>
<script type="text/javascript" src="http://localhost/drupal7/misc/jquery.once.js?v=1.2"></script>
<script type="text/javascript" src="http://localhost/drupal7/misc/drupal.js?lr49xm"></script>
<script type="text/javascript" src="http://localhost/drupal7/misc/ui/jquery.ui.core.min.js?v=1.8.7"></script>
<script type="text/javascript" src="http://localhost/drupal7/misc/jquery.ba-bbq.js?v=1.2.1"></script>
<script type="text/javascript" src="http://localhost/drupal7/modules/overlay/overlay-parent.js?v=1.0"></script>
<script type="text/javascript" src="http://localhost/drupal7/modules/contextual/contextual.js?v=1.0"></script>
<script type="text/javascript" src="http://localhost/drupal7/misc/jquery.cookie.js?v=1.0"></script>
<script type="text/javascript" src="http://localhost/drupal7/sites/default/files/languages/es_MH_aP2gjVo9AF3nJcM0QVJUiIvmWR3pFIbCl6PgdXKk.js?lr49xm"></script>
<script type="text/javascript" defer="defer" src="http://localhost/drupal7/sites/all/modules/admin_menu/admin_menu.js?lr49xm"></script>
<script type="text/javascript" src="http://localhost/drupal7/modules/toolbar/toolbar.js?lr49xm"></script>
<script type="text/javascript" src="http://localhost/drupal7/sites/all/modules/views/js/jquery.ui.dialog.patch.js?lr49xm"></script>
<script type="text/javascript">
<!--//--><![CDATA[//><!--
jQuery.extend(Drupal.settings, {"basePath":"\/drupal7\/","pathPrefix":"es\/","ajaxPageState":{"theme":"bartik","theme_token":"tuHOXSXkcuO-wWajp7Wu1QTBn2glNYV3mcs-LczkRBU","js":{"misc\/jquery.js":1,"misc\/jquery.once.js":1,"misc\/drupal.js":1,"misc\/ui\/jquery.ui.core.min.js":1,"misc\/jquery.ba-bbq.js":1,"modules\/overlay\/overlay-parent.js":1,"modules\/contextual\/contextual.js":1,"misc\/jquery.cookie.js":1,"public:\/\/languages\/es_MH_aP2gjVo9AF3nJcM0QVJUiIvmWR3pFIbCl6PgdXKk.js":1,"sites\/all\/modules\/admin_menu\/admin_menu.js":1,"modules\/toolbar\/toolbar.js":1,"sites\/all\/modules\/views\/js\/jquery.ui.dialog.patch.js":1},"css":{"modules\/system\/system.base.css":1,"modules\/system\/system.menus.css":1,"modules\/system\/system.messages.css":1,"modules\/system\/system.theme.css":1,"misc\/ui\/jquery.ui.core.css":1,"misc\/ui\/jquery.ui.theme.css":1,"modules\/overlay\/overlay-parent.css":1,"modules\/contextual\/contextual.css":1,"modules\/comment\/comment.css":1,"modules\/field\/theme\/field.css":1,"modules\/node\/node.css":1,"modules\/search\/search.css":1,"modules\/user\/user.css":1,"modules\/forum\/forum.css":1,"sites\/all\/modules\/views\/css\/views.css":1,"sites\/all\/modules\/ctools\/css\/ctools.css":1,"sites\/all\/modules\/admin_menu\/admin_menu.css":1,"sites\/all\/modules\/admin_menu\/admin_menu.uid1.css":1,"modules\/locale\/locale.css":1,"modules\/shortcut\/shortcut.css":1,"modules\/toolbar\/toolbar.css":1,"themes\/bartik\/css\/layout.css":1,"themes\/bartik\/css\/style.css":1,"themes\/bartik\/css\/colors.css":1,"themes\/bartik\/css\/print.css":1,"themes\/bartik\/css\/ie.css":1,"themes\/bartik\/css\/ie6.css":1}},"overlay":{"paths":{"admin":"node\/\/edit\nnode\/\/delete\nnode\/\/revisions\nnode\/\/revisions\/\/revert\nnode\/\/revisions\/\/delete\nnode\/add\nnode\/add\/\nnode\/\/group\ngroup\/\/\/admin\/\noverlay\/dismiss-message\nuser\/\/shortcuts\nadmin\nadmin\/\nbatch\ntaxonomy\/term\/\/edit\nnode\/\/translate\nuser\/\/cancel\nuser\/\/edit\nuser\/\/edit\/","non_admin":"admin\/structure\/block\/demo\/*\nadmin\/reports\/status\/php"},"ajaxCallback":"overlay-ajax"},"admin_menu":{"destination":"destination=node","hash":"bca35522ab891f36804cd11b661e7484","basePath":"\/drupal7\/es\/admin_menu","replacements":{".admin-menu-users a":"0 \/ 2"},"margin_top":1,"position_fixed":1},"tableHeaderOffset":"Drupal.toolbar.height"});
//--><!]]>
</script>
<script src="/drupal7/sites/default/files/js_injector/js_injector_1.js"></script>
</head>
<body class="html front logged-in one-sidebar sidebar-first page-node toolbar" >
<div id="skip-link">
<a href="#main-content" class="element-invisible element-focusable">Pasar al contenido principal</a>
</div>
<div class="region region-page-top">
<div id="overlay-disable-message" class="clearfix"><h3 class="element-invisible">Options for the administrative overlay</h3><a href="/drupal7/es/user/1/edit?destination=node#edit-overlay-control" id="overlay-profile-link" class="overlay-exclude element-invisible">Si tiene problemas para acceder a las páginas de administración de este sitio, desactive la superposición en su página de perfil.</a> <a href="/drupal7/es/overlay/dismiss-message?destination=node&token=yvdV9Ai442t_iHYllrdP4LM6BM04gqH7pVxFY3MAw5g" id="overlay-dismiss-message" class="overlay-exclude element-invisible">Retirar este mensaje</a></div><div id="toolbar" class="toolbar overlay-displace-top clearfix">
<div class="toolbar-menu clearfix">
<ul id="toolbar-home"><li class="home first last active"><a href="/drupal7/es" title="Inicio" class="active"><span class="home-link">Home</span></a></li>
</ul> <ul id="toolbar-user"><li class="account first"><a href="/drupal7/es/user" title="Cuenta de usuario">Bienvenido, <strong>SADMIN</strong></a></li>
<li class="logout last"><a href="/drupal7/es/user/logout">Cerrar sesión</a></li>
</ul> <h2 class="element-invisible">barra de herramientas administrativa</h2><ul id="toolbar-menu"><li class="menu-11 path-admin-dashboard first"><a href="/drupal7/es/admin/dashboard" id="toolbar-link-admin-dashboard" title="Ver y personalizar su cuadro de mandos."><span class="icon"></span>Panel de control <span class="element-invisible">(Ver y personalizar su cuadro de mandos.)</span></a></li>
<li class="menu-9 path-admin-content"><a href="/drupal7/es/admin/content" id="toolbar-link-admin-content" title="Administrar contenido y comentarios."><span class="icon"></span>Contenido <span class="element-invisible">(Administrar contenido y comentarios.)</span></a></li>
<li class="menu-21 path-admin-structure"><a href="/drupal7/es/admin/structure" id="toolbar-link-admin-structure" title="Administrar bloques, tipos de contenido, menús, etc."><span class="icon"></span>Estructura <span class="element-invisible">(Administrar bloques, tipos de contenido, menús, etc.)</span></a></li>
<li class="menu-7 path-admin-appearance"><a href="/drupal7/es/admin/appearance" id="toolbar-link-admin-appearance" title="Seleccionar y configurar sus temas."><span class="icon"></span>Apariencia <span class="element-invisible">(Seleccionar y configurar sus temas.)</span></a></li>
<li class="menu-18 path-admin-people"><a href="/drupal7/es/admin/people" id="toolbar-link-admin-people" title="Gestionar las cuentas, roles y permisos de usuarios."><span class="icon"></span>Personas <span class="element-invisible">(Gestionar las cuentas, roles y permisos de usuarios.)</span></a></li>
<li class="menu-16 path-admin-modules"><a href="/drupal7/es/admin/modules" id="toolbar-link-admin-modules" title="Extend site functionality."><span class="icon"></span>Módulos <span class="element-invisible">(Extend site functionality.)</span></a></li>
<li class="menu-8 path-admin-config"><a href="/drupal7/es/admin/config" id="toolbar-link-admin-config" title="Administrar opciones."><span class="icon"></span>Configuración <span class="element-invisible">(Administrar opciones.)</span></a></li>
<li class="menu-19 path-admin-reports"><a href="/drupal7/es/admin/reports" id="toolbar-link-admin-reports" title="Ver informes, actualizaciones y errores."><span class="icon"></span>Informes <span class="element-invisible">(Ver informes, actualizaciones y errores.)</span></a></li>
<li class="menu-12 path-admin-help"><a href="/drupal7/es/admin/help" id="toolbar-link-admin-help" title="Referencia de uso, configuración, y módulos."><span class="icon"></span>Ayuda <span class="element-invisible">(Referencia de uso, configuración, y módulos.)</span></a></li>
<li class="menu-366 path-admin-advanced_help"><a href="/drupal7/es/admin/advanced_help" id="toolbar-link-admin-advanced_help"><span class="icon"></span>Ayuda avanzada</a></li>
<li class="menu-367 path-admin-help_example last"><a href="/drupal7/es/admin/help_example" id="toolbar-link-admin-help_example"><span class="icon"></span>Ejemplo de ayuda</a></li>
</ul> <a href="/drupal7/es/toolbar/toggle?destination=node" title="Mostrar atajos" class="toggle">Mostrar atajos</a> </div>
<div class="toolbar-drawer clearfix collapsed">
<div class="toolbar-shortcuts"><ul class="menu clearfix"><li class="first leaf"><a href="/drupal7/es/node/add">Agregar contenido</a></li>
<li class="last leaf"><a href="/drupal7/es/admin/content">Find content</a></li>
</ul></div><a href="/drupal7/es/admin/config/user-interface/shortcut/shortcut-set-1" id="edit-shortcuts">Editar atajos</a> </div>
</div>
</div>
<div id="page-wrapper"><div id="page">
<div id="header" class="with-secondary-menu"><div class="section clearfix">
<a href="/drupal7/es" title="Inicio" rel="home" id="logo">
<img src="http://localhost/drupal7/themes/bartik/logo.png" alt="Inicio" />
</a>
<div id="name-and-slogan">
<div id="site-name">
<strong>
<a href="/drupal7/es" title="Inicio" rel="home"><span>R 2.0</span></a>
</strong>
</div>
</div> <!-- /#name-and-slogan -->
<div class="region region-header">
<div id="block-locale-language" class="block block-locale contextual-links-region">
<h2 class="element-invisible">Idiomas</h2>
<div class="contextual-links-wrapper"><ul class="contextual-links"><li class="block-configure first last"><a href="/drupal7/es/admin/structure/block/manage/locale/language/configure?destination=node">Configurar bloque</a></li>
</ul></div>
<div class="content">
<ul class="language-switcher-locale-url"><li class="es first active"><a href="/drupal7/es" class="language-link active"><img class="language-icon" typeof="foaf:Image" src="http://localhost/drupal7/sites/all/modules/languageicons/flags/es.png" width="16" height="12" alt="Español" title="Español" /> Español</a></li>
<li class="eu"><a href="/drupal7/eu" class="language-link"><img class="language-icon" typeof="foaf:Image" src="http://localhost/drupal7/sites/all/modules/languageicons/flags/eu.png" width="16" height="12" alt="Euskera" title="Euskera" /> Euskera</a></li>
<li class="en last"><a href="/drupal7/en" class="language-link"><img class="language-icon" typeof="foaf:Image" src="http://localhost/drupal7/sites/all/modules/languageicons/flags/en.png" width="16" height="12" alt="English" title="English" /> English</a></li>
</ul> </div>
</div>
</div>
<div id="main-menu" class="navigation">
<h2 class="element-invisible">Menú principal</h2><ul id="main-menu-links" class="links clearfix"><li class="menu-198 first last active"><a href="/drupal7/es" class="active">Home</a></li>
</ul> </div> <!-- /#main-menu -->
<div id="secondary-menu" class="navigation">
<h2 class="element-invisible">Menú secundario</h2><ul id="secondary-menu-links" class="links inline clearfix"><li class="menu-2 first"><a href="/drupal7/es/user">Mi cuenta</a></li>
<li class="menu-15 last"><a href="/drupal7/es/user/logout">Cerrar sesión</a></li>
</ul> </div> <!-- /#secondary-menu -->
</div></div> <!-- /.section, /#header -->
<div id="main-wrapper" class="clearfix"><div id="main" class="clearfix">
<div id="sidebar-first" class="column sidebar"><div class="section">
<div class="region region-sidebar-first">
<div id="block-search-form" class="block block-search contextual-links-region">
<div class="contextual-links-wrapper"><ul class="contextual-links"><li class="block-configure first last"><a href="/drupal7/es/admin/structure/block/manage/search/form/configure?destination=node">Configurar bloque</a></li>
</ul></div>
<div class="content">
<form action="/drupal7/es" method="post" id="search-block-form" accept-charset="UTF-8"><div><div class="container-inline">
<h2 class="element-invisible">Formulario de búsqueda</h2>
<div class="form-item form-type-textfield form-item-search-block-form">
<label class="element-invisible" for="edit-search-block-form--2">Buscar </label>
<input title="Escriba lo que quiere buscar." type="text" id="edit-search-block-form--2" name="search_block_form" value="" size="15" maxlength="128" class="form-text" />
</div>
<div class="form-actions form-wrapper" id="edit-actions"><input type="submit" id="edit-submit" name="op" value="Buscar" class="form-submit" /></div><input type="hidden" name="form_build_id" value="form-hW7fJ5hfrpSPNd4233e2Q06XgNPINs0gyZWXPAJ6WIo" />
<input type="hidden" name="form_token" value="44uFrGperuHkqBqo_zdqvndQVq6FJc1MVwbEiA9_8Wc" />
<input type="hidden" name="form_id" value="search_block_form" />
</div>
</div></form> </div>
</div>
<div id="block-system-navigation" class="block block-system contextual-links-region block-menu">
<h2>Navegación</h2>
<div class="contextual-links-wrapper"><ul class="contextual-links"><li class="menu-list first"><a href="/drupal7/es/admin/structure/menu/manage/navigation/list?destination=node">Listar enlaces</a></li>
<li class="menu-edit"><a href="/drupal7/es/admin/structure/menu/manage/navigation/edit?destination=node">Editar menú</a></li>
<li class="block-configure last"><a href="/drupal7/es/admin/structure/block/manage/system/navigation/configure?destination=node">Configurar bloque</a></li>
</ul></div>
<div class="content">
<ul class="menu clearfix"><li class="first collapsed"><a href="/drupal7/es/node/add">Agregar contenido</a></li>
<li class="collapsed"><a href="/drupal7/es/ctools_ajax_sample">Chaos Tools AJAX Demo</a></li>
<li class="collapsed"><a href="/drupal7/es/forum">Foros</a></li>
<li class="last leaf"><a href="/drupal7/es/tracker">Contenido reciente</a></li>
</ul> </div>
</div>
</div>
</div></div> <!-- /.section, /#sidebar-first -->
<div id="content" class="column"><div class="section">
<a id="main-content"></a>
<h1 class="title" id="page-title">
Bienvenido a R 2.0 </h1>
<div class="tabs">
</div>
<div class="region region-content">
<div id="block-system-main" class="block block-system">
<div class="content">
<div id="first-time"><p>Aun no se ha creado contenido para la página principal.</p><div class="item-list"><ul><li class="first last"><a href="/drupal7/es/node/add">Añadir nuevo contenido</a></li>
</ul></div></div> </div>
</div>
</div>
</div></div> <!-- /.section, /#content -->
</div></div> <!-- /#main, /#main-wrapper -->
<div id="footer-wrapper"><div class="section">
<div id="footer" class="clearfix">
<div class="region region-footer">
<div id="block-system-powered-by" class="block block-system contextual-links-region">
<div class="contextual-links-wrapper"><ul class="contextual-links"><li class="block-configure first last"><a href="/drupal7/es/admin/structure/block/manage/system/powered-by/configure?destination=node">Configurar bloque</a></li>
</ul></div>
<div class="content">
<span>Funciona con <a href="http://drupal.org">Drupal</a></span> </div>
</div>
</div>
</div> <!-- /#footer -->
</div></div> <!-- /.section, /#footer-wrapper -->
</div></div> <!-- /#page, /#page-wrapper -->
</body>
</html>
Creo que me equivoqué con el código que te mandé
Espera, no me hagas mucho caso pegando el código que te mandé, probablemente por eso la página se esté desplegando mal. Omití varias de las primeras líneas y eso puede ser parte de lo que comentas donde dice
Usa como base tu código tpl, no el mío que te mandé incompleto.
Olvida lo que te mandé yo, que era solo un ejemplo, y mantén tu archivo como originalmente lo tenías, solo agrega la línea de inclusión del javascript en donde acordamos para asegurar que se cargue después de los otros scripts de Drupal.
Vuelve a cargar la página de esta forma (con tu archivo original) y deberías volver a ver el alert y luego tu página como normalmente se veía. Revisa el código fuente de tu página, ya sea con Firebug (altamente recomendado) o accediendo directamente al código fuente y revisa la línea (que está justo en la etiqueta de cierre del
<head></head>) primera de tu body:<body class="html front logged-in one-sidebar sidebar-first page-node toolbar">Porque debería decir:
<body class="html front logged-in one-sidebar sidebar-first page-node toolbar clase-de-prueba">Es decir, javascript por medio de la librería jQuery debería agregar la clase "clase-de-prueba" al body de tu página. Si esto no está funcionando entonces veremos qué más hacer.
Avísanos que sucedió.
Saludos!
He corregido el error por el
He corregido el error por el que me salía parte del codigo al cargar la página y el mensaje "Sí se ejecutó" se sigue visualizando correctamente.
He comprobado tal y como me indicaste que, efectivamente, aparece en el código, donde esta el
<head></head>:<body class="html front logged-in one-sidebar sidebar-first page-node toolbar clase-de-prueba">Perfecto
Significa que ya está funcionando el javascript.
Ahora elimina esas 2 líneas que usamos nada más como control y asegúrate que el archivo javascript sea el siguiente:
(function ($) {$(document).ready(function(){
$('#edit-title').keyup(function(){
$('#edit-locations-0-name').val($(this).val());
});
});
})(jQuery);
Este código hará que cada tecla que tú escribas en el campo con id edit-title se escriba en el campo con id edit-locations-0-name
Inténtalo y si está funcionando vamos por buen camino.
Lo que resta muy probablemente puedas investigarlo tú mismo, lo que se me ocurre a mí es que tengas un campo adicional con el email ya lleno con el @eldominioquequieres y cada que presiones una tecla lo que hagas es modificar el texto del campo correo por la unión de lo que tiene el campo nombre más un punto más el campo apellido... algo así como:
$('#edit-nombre').keyup(function(){
$('#campocorreo').val($(this).val()+'.'+$('#campo-apellido').val()+'@tudominio.com');
});
$('#edit-apellido').keyup(function(){
$('#campocorreo').val($('#campo-nombre').val()+'.'+$(this).val()+'@tudominio.com');
});
Fíjate bien que la línea 1 tiene como ID edit-nombre tú reemplaza este ID por el id verdadero que estás usando tú, es decir, el ID del campo donde tu usuario escribe su nombre. De igual manera en la línea 5, reemplaza el id edit-apellido por el ID donde tu usuario pone su apellido.
Esto hará que cada vez que teclees algo nuevo en el campo nombre el valor del campo correo se actualice con el nuevo valor de tu campo más un punto, más lo que ya tenga puesto el campo de apellido más el dominio del correo que quieras. Igual cuando escribas algo en el campo apellido se actualizará el valor del campo correo para volverse lo que ya tenga puesto el campo nombre más un punto más lo que acabas de teclear en el apellido más el dominio de tu correo.
Inténta con este código a ver que pasa, yo no tengo como probarlo aquí así que no estoy seguro que funcione, pero ya estás muy cerca de lograr tu cometido. Creo que te será sencillo investigar a partir de aquí.
Muchos saludos.
Elías.
MUCHAS GRACIAS!! Aún no he
MUCHAS GRACIAS!!
Aún no he tenido mucho tiempo para poder probar pero creo que conseguiré que me funcione con los datos que me habeis dado.
Un cordial saludo!
Tras varias pruebas he
Tras varias pruebas he logrado que funcione perfectamente. Cosigo que al introducir el nombre y apellidos de los usuarios automaticamente se muestre de manera predeterminada tanto un nombre de usuario como una dirección de correo electrónico.
Va perfecto!! Muchisimas gracias.
Excelente.
Tal vez vale la pena que publiques el código que usaste; después de tantos posts probablemente a alguien más le sirva, o funcione como referencia para desarrollos futuros.
¿Cómo ves?
¡Saludos y mucho éxito!
EL CÓDIGO
Tienes toda la razón Elias. Aquí pego el codigo completo que he utilizado:
(function ($) {
$(document).ready(function(){
$('#edit-field-nombre-und-0-value').keyup(function(){
$('#edit-mail').val($('#edit-field-nombre-und-0-value').val()+'.'+$('#edit-field-apellido1-und-0-value').val()+'.'+$('#edit-field-apellido2-und-0-value').val()+'@sincorreo.com');
});
$('#edit-field-apellido1-und-0-value').keyup(function(){
$('#edit-mail').val($('#edit-field-nombre-und-0-value').val()+'.'+$('#edit-field-apellido1-und-0-value').val()+'.'+$('#edit-field-apellido2-und-0-value').val()+'@sincorreo.com');
});
$('#edit-field-apellido2-und-0-value').keyup(function(){
$('#edit-mail').val($('#edit-field-nombre-und-0-value').val()+'.'+$('#edit-field-apellido1-und-0-value').val()+'.'+$('#edit-field-apellido2-und-0-value').val()+'@sincorreo.com');
});
$('#edit-field-nombre-und-0-value').keyup(function(){
$('#edit-name').val($('#edit-field-nombre-und-0-value').val()+' '+$('#edit-field-apellido1-und-0-value').val()+' '+$('#edit-field-apellido2-und-0-value').val());
});
$('#edit-field-apellido1-und-0-value').keyup(function(){
$('#edit-name').val($('#edit-field-nombre-und-0-value').val()+' '+$('#edit-field-apellido1-und-0-value').val()+' '+$('#edit-field-apellido2-und-0-value').val());
});
$('#edit-field-apellido2-und-0-value').keyup(function(){
$('#edit-name').val($('#edit-field-nombre-und-0-value').val()+' '+$('#edit-field-apellido1-und-0-value').val()+' '+$('#edit-field-apellido2-und-0-value').val());
});
});
})(jQuery);
Creo que se puede poner de esta otra manera
Creo que tu código seguirá funcionando si lo escribes así:
(function ($) {
$(document).ready(function(){
$('#edit-field-nombre-und-0-value').keyup(function(){ // Cuando se teclea algo en el campo nombre
$('#edit-name').val($('#edit-field-nombre-und-0-value').val()+' '+$('#edit-field-apellido1-und-0-value').val()+' '+$('#edit-field-apellido2-und-0-value').val());
$('#edit-mail').val($('#edit-field-nombre-und-0-value').val()+'.'+$('#edit-field-apellido1-und-0-value').val()+'.'+$('#edit-field-apellido2-und-0-value').val()+'@sincorreo.com');
});
$('#edit-field-apellido1-und-0-value').keyup(function(){ // Cuando se teclea algo en el campo apellido 1
$('#edit-name').val($('#edit-field-nombre-und-0-value').val()+' '+$('#edit-field-apellido1-und-0-value').val()+' '+$('#edit-field-apellido2-und-0-value').val());
$('#edit-mail').val($('#edit-field-nombre-und-0-value').val()+'.'+$('#edit-field-apellido1-und-0-value').val()+'.'+$('#edit-field-apellido2-und-0-value').val()+'@sincorreo.com');
});
$('#edit-field-apellido2-und-0-value').keyup(function(){ // Cuando se teclea algo en el campo apellido 2
$('#edit-name').val($('#edit-field-nombre-und-0-value').val()+' '+$('#edit-field-apellido1-und-0-value').val()+' '+$('#edit-field-apellido2-und-0-value').val());
$('#edit-mail').val($('#edit-field-nombre-und-0-value').val()+'.'+$('#edit-field-apellido1-und-0-value').val()+'.'+$('#edit-field-apellido2-und-0-value').val()+'@sincorreo.com');
});
});
})(jQuery);
Es decir, me parece que no es necesario que definas dos veces lo que ocurre cuando presionas las teclas. La función
keyuppuede tener varias funciones dentro, creo que si mantienes tu códgo así será más fácil darle mantenimiento más adelante, y mejora la lectura cuando dentro de 1 mes tengas que volver a ver que hacía el código. Pero no estoy muy seguro, inténtalo a ver si sigue funcionando igual.Saludos!
CÓDIGO CORRECTO
Efectivamente el código que indicas también funciona perfectamente.
Muy agradecido!!
Ejecución en diferentes roles
Como indique anteriormente el código para establecer nombres de usuario predeterminados funciona correctamente, pero resulta que tal y como lo tengo unicamente me funciona en la cuenta de Superadministrador.
¿Que permisos o que código habría que modificar para que se ejecutase el script en un rol que yo determine?
Gracias.
Revisa los ID
Me parece que Drupal asigna diferentes ID a los campos de las formas, tal vez si estás como administrador el ID del campo apellido cambia y se vé como
edit-field-apellido2-und-0-value, te recomendaría que accedas con el usuario que quieres y revises si los campos siguen teniendo el mismo ID, probablemente cambie un poco.Nada más ajusta tu código a este nuevo ID, ya sea agregando otras 3 condiciones para esos ID del otro usuario o encontrando una clase que compartan los campos sin importar el tipo de usuario.
Inténtalo y nos avisas.
Elias.
ID iguales para los dos roles
He comprobado los ID y son los mismos para el rol en cuestión, así que el código debiera funcionar de igual manera, pero no lo hace.
Permisos de la carpeta
Tal vez tenga que ver con los permisos de la carpeta en la que se guarda el archivo .js
Lo revisaré por si acaso.
Enredando con los permisos,
Enredando con los permisos, parece que si no doy al rol del usuario que quiero que registre a los usuarios el permiso de "Ver el tema de administración" no me ejecuta el codigo JS.
¿Hay alguna forma de que fuencione aunque no se utilice el tema de administración?
No lo sé...
La verdad sin ver más código no te puedo ayudar. ¿Tienes el sitio online en algún lugar? Sin esto la verdad veo complicado encontrar el problema.
La web
La web es:
http://www.residencia20.org
La cuestión es que con el tema de administración funciona perfectamente, pero con el que tengo instalado por defecto parece que no, voy a probar con otro tema y os comento algo.
El problema es del tema
He hecho la prueba con otros temas y resulta que funciona perfectamente, por lo que el problema es con este tema concreto. Lo que voy a hacer es cambiar de tema o bien dejar que este rol pueda utilizar el tema de administración y solucionado.