Buon giorno a tutti, spero che sia la sezione corretta.
Premetto che ho cercato nel forum, su internet ma non ne vengo a capo.
Il mio problema è semplice, quando inserisco un contenuto di tipo blog all'interno del mio sito, in fondo alla pagina vedo i tags ( taxonomy ) che ho inserito solo che non sono in formato elenco ma bensì dei div.
ossia ho questa struttura:
<div class="field field-name-field-tags field-type-taxonomy-term-reference field-label-inline clearfix">
<div class="field-label">Tags: </div>
<div class="field-items">
<div class="field-item even"><a href="/tags/drupal" typeof="skos:Concept" property="rdfs:label skos:prefLabel">drupal</a></div>
<div class="field-item odd"><a href="/tags/installazione" typeof="skos:Concept" property="rdfs:label skos:prefLabel">installazione</a>
</div>
</div>
</div>
</div>
io vorrei trasformare questa struttura con l'uso delle liste.
Qualcuno mi saprebbe indicare qualche api di drupal o qualche funzione che faccia quanto sopra.
Attualmente utilizzo drupal 7.
Spero di essermi spiegato nel migliore dei modi.
Grazie in anticipo
Alessandro
http://api.drupal.org/api/drupal/modules--taxonomy--taxonomy.module/func...
http://api.drupal.org/api/drupal/modules--taxonomy--taxonomy.module/7
http://www.chromeos.eu
scusa, ma non riesco a capire come utilizzare i link che mi hai fornito.
Migliorare se stessi è il principale obbiettivo della nostra vita
così: http://drupal.org/node/128085
<?php
$taxmenu = "SELECT tid, name FROM {term_data} WHERE vid = (numero tid)";
$result = db_query($taxmenu);
while ($data = db_fetch_object($result)) {
$output .= '<li><a href="'.$base_path.'/taxonomy/term/'.urlencode($data->tid).'">'.$data->name.'</a></li>';
}
print $output;
?>
fonte: http://drupal.org/node/2498
http://www.chromeos.eu
scusa , ma io proprio non ne vengo a capo..
io in fondo al blog post ho la lista dei tag e vorrei fare il cambio da div a ul li, come posso fare ? con i tuoi suggerimenti proprio non capisco come fare..
grazie anticipatamente
alessandro
Migliorare se stessi è il principale obbiettivo della nostra vita
oky, se altri sono interessati la funzione da inserire nel template.php per modificare la visualizzazione da div a ul o ancora, modificare alcuni elementi è:
function thema_field($variables) {
..
..
}
naturalmente al posto di thema mettere il nome del vostro template.
in origine presente nel file modules/field/field.module.
spero possa servire
alessandro
Migliorare se stessi è il principale obbiettivo della nostra vita
questa è la mia funzione modificata che ho inserito nel mio template.php
function minimal_field($variables) {
$output = '';
if ( strpos($variables['element']['#field_type'], "taxonomy_term_reference" ) === false ) {
// Render the label, if it's not hidden.
if (!$variables['label_hidden']) {
$output .= '<div class="field-label"' . $variables['title_attributes'] . '>' . $variables['label'] . ': </div>';
}
// Render the items.
$output .= '<div class="field-items"' . $variables['content_attributes'] . '>';
foreach ($variables['items'] as $delta => $item) {
$classes = 'field-item ' . ($delta % 2 ? 'odd' : 'even');
$output .= '<div class="' . $classes . '"' . $variables['item_attributes'][$delta] . '>' . drupal_render($item) . '</div>';
}
$output .= '</div>';
// Render the top-level DIV.
$output = '<div class="' . $variables['classes'] . '"' . $variables['attributes'] . '>' . $output . '</div>';
} else {
// Render title items in tags case show images
if (!$variables['label_hidden']) {
//$output .= '<div class="field-label"' . $variables['title_attributes'] . '>' . $variables['label'] . ': </div>';
$output .= '<div class="tags_img"><img src="' . drupal_get_path('theme', '$path_theme') . '/images/tags.png' . '" alt="Tags" title="Tags"></div>';
}
// Render the items.
$output .= '<ul class="tag-items">';
$cont = 1;
$maxCont = count($variables['items']);
foreach ($variables['items'] as $delta => $item) {
if ( $cont == 1 )
$classes = 'first';
else if ( $cont == $maxCont )
$classes = 'last';
else
$classes = 'middle';
$output .= '<li class="tag-item ' . $classes . '">' . drupal_render($item) . '</li>';
$cont++;
}
$output .= '</ul>';
// Render the top-level DIV.
$output = '<div class="blog-tags">' . $output . '</div>';
}
return $output;
}
premetto che non so quanto sia corretta ed in caso vi chiedo come voi la avreste modificata.. ma in sostanza faccio:
1. controllo se il field da editare è di tipo taxonomy_term_reference ( qui non so se si riesce a fare un check maggiore e prendere solo il vocabolario di interesse .. per il momento a me basta questo ) .
2. Al posto del label per il titolo ho inserito un immagine
3. Ho fatto in modo che per ogni elemento dei tag si prenda una classe first, middle, last in modo poi che tramite css si possa modificarlo a piacere.
Questo è quanto, se avete suggerimenti vi ringrazio.
Alessandro
Migliorare se stessi è il principale obbiettivo della nostra vita