Joan Martinez Serres

La millor forma d'empotrar un o més Views dins a un node

Per un projecte, he tingut la necessitat de mostrar llistats generats amb Views dins a un tipus de contingut. Amés, vull que els administradors del lloc web ho puguin fer d'una manera més o menys senzilla i no tinguin que fer crides Php que mai recorden com funcionen.

Així que tot cercant per la xarxa m'he trobat el mòdul Viewfield que com s'adivina amb el seu nom, permet seleccionar d'un llistat tans Views (dels que ja tenim creats) dins un camp CCK.

Per el moment només hi ha una verssió "dev" pero amb Drupal 7 de moment va de perles.

Filed under  //   cck   d7   druapl   views  
Posted May 8, 2012

Forward field a views

Bé, hi ha un modulet a Drupal que permet presentar als nodes un enllaç per que els usuaris puguin enviar un node per correu electrònic i així compartir la informació amb els seus coneguts.

El modulet esta prou bé però la integració amb Views (per a mi) deixa un xix a desitjar.

La cosa és que a un web tenia la necessitat de mostrar el botonet d'aquest mòdul com un camp CCK per que a la vista d'un tipus de contingut es pugui enviar directament per correu.

Clar que molts pensareu, com jo, que aquest tipus de "features" com les de postejar un node a Twitter o fer un "like" de facebook per lògica haurien d'estar només a la vista complerta d'un node. No te sentit que enviïs o comparteixis una informació que no has llegit, però bé, qui paga mana i si mana això donc ho faig ;)

Així que no tenia idea cóm poder-ho fer i la comunitat de Drupal.com m'ha tornat a sorprendre per la rapidesa i efectivitat de la resposta.

En resum es pot fer de dues formes i les teniu ben documentades aquí: http://drupal.org/node/1478638#comment-5724606 però la que necessitava ve a ser:

  1. A nostre Views creem un nou camp a mostrar del tipus Node ID.
  2. Aquest el configurem per tal de que reescrigui la sortida amb Rewrite i li especifiquem:

<a href="forward?path=node/[nid]">Enviar pàgina per correu electrònic</p>

o més mono

<div id="send-by-mail">

<a class="forward-page" title="Forward this page to a friend" href="forward?path=node/[nid]">
<img class="forward-icon forward-icon-margin" title="
Enviar per correu electrònic" alt="Enviar per correu electrònic" src="http://triviumgc.com/dev/sites/all/modules/forward/forward.gif" typeof="foaf:Image">Enviar per correu electrònic</a>

</div>

 

Filed under  //   cck   forward   views  

Manual per afegir canvi de colo al nostre Theme (Drupal 6)

Aqui s'explica com afegir la funcionalitat que permet canviar al nostre gust alguns colors del nostre Theme. Si voleu que el them que heu creat (o un que esteu "tunejant") es pugui modificar el color en algunes regions només teniu que seguir aquest enllaç:

http://sachachua.com/blog/2012/02/drupal-6-adding-color-support-theme/

Filed under  //   6   Drupal   color  

Actualitzat linuxbcn.com a Drupal 7.12

Doncs si, ara que tenim migrat linuxbcn.com a la darrera versió 7.x de Drupal avui he actualitzat a la 7.12.

Encara que m'agrada estar a la darrera versió del núcli i de tots els mòduls, per odvietats en seguretat, a vegades fa mandra. Però avui he actualitzat un parell de mòduls i, clash!! un molest error amb el sub-mòdul menu del projecte i18n m'ha fet decidir a actualitzar ;)

Aquesta nova verssió corregeix un bon número de problemets. Podeu veure el llistat complert a http://drupal.org/node/1425104

De moment no hi he tingut cap problema i s'ha corregit l'error que m'ha "obligat" a actualitzar

Filed under  //   actualització   drupal  

llistar termes d'una taxonomia amb la funció taxonomy_node_get_terms

<?php

if (arg(0) == 'node' && is_numeric(arg(1)) && !arg(2)) {

  $node = node_load(arg(1));

  foreach ($node->taxonomy as $vid => $term) {

  $vn = taxonomy_vocabulary_load($term->vid);

  $t[$vn->name][$term->tid]['name'] = $term->name;

}

  $output = '';

  foreach ($t as $key => $value){

  $output .= '<fieldset class="fieldgroup collapsible"><legend>'.$key.'</legend>';

  foreach($value as $b => $a){

  $output .= '<div class="field-item odd">';

  $output .= l($a['name'], 'taxonomy/term/' . $b) . ' ';

  $output .= '</div>';

}

  $output .= '</fieldset>';

}

  print $output;

}

?>

 

 

La ide que tenia era aprofitar aquesta funció per fer que Drupal cridés a una icona segóns la taxonomia.

Així que amb l'ajud del bon amic Carlos d'Interdixit hem aconseguit l'objectiu:

 

<img src="/dev/sites/all/themes/omega/css/img/premsa_ikon<?php

if (arg(0) == 'node' && is_numeric(arg(1)) && !arg(2)) {

  $node = node_load(arg(1));

  foreach ($node->taxonomy as $vid => $term) {

  $vn = taxonomy_vocabulary_load($term->vid);

  $t[$vn->name][$term->tid]['name'] = $term->name;

}

$output = '';

  foreach ($t as $key => $value){

  foreach($value as $b => $a){

  $output .= $a['name'];

}

}  print $output;

}

?>.png">

 

Font: http://api.drupal.org/api/drupal/modules--taxonomy--taxonomy.module/function/...

Filed under  //   drupal   snippet   taxonomy   terms  

Addthis custom button ;(

La única referència que trobo del mòdul AddThis en quan a la personalització del botó Twitter i qualsevol altre és:

 CUSTOMIZATION

You have a number of options available at Administer / Site configuration / Addthis under Button image settings
and Widget settings. Image settings control the button image and widget controls the drop down and window that is opened when user clicks on a link sharing service. More information on how to customize your AddThis button can be found at http://addthis.com/help/customize/custom-button/

If configuration options are not flexible enough for you it is also possible to override theme_addthis_button in your own theme.

 

Quin merder!

Al final m'ho estic muntant solet a mà, llegint l'api de Twiter i així podem obtenir un codi semblant a:

 

<code>

 

<!-- Addthis theming -->

<div id="a9b-tweet-button">

 

<style type="text/css" media="screen">

  #custom-tweet-button a {

    display: block;

    padding: 2px 5px 2px 20px;

    background: url('http://a4.twimg.com/images/favicon.ico') 1px center no-repeat;

    border: 1px solid #ccc;

  }

</style>

 

<div id="a9b-tweet-button">

 

</div>

 

</div>

<!-- //Addthis theming -->

 

</code>

Ara a per el de FB ;(

 

Filed under  //   addthis   botó   drupal   facebook   theme   twitter  

Theming i moure elements del peu dels nodes; o cóm crear i modificar variables de funcions

En la meva lluitant per canviar l'aparença de les icones del mòdul Addthis m'he topat amb un interesant artícle que fa una explicació clara i senzilla per extreure la informació d'Addthis del peu del node a un altre zona. Així de pas controleu un xic les funcions de drupal i crear variables ;)

http://www.webenstock.com/es/blog/2011-07-23-theming-mover-enlaces-addthis-ar...

I un xic el mateix però en anglès, http://snorkers.blogspot.com/2010/05/theming-drupal-node-links.html

Filed under  //   drupal   funcio   php   theming   variables  

Theme override for Upload.module’s attachments list

Interesant post per tunejar els fitxers adjunts a Drupal. Ho hauré de posar en pràctica aviat per un web que estic desenvolupant, ja explicaré com va la experiència.

http://www.island94.org/2008/08/drupal-theme-override-for-upload-modules-atta...

També tenim el mòdul itweak_upload que fa tot això per nosaltres ;) http://drupal.org/project/itweak_upload

Filed under  //   drupal   theme   upload  

Posant ombra amb CSS

Les funcionalitats de CSS3 cada dia sorprenen més i.. funcionen!

http://css.flepstudio.org/en/css3/box-shadow.html

Filed under  //   css   shadow  

Visualitzar un block només a un tipus de contingut

Not sure if I'm being too reckless, but this seems to be working fine for me, and it certainly looks more efficient in my eyes:

<?php
  $node = node_load(arg(1));
  $type = $node->type;
  return in_array($type,array('my_content_type'));
?>

My PHP coding background is certainly more developed than my Drupal background, so please let me know if I'm doing something I shouldn't be doing!

 

Més exemples i explicacions a: http://drupal.org/node/134425

 

Filed under  //   block   content type   drupal   php   tipus de contingut   visiibilitat