<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xml:base="http://carlos.rinconsanchez.com"  xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
 <title>Blog de Carlos Rincón - comentarios</title>
 <link>http://carlos.rinconsanchez.com/taxonomy/term/82/0</link>
 <description></description>
 <language>es</language>
<item>
 <title>Cómo poner opcional la vista previa para envíar comentarios en Drupal</title>
 <link>http://carlos.rinconsanchez.com/como-poner-opcional-la-vista-previa-para-enviar-comentarios-en-drupal</link>
 <description>&lt;p&gt;Es algo muy sencillo pero que puede costar algo de encontrar. Para poder configurar que los comentarios de un tipo de contenidos se puedan enviar sin tener que previsualizarlos hay que hacer:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;/li&gt;
&lt;li&gt;Ir a tipos de contenido admin/content/types&lt;/li&gt;
&lt;li&gt;Editar el tipo de contenido que nos interesa&lt;/li&gt;
&lt;li&gt;Desplegar el fieldset &quot;Opciones de comentarios&quot;&lt;/li&gt;
&lt;li&gt;Poner en opcional la &quot;Vista previa del comentario&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src=&quot;http://carlos.rinconsanchez.com/sites/default/files/vista-previa-comentarios.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Y ya está :)&lt;/p&gt;
</description>
 <comments>http://carlos.rinconsanchez.com/como-poner-opcional-la-vista-previa-para-enviar-comentarios-en-drupal#comments</comments>
 <category domain="http://carlos.rinconsanchez.com/category/temas/comentarios">comentarios</category>
 <category domain="http://carlos.rinconsanchez.com/category/temas/drupal">drupal</category>
 <category domain="http://carlos.rinconsanchez.com/category/temas/howtos">howtos</category>
 <category domain="http://carlos.rinconsanchez.com/category/temas/vista-previa">vista previa</category>
 <pubDate>Mon, 20 Apr 2009 22:10:37 +0000</pubDate>
 <dc:creator>Carlos</dc:creator>
 <guid isPermaLink="false">200 at http://carlos.rinconsanchez.com</guid>
</item>
<item>
 <title>Cómo poner un bloque entre el contenido y sus comentarios</title>
 <link>http://carlos.rinconsanchez.com/como-poner-un-bloque-entre-el-contenido-y-sus-comentarios</link>
 <description>&lt;p&gt;A veces queremos poner un bloque justo después de un nodo es la versión de página pero antes de los comentarios. Por defecto Drupal pone siempre los comentarios después del contenido y no permite poner ningún bloque entre ambos.&lt;/p&gt;
&lt;p&gt;He encontrado una solución de Drupal.org pero se ha de modificar Core, lo cual, está en casi todos los casos desaconsejado.&lt;/p&gt;
&lt;p&gt;Una solución más práctica y rápida es definir una nueva región, meter los bloques que necesitemos en esa región y luego imprimir esa región en el node-tpl.php (o en el template que te interese)&lt;/p&gt;
&lt;p&gt;Por ejemplo, en mi caso quiero poner el bloque de &lt;a href=&quot;http://drupal.org/project/similar&quot;&gt;contenido relacionado&lt;/a&gt; justo después del contenido y antes que los comentarios.&lt;/p&gt;
&lt;p&gt;Primero defino las regiones añadiendo una nueva que la llamaré &#039;just_after_content&#039; (el nombre es lo de menos, puedes poner el que quieras pero es recomendable que sea identificativo). En drupal 5 esto se hace poniendo en el &lt;a href=&quot;http://drupal.org/node/29139&quot;&gt;template.php de tu theme&lt;/a&gt; lo siguiente:&lt;/p&gt;
&lt;p&gt;&amp;lt;?php&lt;br /&gt;
function mytheme_regions() {&lt;br /&gt;
  return array(&lt;br /&gt;
    &#039;right&#039; =&amp;gt; t(&#039;right sidebar&#039;),&lt;br /&gt;
    &#039;content&#039; =&amp;gt; t(&#039;content&#039;),&lt;br /&gt;
    &#039;header&#039; =&amp;gt; t(&#039;header&#039;),&lt;br /&gt;
    &#039;footer&#039; =&amp;gt; t(&#039;footer&#039;),&lt;br /&gt;
    &#039;floater&#039; =&amp;gt; t(&#039;floater&#039;),&lt;br /&gt;
    &#039;just_after_content&#039; =&amp;gt; t(&#039;Justo depués del contenido&#039;),&lt;br /&gt;
  );&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;/p&gt;
&lt;p&gt;y el Drupal 6 se pone en el &lt;a href=&quot;http://drupal.org/node/171224&quot;&gt;.info de tu theme&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&amp;lt;?php&lt;br /&gt;
regions[sidebar_right] = Right sidebar&lt;br /&gt;
regions[sidebar_left] = Left sidebar&lt;br /&gt;
regions[sidebar_right_sec] = Secondary right sidebar&lt;br /&gt;
regions[pre_content] = Before content&lt;br /&gt;
regions[content] = Content&lt;br /&gt;
regions[featured] = Featured&lt;br /&gt;
regions[content_bottom] = Bottom content&lt;br /&gt;
regions[header] = Header&lt;br /&gt;
regions[footer_region] = Footer&lt;br /&gt;
regions[just_after_content] = Justo después del contenido&lt;br /&gt;
?&amp;gt;&lt;/p&gt;
&lt;p&gt;Una vez definida la región abrimos node.tpl.php y ponemos al final:&lt;/p&gt;
&lt;p&gt;&amp;lt;?php&lt;br /&gt;
print theme(&#039;blocks&#039;,&#039;just_after_content&#039;);&lt;br /&gt;
?&amp;gt;&lt;/p&gt;
&lt;p&gt;O para ser más limpios ponerlo en una función de preprocess (actualizado)&lt;br /&gt;
&amp;lt;?php&lt;br /&gt;
function themeName_preprocess_node(&amp;amp;$vars, $hook) {&lt;br /&gt;
  $vars[&#039;just_after_content&#039;] = theme(&#039;blocks&#039;,&#039;just_after_content&#039;);&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;/p&gt;
&lt;p&gt;y sólo queda asignar el bloque a la región &quot;just_after_content&quot; desde la página de administración de bloques (/admin/build/block). Por cierto, en mi blog ahora mismo no me va con el block cache activado, tendré que mirarmelo mejor. Si has hecho todo esto y no te sale la región que has definido intenta limpiando la cache (admin/settings/performance)&lt;/p&gt;
</description>
 <comments>http://carlos.rinconsanchez.com/como-poner-un-bloque-entre-el-contenido-y-sus-comentarios#comments</comments>
 <category domain="http://carlos.rinconsanchez.com/category/temas/bloques">bloques</category>
 <category domain="http://carlos.rinconsanchez.com/category/temas/comentarios">comentarios</category>
 <category domain="http://carlos.rinconsanchez.com/category/temas/contenido">contenido</category>
 <category domain="http://carlos.rinconsanchez.com/category/temas/drupal">drupal</category>
 <category domain="http://carlos.rinconsanchez.com/category/temas/howto">howto</category>
 <pubDate>Sat, 28 Jun 2008 15:28:06 +0000</pubDate>
 <dc:creator>Carlos</dc:creator>
 <guid isPermaLink="false">77 at http://carlos.rinconsanchez.com</guid>
</item>
<item>
 <title>Cómo hacer que Drupal 6 te envíe un mail cuando alguien te deja un comentario</title>
 <link>http://carlos.rinconsanchez.com/como-hacer-que-drupal-6-te-envie-un-mail-cuando-alguien-te-deja-un-comentario</link>
 <description>&lt;p&gt;Cuando uno empieza un blog es muy importante que la gente vea que está vivo y que hay alguien detrás que contesta y algo de eso se puede conseguir si conseguimos responder los comentarios rápidamente.&lt;/p&gt;
&lt;p&gt;Para no tener que estar mirando constantemente el blog lo ideal es que cuando alguien envía un comentario Drupal te mande un email. No es muy complicado, para conseguirlo hemos de seguir los siquientes pasos:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;h3&gt;Activar el módulo trigger&lt;/h3&gt;
&lt;p&gt;Vamos a Administer -&gt; Módulos (admin/build/modules) y activamos el módulo trigger (está en core optional)
&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;h3&gt;Crear una nueva acción:&lt;/h3&gt;
&lt;p&gt; Vamos a Administer -&gt; Actions (admin/settings/actions). Allí vamos a &quot;Make a new advanced action available&quot; y seleccionamos &quot;Enviar un correo-e&quot; o algo similar en inglés. Ponemos una descripción, un recipient (destinatario) en que hay que poner %author, un asunto (por ejemplo &quot;Nuevo comentario&quot;) y finalmente un mensaje en el que yo he puesto &quot;Nuevo comentario en %node_url&quot; pero puedes usar más variables (%site_name, %username, %node_url, %node_type, %title, %teaser, %body)&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;
&lt;h3&gt;Crear un Trigger&lt;/h3&gt;
&lt;p&gt;Vamos a Administer -&gt; Triggers -&gt; Comentarios (admin/build/trigger/comment). Allí en &quot;Trigger: Después de guardar un comentario nuevo&quot; seleccionamos &quot;system -&gt; enviar un correo-e&quot;.&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Y con estos 3 pasos ya podremos enterarnos rápidamente de comentarios nuevos en nuestro blog. Ahora sólo falta mirar el mail asiduamente.&lt;/p&gt;
</description>
 <comments>http://carlos.rinconsanchez.com/como-hacer-que-drupal-6-te-envie-un-mail-cuando-alguien-te-deja-un-comentario#comments</comments>
 <category domain="http://carlos.rinconsanchez.com/category/temas/actions">actions</category>
 <category domain="http://carlos.rinconsanchez.com/category/temas/comentarios">comentarios</category>
 <category domain="http://carlos.rinconsanchez.com/category/temas/drupal">drupal</category>
 <category domain="http://carlos.rinconsanchez.com/category/temas/drupal-6">drupal 6</category>
 <category domain="http://carlos.rinconsanchez.com/category/temas/triggers">triggers</category>
 <pubDate>Wed, 30 Apr 2008 08:16:26 +0000</pubDate>
 <dc:creator>Carlos</dc:creator>
 <guid isPermaLink="false">40 at http://carlos.rinconsanchez.com</guid>
</item>
<item>
 <title>Como modificar Drupal para tener avatares en los comentarios</title>
 <link>http://carlos.rinconsanchez.com/como-modificar-drupal-para-tener-avatares-en-los-comentarios</link>
 <description>&lt;p&gt;Por defecto en Drupal no se ven las fotos de los usuarios registrados en los comentarios. Pero es una modificación muy fácil que se puede realizar en dos minutos.&lt;/p&gt;
&lt;p&gt;Primero vamos a &lt;strong&gt;Administrar -&amp;gt; Opciones de Usuario&lt;/strong&gt; (admin/user/settings) y abajo de esa página activamos las imágenes de usuarios. Ahora los usuarios registrados ya pueden subir su avatar pero todavía no se verán en los comentarios. Para eso hemos de ir a &lt;strong&gt;Administrar -&amp;gt; Temas -&amp;gt; Configurar&lt;/strong&gt; (admin/build/themes/settings) y en cambiar la visualización hemos de activar &quot;Imágenes de los usuarios en los comentarios&quot;. Si también queremos que salga nuestra foto en los post activamos también &quot;Imágenes de los usuarios en los envíos&quot;.&lt;/p&gt;
&lt;p&gt;Lo que no hace por defecto Drupal es que el enlace de los usuarios registrados sea su web sino que pone el enlace a la ficha del usuario en nuestra web en Drupal. Y como queremos que la gente se registre y esto podría ser un motivo para no hacerlo lo tenemos que solucionar.&lt;/p&gt;
&lt;p&gt;Primero hemos de conseguir que un usuario pueda añadir su web en su perfil. Activamos el módulo profile y luego vamos a Administrar -&amp;gt; Profiles (admin/user/profile) y añadimos un campo url. Ahora sólo falta que se muestre esa url en el enlace del comentario.&lt;/p&gt;
&lt;p&gt;Para conseguir eso hemos de modificar la función que genera ese html pero hay que saber cómo se llama. Un método sería buscar en &lt;a href=&quot;http://api.drupal.org&quot;&gt;la API de Drupal&lt;/a&gt; algo relacionado con user o comment pero salen muchos resultados y hay un método mejor: el &lt;a href=&quot;http://drupal.org/project/devel&quot;&gt;módulo devel&lt;/a&gt;. Lo subimos a nuestro Drupal y activamos &lt;strong&gt;devel&lt;/strong&gt; y  &lt;strong&gt;Theme developer&lt;/strong&gt;. Una vez hecho esto nos saldrá abajo a la izquierda un checkbox que hemos de activar cuando estemos en la página que contiene el elemento que queremos modificar. Activamos el &quot;Themer info&quot; y hacemos click sobre el elemento a modificar (en este caso el nombre de usuario con el enlace en los comentarios). Nos saldrá una bonita ventana con el nombre de la función a reescribir y sus padres. Si hacemos click en la función nos llevará a la api de Drupal, allí copiamos la función y la pegamos en nuestro template.php del tema que estemos usando. Como yo ya lo he hecho vosotros con copiar la función al final del template.php será suficiente.&lt;/p&gt;
&lt;p&gt;En este caso la función se llama &lt;strong&gt;theme_username&lt;/strong&gt; pero para poderla reescribir la hemos de llamar &lt;strong&gt;phptemplate_username&lt;/strong&gt;. La función modificada quedaría así:&lt;/p&gt;
&lt;p&gt;&amp;lt;?php&lt;br /&gt;
function phptemplate_username($object) {&lt;br /&gt;
  global $user;&lt;/p&gt;
&lt;p&gt;  if ($object-&amp;gt;uid &amp;amp;&amp;amp; $object-&amp;gt;name) {&lt;br /&gt;
    // Shorten the name when it is too long or it will break many tables.&lt;br /&gt;
    if (drupal_strlen($object-&amp;gt;name) &amp;gt; 20) {&lt;br /&gt;
      $name = drupal_substr($object-&amp;gt;name, 0, 15) .&#039;...&#039;;&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
      $name = $object-&amp;gt;name;&lt;br /&gt;
    }&lt;/p&gt;
&lt;p&gt;    profile_load_profile($object);&lt;/p&gt;
&lt;p&gt;    if($object-&amp;gt;profile_web != &#039;&#039;) {&lt;br /&gt;
	$output = l($name, $object-&amp;gt;profile_web , array(&#039;attributes&#039; =&amp;gt; array(&#039;title&#039; =&amp;gt; t(&#039;Go to user web page.&#039;), &#039;absolute&#039; =&amp;gt; TRUE)));&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
	if (user_access(&#039;access user profiles&#039;)) {&lt;br /&gt;
	$output = l($name, &#039;user/&#039;. $object-&amp;gt;uid, array(&#039;attributes&#039; =&amp;gt; array(&#039;title&#039; =&amp;gt; t(&#039;View user profile.&#039;))));&lt;br /&gt;
	}&lt;br /&gt;
	else {&lt;br /&gt;
	$output = check_plain($name);&lt;br /&gt;
	}&lt;br /&gt;
    }&lt;br /&gt;
  }&lt;br /&gt;
  else if ($object-&amp;gt;name) {&lt;br /&gt;
    // Sometimes modules display content composed by people who are&lt;br /&gt;
    // not registered members of the site (e.g. mailing list or news&lt;br /&gt;
    // aggregator modules). This clause enables modules to display&lt;br /&gt;
    // the true author of the content.&lt;br /&gt;
    if (!empty($object-&amp;gt;homepage)) {&lt;br /&gt;
      $output = l($object-&amp;gt;name, $object-&amp;gt;homepage);&lt;br /&gt;
    }&lt;br /&gt;
    else {&lt;br /&gt;
      $output = check_plain($object-&amp;gt;name);&lt;br /&gt;
    }&lt;/p&gt;
&lt;p&gt;    $output .= &#039; (&#039;. t(&#039;not verified&#039;) .&#039;)&#039;;&lt;br /&gt;
  }&lt;br /&gt;
  else {&lt;br /&gt;
    $output = variable_get(&#039;anonymous&#039;, t(&#039;Anonymous&#039;));&lt;br /&gt;
  }&lt;/p&gt;
&lt;p&gt;  return $output;&lt;br /&gt;
}&lt;br /&gt;
?&amp;gt;&lt;/p&gt;
&lt;p&gt;Además de ponerle su web a los usuarios registrados he quitado el nofollow que tan poco sentido tenía de los usuarios no registrados. Yo llamé a la variable de la web de usuario &quot;web&quot; por lo que se guardó como  &quot;profile_web&quot; pero cada uno la puede llamar como quiera mientras también la cambie en esta función.&lt;/p&gt;
</description>
 <comments>http://carlos.rinconsanchez.com/como-modificar-drupal-para-tener-avatares-en-los-comentarios#comments</comments>
 <category domain="http://carlos.rinconsanchez.com/category/temas/avatares">avatares</category>
 <category domain="http://carlos.rinconsanchez.com/category/temas/comentarios">comentarios</category>
 <category domain="http://carlos.rinconsanchez.com/category/temas/devel">devel</category>
 <category domain="http://carlos.rinconsanchez.com/category/temas/drupal">drupal</category>
 <category domain="http://carlos.rinconsanchez.com/category/temas/fotos">fotos</category>
 <category domain="http://carlos.rinconsanchez.com/category/temas/modulo">modulo</category>
 <pubDate>Thu, 17 Apr 2008 07:21:53 +0000</pubDate>
 <dc:creator>Carlos</dc:creator>
 <guid isPermaLink="false">24 at http://carlos.rinconsanchez.com</guid>
</item>
</channel>
</rss>
