Reageer op reactie

Hoe kunt u een andere formatter aan een cck veld toevoegen? Een cck formatter is in principe een thematiseringsfunctie waar de waarde van het veld is doorgevoerd. Formatters zijn beschikbaar op "admin/content/node-type/[your node type]/display" in de cck interface.

Het vorige screenshot laat u de build modes van een node blog zien. Hier kunt u veranderen welke formatter gebruikt wordt voor welke build mode. U kunt bijvoorbeeld de afbeelding door een andere formatter laten lopen in de full node dan in de teaser. Dit screenshot is zonder de display suite. Als het mogelijk is zou u de display suite moeten gebruiken. Het zal uw thematiserings leven makkelijker maken. U zult tevens in staat zijn om custom build modes te bepalen. Dan ziet het er zo uit.

Om een andere formatter aan de node displays toe te voegen implementeert u een hook thema. In ons voorbeeld willen we een formatter gebruiken voor onze titel. De formatter zal de h3 tag gebruiken om onze titel te renderen.

<?php

/**
 * Implementation of hook_theme().
 */
function your_module_theme() {
  
$theme_functions = array();

  
// Formatter theming functions.
  
$formatters = array(
    
'your_module_title_h3',
  );

  foreach (
$formatters as $formatter) {
    
$theme_functions[$formatter] = array(
      
'arguments' => array('field' => NULL),
    );
  }
 
  return 
$theme_functions;
}

?>

Then you define your theme function

<?php

function theme_your_module_title_h3($field) {

  return 
'<h3>'.$field['object']->title.'</h3>';

}

?>

En in de laatste stap maakt u deze formatter zichbaar voor cck door middel van hook_field_formatter_info()

<?php

/**
 * Implementation of hook_field_formatter_info(),.
 */
function your_module_field_formatter_info() {
    return array(
    
'your_module_title_h3' => array(
      
'label' => t('Renders text tru a h3 tag'),
      
'field types' => array('text'),
      
'multiple values' => CONTENT_HANDLE_MODULE,
    ),
  );
}

?>

Tenslotte wanneer u dit niet allemaal in code wilt doen (wat u waarschijnlijk zou moeten omdat het gemakkelijker te controleren is) is er een gemakkelijke module genaamd custom formatters

Reageren

De inhoud van dit veld is privé en zal niet openbaar worden gemaakt.
  • Toegelaten HTML-tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd><img><p><b><i><table><th><tr><td><blockquote><br /><img /><tbody><span><strike>
  • Regels en paragrafen worden automatisch gesplitst.
  • You can enable syntax highlighting of source code with the following tags: <codes>, <blockcode>, <c>, <cpp>, <drupal5>, <drupal6>, <java>, <javascript>, <php>, <python>, <ruby>. The supported tag styles are: <foo>, [foo].
  • Adressen van webpagina's en e-mailadressen worden automatisch naar links omgezet.

Meer informatie over formaatmogelijkheden

Type the characters you see in this picture. (verify using audio)
Type the characters you see in the picture above; if you can't read them, submit the form and a new image will be generated. Not case sensitive.